본문 바로가기

나의 FE피봇이야기/Dev_Knowledge

[DBMS]ERD 모델을 Relational Model 변환 규칙

Step 1. Mapping of Strong Entity Types --> Table

Step 2. Mapping of Weak Entity Types --> Table

Step 3. Mapping of Binary 1 : N Types --> Foreign Key

Step 4. Mapping of Binary 1 : 1 Types --> Foreign Key

Step 5. Mapping of Binary M:N Types --> Table

Step 6. Mapping of N-ary Relationship Types --> Table

Step 7. Mapping of Multivalued atrributes --> Table

 

Step 1. Mapping of Strong Entity Types --> Table

- 기본 attribute를 Table의 Colium에 하나씩 넣어서 만듬

- Table에 PK가 두개라고 하면 Composite Key를 생각해봐야 함 Ex.주소

 

Step 2. Mapping of Weak Entity Types --> Table

- 각 weak entity W에 대응되는 릴레이션 R을 생성하고, W의 Single-valued/Simple/Stored attributes를 모두 R의 field로 포함시킴

- W의 식별 개체 E에 대해서, E의 기본키를 R의 외래키로 포함시킴

- R의 기본키는 E의 기본키와 W의 부분키(Partial Key)의 조합으로 구성

 

Step 3. Mapping of Binary 1 : N Types --> Foreign Key

- 각 Binary 1 : N Relationship RS에 대해, 이 Relationship에 참여하는 두 entity를 각각 S(N-side)와 T(1-side)라고 하면 T의 PK를 S의 FK로 포함 RS에 속한 모든 Simple attributes를 S에 포함시킴(관계속 1의 반대쪽에 위치)

 

Step 4. Mapping of Binary 1 : 1 Types --> Foreign Key

- 1의 반대편 아무 Entity에 넣어도 됨

- Relationship 속에 attribute가 있으면 같이 딸려서 Enity에 넣으면 됨

 

Step 5. Mapping of Binary M:N Types --> Table

-각 Binary M:N Relationship RS에 대해서, 이 Relationship에 참여하는 두 Entity를 각각 S와 T라고 하면,

  • RS에 대응되는 새로운 릴레션은 R을 생성
  • RS에 속한 모든 Simple attribute를 R에 포함시킴

- S와 T의 기본키를 R의 외래키로 포함

  •  R의 기본키는 S에서 온 외래키와 T에서 온 외래키의 조합으로 구성
  •  각각에서 온 PK가 R의 FK가 되고 둘이 합쳐 PK(Primary Key)가 됨

 

Step 6. Mapping of N-ary Relationship Types --> Table

- 각 N-ary Relationship RS에 대해, 새로운 릴레이션 R을 생성 --> (N > 2 인 경우에 해당함)

- RS의 모든 simple attributes를 R의 속성으로 포함시킴

- RS에 참여하는 모든 entity의 기본키를 R의 외래키로 포함시킴

-R의 기본키는 모든 외래키의 조합으로 구성됨 -- 단 대응수가 1인 관계로부터 가져온 외래키는 기본키의 조합에서 빠짐

 

Step 7. Mapping of Multivalued atrributes --> Table

- Entity E에 속한 Multivalued attribute MA에 대해 릴레리션 R 생성

- MA의 속성을 R에 포함( -> attribute A)

-E의 기본키 K를 R의 외래키로 포함시킴

- R의 PK는 K와 A의 조합으로 구성됨

 

원영상

https://www.youtube.com/watch?v=59BFOn9zyCQ&list=PLg_wJlcMiuKtGdlIaAZ0rOPPQuTDENnEQ&index=5