본문 바로가기

컴퓨터공학/데이터베이스7

트랜잭션 목표1.트랜잭션의 개요2.트랜잭션의 특성(ACID)2.동시성 제어3.회복 트랜잭션 개요항공기 예약, 은행, 신용카드 처리 등에서는 대규모 데이터베이스를 수백, 수천명 이상의 사용자들이 동시에 접근한다. 많은 사용자들이 동시에 서로 다른 부분 또는 동일한 부분을 접근하면서 데이터베이스를 사용하는 것이다. 동시성 제어란 동시에 수행되는 트랜잭션들이 데이터베이스에 미치는 영향은, 이들이 순차적으로 수행되었을때의 영향과 같도록 보장하는것을 말한다. 다수 사용자가 데이터베이스를 동시에 접근해서 사용하더라도 데이터베이스의 일관성을 유지하는 것이다. 회복이란 데이터베이스를 갱신하는 도중에, 시스템이 고장나도 데이터베이스의 일관성을 유지하는것을 말한다. 데이터베이스 시스템에서 볼 수 있는 몇 가지 트랜잭션의 예를 보자.. 2018. 10. 31.
뷰(VIEW) 목표1.뷰에 대해서 알아본다. 뷰(View)관계 데이터베이스에서 뷰는 일종의 가상 릴레이션을 의미한다. 뷰는 기존의 기본 릴레이션에 대한 SELECT문의 형태로 정의된다.사용자는 여러 개의 릴레이션과 뷰를 사용할 수 있으며, 릴레이션으로부터 데이터를 검색하거나 갱신할 수 있는 동적인 창의 역할을 한다.스냅샷이란 어느 시점의 SELECT문의 결과를 기본 릴레이션의 형태로 저장해놓은 것이다. 어떤 시점의 조직체의 현황, 예를 들어 몇년, 몇월 시점에 근무하던 사원들의 정보, 재고 정보 등이 스냅샷으로 정의될 수 있음. 또한 뷰는 뷰와 다른 기본 릴레이션의 조합으로도 만들어질 수 있다. 뷰를 만드는 예시를 보자. 이렇게 뷰를 정의해놓고, 뷰에 대해서 질의를 날렸을때 DBMS는 어떻게 처리를 할까?먼저 시스템 .. 2018. 10. 31.
데이터베이스 정규화 목표1.정규화의 개요2.함수적 종속성3.릴레이션 분해4.제 1정규형, 제 2정규형, 제 3정규형, BCNF 정규화(Normalization)부주의한 데이터베이스 설계로 제어할 수 없는 데이터 중복을 야기하여 여러가지 갱신이상을 유발한다. 데이터베이스 정규화를 통해 주어진 릴레이션 스키마를 함수적 종속성과 기본 키를 기반으로 분석하여, 원래의 릴레이션으로 분해함으로써 중복과 세 가지 갱신이상을 최소화 하는것이다. 그렇다면 좋은 데이터베이스란 무엇일까? 정보의 중복과 갱신 이상이 생기지 않고, 정보의 손실을 막으며, 실 세계를 훌륭히 표현했으며, 애트리뷰트들 간의 관계가 잘 표현되는것을 보장하며 어떤 무결성 제약 조건의 시행을 간단하게 하여 효율성까지 고려하는것을 말한다. 갱신이상(Update anomaly.. 2018. 10. 30.
데이터베이스의 인덱스 목표1.단일 단계 인덱스에 대해 알아본다.2.다단계 인덱스에 대해 알아본다. 3.인덱스 선정 지침과 데이터베이스 튜닝에 대해 알아본다. 단일 단계 인덱스 만일 데이터베이스 접근을 오직 순차적으로만 한다면 인덱스는 필요하지 않을것이다. 인덱스된 순차 파일은 인덱스를 통해 임의의 레코드를 접근할 수 있는 파일이다. 단일 단계 인덱스의 각 엔트리는 로 구성된다. 따라서 인덱스를 잘 활용하면 쿼리의 응답시간이 빨라진다.엔트리들은 탐색 키 값의 오름차순으로 정렬된 상태이다.인덱스는 기본적으로 데이터 파일으 10% 내외의 크기를 가지므로 순차탐색시 훨씬 빠르게 찾을 수 있으며 정렬되어 있으므로 이진 탐색을 이용할 수 있다. 인덱스는 데이터 파일과는 별도로 다른 파일에 저장된다.(당연히 크기는 데이터 파일에 비해 훨.. 2018. 10. 28.
SQL 목표 1.SQL의 개요에 대해서 알아본다.2.DDL을 살펴보고 무결성 제약조건을 이해한다.3.DML의 여러 조건과 예시를 살펴본다.4.트리거(Trigger)와 주장(Assertioin)에 대해서 이해한다. SQL의 개요 SQL(Structed Query Language)은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 중요한 요인중 하나이다. 다양한 상용 DBMS마다 지원하는 SQL은 다소 차이가 있으며 여기서 다루는SQL은 SQL2를 따른다.SQL은 비절차적 언어(선언적)으로 사용자는 자신이 원하는 바(what)만 명시하며, 원하는 것을 처리하는 방법(How)는 명시할 수 없다. 대화식SQL과 내포된SQL이 있는데 대화식 SQL을 다룬다. DDL과 무결성 제약조건 *스키마를 생성과 제.. 2018. 10. 28.
관계 데이터 모델과 제약조건 목표 1. 관계 데이터 모델에 대해 알아본다.2.릴레이션(테이블)의 특성과 키에 대해 알아본다.3.무결성 제약 조건에 대해 알아본다. 관계 데이터 모델 관계 데이터 모델은 현재까지 제안된 데이터 모델 중 가장 단순한 개념의 모델이며 가장 널리 쓰이고 있다. 바탕이 되는 데이터 구조로서 간단한 테이블을 사용하고 중첩된 구조가 없다. 숙련되지 않은 사용자도 쉽게 접근할 수 있으며 관계 데이터베이스 설계와 효율적인 질의 처리 면에서 장점을 가지기 때문이다. 조금 더 살펴보자.-동일한 구조(테이블) 관점에서 모든 데이터를 논리적으로 구성한다.-선언적 질의를 통해 데이터에 접근한다.-응용 프로그램과 데이터베이스 내의 레코드의 순서는 무관하다. -사용자는 원하는 데이터(what)만 명시하고 어떻게 찾을 것인가(ho.. 2018. 10. 27.
데이터베이스 시스템 개요 목표 1.데이터베이스 시스템에 대해 알아본다.2.파일시스템과 비교하여 DBMS의 장점을 알아본다.3.DBMS의 발전 과정을 알아본다. 4.DBMS 언어에 대해 알아본다. 데이터베이스 시스템 개요 데이터베이스 스키마란 전체적인 데이터베이스 구조를 뜻하며 자주 변경되지 않는다. 데이터베이스의 모든 상태를 미리 정의하며 내포(intension)이라고 부른다.반면 데이터베이스 상태란 특정 시점의 데이터베이스 내용을 뜻하며 시간에 다라 달라진다. 외연(extension)이라고 부른다. 시스템 카탈로그는 저장된 데이터베이스 스키마 정보를 유지하는 역할을 한다. DBMS란 사용자가 새로운 데이터베이스를 생성하고 데이터베이스 구조를 명시하고 데이터를 효율적으로 질의하고 수정할 수 있으며, 시스템의 고장이나 권한이 없는.. 2018. 10. 27.