논리적 데이터베이스 설계

2020. 6. 21. 01:20basic/Database

1. 키 제약조건

  1-1. 튜플의 유일성 : 릴레이션은 집합이기 때문에 모든 릴레이션에 있는 튜플들은 유일(서로 달라야함)

  1-2. 키(key)란 모든 튜플을 유일하게 식별할 수 있는 최소한의 애트리뷰트의 집합 (유일성, 최소성)

 

2. 키의 종류

  2-1. 후보키(Candidate Key) : 튜플을 유일하게 식별할 수 있는 최소의 애트리뷰트 집합

  2-2. 기본키(Primary Key) : 후보키 중 하나, 데이터베이스 설계자가 선정

  2-3. 대체키(Alternate Key) : 후보키 중 기본키를 제외한 나머지 키

  * 후보키 = 기본키 + 대체키

  2-4. 슈퍼키(Super Key) : 후보키를 포함한 모든 애트리뷰트의 집합

  2-5. 복합키(Complex Key) : 두개 이상의 애트리뷰트가 합쳐져야 후보키 역할을 하는 경우

  2-6. 외래키(Foreign Key) : 릴레이션 R에 속한 어떤 애트리뷰트의 집합 FK가 있다고 하면,

   FK의 값은 반드시 어떤 릴레이션S의 기본키값이어야하며, 이 FK를 릴레이션 R의 외래키라고 함

   또한, Null 값을 가질 수 있음.

 

3. 무결성 제약조건

  3-1. 개체 무결성(Entity Integrity) : 릴레이션의 튜플을 유일하게 식별할 수 있어야 하며(기본키),

  기본키에 속해있는 애트리뷰트는 Null 값을 가질 수 없다.

  3-2. 참조 무결성(Reference Integrity) : 릴레이션은 참조할 수 없는 외래키 값을 가져서는 안된다(외래키)

  3-3. 도메인 무결성(Domain Integrity) : 해당 애트리뷰트의 값이 도메인 내에서 속한 값이어야 한다.

 

4. 개체관계의 관계모델 변환

  4-1. (개체) 개체는 그 자체로 하나의 릴레이션으로 변환됨

  이때 개체 이름은 릴레이션 이름으로 대응

  개체에 속한 각각의 속성을 릴레이션의 애트리뷰트로 대응

  4-2. 약개체의 경우 약개체는 기본키에 해당하는 속성(집합)이 없음

  약개체가 기준으로 하는 개체에서 필요한 속성을 빌려와야 함

  기준 개체의 기본키와 약개체의 대표 속성을 합치고, 이를 기본키로 하는 릴레이션을 만듦

 

5. 관계의 릴레이션 변환

  5-1. (관계, n:m 관계) 관계 역시 그 자체로 하나의 릴레이션으로 변환됨

  이때 양쪽의 기본키 두개를 각각 외래키로 만들고, 이 두키를 합쳐서 기본키로 하는 별도의 릴레이션을 생성함

  5-2. (관계, 1:n 관계) n쪽 개체 인스턴스 각각에 1쪽 연결정보를 표시

  5-3. (관계, 1:1 관계) 어느쪽이든 한쪽 기본키를 다른쪽의 외래키로 넣어서 릴레이션을 생성함

 

6. 속성의 관계모델 변환

  6-1. 키속성을 가진 개체의 릴레이셔 변환

  앞서 4-1에서 설명한바와 같음. 개체를 릴레이션으로 만들고, 속성을 기본키로 설정

  (개체 자체가 정보의 저장/관리 단위가 됨)

  6-2. 다중값 속성의 릴레이션 변환

  -> 다중값 속성이란 하나의 속성에 여러 개의 값이 들어간다는 의미.

  -> 하지만, 관계형 모델에서 하나의 속성은 하나의 원자값을 가져야 하므로 (도메인 무결성) 별도의 변환 방법이 필요하다.

  기본키와 다중값 속성을 합쳐서 복합속성을 만들고 이를 기본키로 하는 별도의 릴레이션 생성

  6-3. 복합 속성의 릴레이션 변환

  -> 하나의 속성이 여러 개의 세부속성으로 구성되어 있다는 의미.

  -> 하지만 관계형 모델에서 하나의 속성은 하나의 원자값 만을 가져야 되므로 별도의 변환 방법이 필요하다.

  복합속성을 합쳐서 하나의 애트리뷰트로 만들던지, 아니면 나누어서 여러개의 애트리뷰트로 만든다.

  6-4. 유도 속성의 릴레이션 변환

  유도 속성은 다른 속성에 의해 가공되어서 만들어진 값을 가지는 속성을 말한다.

  존재여부를 신중하게 고려할 필요가 있다.

  6-5. 관계에 속한 속성의 릴레이션 변환 (5-1~5-3를 참조)

  1:N의 경우) N쪽의 릴레이션에 외래키 형태로 나타남

  N:M의 경우) 해당 관계는 새로운 릴레이션으로 생성됨

  * 관계에 속한 속성은 그 관계가 표현된 릴레이션의 한 애트리뷰트로 변환

 

<출처>

1. 데이터베이스 시스템 6판, Ramez Elmasri , Shamkant B. Navathe 지음, 황규영, 홍의경, 음두헌 옮김, 홍릉과학출판사, 2011년 12월

2. 데이터베이스 시스템, 이석호 지음, 정익사, 2014년 8월

'basic > Database' 카테고리의 다른 글