1. ER-관계 사상 방법
가. 데이터베이스 설계 절차 리뷰
요구사항 수집 및 분석
개념적 설계 : ER 모델 (Entity-Relationship Model)
논리적 설계 : 관계 모델 (Relational Model)
물리적 설계
나. ER 모델 리뷰
엔티티/개체(Entity) - 개별적이고 독립적인 개체
엔티티 타입(Entity Type) - 엔티티의 범주
엔티티 집합(Entity Set) - 특정 엔티티 타입에 속하는 실제 개체들의 집합
애트리뷰트/속성(Attribute) - 엔티티가 가지는 특성이나 속성
애트리뷰트타입(Attribute Type) - 애트리뷰트의 특정 범주
다치 속성 (Multi-valued Attribute) - 리스트와 같이 한 속성에 여러 값을 가질 수 있는 속성
복합 속성 (Composite Attribute) - 하위 속성을 가지고 있는 속성
키 속성 (Key Attribute) - 각각의 엔티티들을 구별할 수 있게 해주는 속성
관계 (Relationship) - 엔티티와 엔티티를 연결지어주는 값
관계 타입 (Relationship Type) - 관계의 특정 범주
관계 집합 (Relationship Set)
관계의 카디낼러티(Cardinality) 제약 - 1:1, 1:N, N:M
관계의 참여(Participation) 제약 - 전체/의무(Total/Mandatory) 참여, 부분/선택(Partial/Optional) 참여
다. 관계 모델 리뷰
데이터베이스는 릴레이션들의 집합
릴레이션은 투플(행, 로우, 레코드, 인스턴스)들의 집합
투플은 속성들로 구성 t = <pk, v1, v2, ..., vn>
속성의 도메인, 속성 값은 원자값(Atomic value)
키의 종류 : 후보키, 주키, 대체키, 수퍼키, 외래키
릴레이션 스키마 R(pk, a1,.... an)
릴레이션 상태(/인스턴스) r(R)
관계 모델의 무결성 제약조건(IC; Integrity Constraints)
모든 릴레이션 인스턴스들이 항상 만족해야 하는 조건임.
도메인 제약조건(Domain constraints), 키 제약조건(Key constraints), 참조 제약조건(Referential constraints)
라. ER-관계 사상(ER-Relation Mapping)
1) 사상 규칙들
일반 엔티티타입 사상
약 엔티티타입 사상
다치 속성의 사상
복합 속성의 사상
2진 1:1 관계타입 사상
2진 1:N 관계타입 사상
2진 N:M 관계타입 사상
2) 일반/강한 엔티티(Regular/Strong Entity) 사상
엔티티타입은 테이블로 사상
엔티티타입의 키 중에서 하나를 테이블의 주 키로 지정
3) 약 엔티티 사상
약 엔티티타입도 테이블로 사상하되 소유(/식별) 테이블의 주키를 포함시킴.
테이블의 주키는 소유(/식별) 테이블의 주키와 약 엔티티타입의 부분 키를 합쳐서 복합키 형태로 만듦.
4) 다치 속성의 사상
다치 속성은 새로운 테이블로 사상됨
새로운 테이블에 다치 속성을 포함시키고 다치 촉성이 소속되어 있던 테이블의 추키를 외래키로 빌려옴.
새로운 테이블의 주키는 다치 속성과 빌려온 주키로 구성함.
5) 복합 속성의 사상
복합 속성을 구성하는 모든 단순 속성을 테이블에 포함시키며, 복합 속성은 포함시키지 않음
2. 관계 카디낼러티 1:1, 1:N, N:M에 의한 사상방법
가. 2진 1:1 관계타입 사상
관계에 참여하는 두 개 엔티티의 참여 제약에 따라 다양한 접근법이 존재함.
나. 2진 1:N 관계타입 사상
1:N 이진 관계는 1-측의 주키를 N-측 테이블에서 외래키로 빌려오며, 외래키가 주키를 참조하도록 함.
다. 2진 N:M 관계타입 사상
별도의 테이블을 생성한 후 관계에 참여하는 두 테이블의 주키를 빌려와 외래키로 구성하고, 각 외래키가 해당 주키를 참조하도록 함.
이 때 두 외래키가 관계-테이블(/관계-릴레이션)의 주키(복합키 형태)가 됨.