데이터 모델링의 시작
- Entity, attribute, relationship 파악하는 것이 중요
- 이를 위해서는 사업 규칙 (비지니스 룰)을 파악하는 것이 중요
비지니스 룰이란?
- 비즈니스 규칙은 비즈니스 내에서 고객 이름, 고객의 주문 등과 같은 개체 간의 관계를 규정함으로써 일상적인 의사결정의 길잡이 역할
[출처 : https://www.ibm.com/kr-ko/topics/business-rules]
비지니스 룰에서 Entity, Attribute, Relationship 후보 찾기
- 모든 명사는 Entity의 후보
- 모든 동사는 Relationship의 후보
- 하나의 값으로 표현할 수 있는 명사는 Attribute의 후보
- 값으로 표현할 수 있어도 여러 Attribute를 가질 수 있을 때, Entity로 표현한다.
- 많은 NULL 값을 발생 시키거나 조회가 복잡해질 수 있는 상황을 피해야한다.
카디널리티 (Cardinality)
- 두개의 Entity의 관계를 표현 (1 대 1, 1대 다, 다 대 다 등의 관계)
- 카디널리티를 파악하기 위해서는 Entity간의 관계를 파악해야하고 결론적으로 비지니스 룰의 관계를 파악해야함
- 1대 1 혹은 1 대 다 관계일 때
- 1 : 1의 경우, 한쪽 entity에 foreign key를 추가해 주는 방식으로 구현가능
- 다수에 해당하는 Entity가 존재하는 경우 다수에 해당하는 곳에 foreign key 추가
- 다 대 다 관계일 때
- 각 entity에 컬럼을 추가하는 것을 피하기 위해 연결 테이블을 사용 (Junction Table)
- 각 entity의 foreign key 연결테이블에 추가해서 만들어줄 수 있음
- 이 연결 테이블은 각각의 entity에 1대 다 관계가 된다
'데이터베이스' 카테고리의 다른 글
물리적 모델링 (0) | 2023.08.22 |
---|---|
정규화 (0) | 2023.08.22 |
데이터 모델링의 개념 (0) | 2023.08.21 |