2023-1모각코

23.05.02 모각코 5회차

정서1002 2023. 5. 4. 17:48

이번 모각코 5회차에서 나는 <데이터베이스> 과목의 ERD를 관계 스키마로 바꾸는 변환 규칙에 대해 공부했다.

변환 규칙에는 8가지가 있다.

Rule 1 : 개체 타입 -> (개체) 테이블 생성
    - 별도의 테이블 생성
    
Rule 2 : 일대일 관계 타입 -> FK 추가
    - 별도의 테이블 생성하지 않음
    - FK를 전체참여 쪽에 추가
    - 일대일 관계 타입의 속성도 같이 추가
    - 일대일 관계일 때는 전체참여인 쪽이 자식

Rule 3 :
일대다 관계 타입 -> FK 추가
    - 별도의 테이블 생성하지 않음
    - n쪽 테이블에 FK 추가
    - 일대다 관계 타입의 속성도 같이 추가

Rule 4 :
존재종속 관계 타입 -> FK/PK 추가
    - 별도의 테이블을 생성하지 않음

    - FK/PK를 n쪽 테이블에 추가하고, 부분키를 PK로 함

    - 관계 타입의 속성도 n쪽 테이블(약한 개체 타입)에 같이 추가

 

    
Rule 5 :
다대다 관계 타입 -> (관계) 테이블 생성, FK/PK 추가

    - 별도의 테이블을 생성함

        - n:m 관계 타입 R에 해당하는 테이블을 생성함

        - R 속성은 모두 R의 테이블에 포함

        - R에 관련된 두 개체 타입 S와 T의 키를 R의 테이블에 FK/PK로 각각 추가함

        - 만약 R에 키가 있으면, R의 테이블에서 PK로 함

    - R의 테이블은 S와 T의 테이블 사이에 있는 중간 테이블임

    - 다대다 관계는 (두 개의 존재 종속 관계로 연결된) 약한 개체 타입으로 변환


Rule 6 :
다원 관계 타입 -> (관계) 테이블 생성, FK/PK 추가

    - 3차 이상의 다원 관계 타입은 별도의 테이블을 생성함

        - 다원 관계 타입 R의 속성은 모두 R의 테이블에 포함시킴

        - 만일 R에 키가 있으면, R의 키는 R의 테이블에서 PK로 함

        - 모든 참여 개체 타입의 키를 각각 R의 테이블에 FK/PK로 추가함


Rule 7 :
다중값 속성 -> (속성) 테이블 생성, FK/PK 추가

    - 별도의 테이블을 생성함

        - 개체 타입 S의 다중값 속성은 생성한 테이블에서 PK로 함

        - S의 키는 생성한 테이블에 FK/PK로 추가함

 

    - 다중값 속성은 conceptual level에서만 사용하는 개념임

    - logical level에서는 다중값 속성을 허용하지 않음

    - 다중값 속성은 intra-relationship의 한 형태임

        - 개체 타입 S의 속성 An은 다중값 속성,

        - 테이블 S'의 기본키 An은 단일값 속성

 

    - 다중값 속성은 (존재 종속 관계로 연결된) 약한 개체 타입으로 변환

        - 다중값 속성에서 단일값 속성 (부분키)로 변환됨


Rule 8 :
ISA 관계 타입 -> FK 추가

    - 별도의 테이블을 생성하지 않음

    - 세분화(specialization)

        - 상위 개체 타입 S는 테이블로 생성함(Rule1)

            - S의 키를 S 테이블의 PK로 함

        - 모든 하위 개체 타입 T도 테이블로 생성함(Rule1)

            - T의 키를 T 테이블의 PK로 함

            - S의 키를 T 테이블의 FK로 추가함

 

    - 세분화가 일반화보다 더 general한 개념이다

'2023-1모각코' 카테고리의 다른 글

23.05.16 모각코 7회차  (0) 2023.05.18
23.05.09 모각코 6회차  (0) 2023.05.14
23.04.04 모각코 4회차  (0) 2023.04.05
23.03.28 모각코 3회차  (0) 2023.03.30
23.03.21 모각코 2회차  (0) 2023.03.23