DBA는 아니지만, 프로그램을 잘 만들기 위해서 완성된 ERD를 이해하고, 나아가 간단한 모델링은 직접 만들줄 알야한다고 생각한다.
ERD를 이해하기 위한 첫 걸음이자 가장 중요하다 할 수있는 부분이 관계선과 관계선에 사용되는 기호라고 할 수 있다.
들어가기 앞서 관계선과 기호의 종류에대해 알아보자
관계선의 종류
-
실선(Identifying): 식별관계
-
부모테이블의 PK가 자식테이블의 FK/PK가 되는 경우
-
부모가 있어야 자식이 생기는 경우
-
-
점선(Non-Identifying): 비식별관계
-
부모테이블의 PK가 자식테이블의 일반속성이 되는 경우
-
부모가 없어도 자식이 생기는 경우
-
기호의 종류(도형 혹은 식별자)
-
|: 1개 / 실선은(dash) ‘1'을 나타낸다.
-
∈: 여러개 / 까마귀 발(crow’s foot or Many)은 ‘다수' 혹은 '그 이상'을 나타낸다.
-
○: 0개 / 고리(ring or Optional)은 ‘0'을 나타낸다.
위와 같은 기호들을 서로 조합하여 사용될 수 있으며, 다음과 같은 조합이 가능하다.
-
Type1(실선과 실선): 정확히 1 (하나의 A는 하나의 B로 이어져 있다.)
-
Type2(까마귀발): 여러개 (하나의 A는 여러개의 B로 구성되어 있다.)
-
Type3(실선과 까마귀발): 1개 이상 (하나의 A는 하나 이상의 B로 구성되어 있다.)
-
Type4(고리와 실선): 0 혹은 1 (하나의 A는 하나 이하의 B로 구성되어 있다.)
-
Type5(고리와 까마귀발): 0개 이상 (하나의 A는 0또는 하나 이상의 B로 구성되 있다.)
기호의 조합은 보통 그림 예제의 Type1, Type3, Type4, Type5를 자주사용하며, 사용하는 ERD 프로그램에 따라 조합 방식이 다를 수 있다.(상품 테이블과 상품의 옵션 테이블의 관계를 정의할때, 상품의 옵션은 없을 수 도 있고, 여러개가 있을 수 있기 때문에. 그림 예제 Type5로 표현이 가능하다.)
728x90
반응형
'DB > 데이터베이스' 카테고리의 다른 글
[DB] too long data 오류 /MySQL 데이터형 및 크기 (0) | 2023.01.05 |
---|---|
[mssql] 데이터베이스 백업/복원 스크립트 (0) | 2021.12.02 |
[데이터베이스] CRUD 기본 사용법 (0) | 2021.08.30 |
[데이터베이스] CRUD란? (Create,Read,Update,Delete) (0) | 2021.08.30 |
[DB기초] 뷰(View)란 무엇인가? + 간단한 예제 (0) | 2021.03.20 |
댓글