[Modeling] 개념적 데이터 모델링

seokki kwon·2022년 9월 11일
0

본격적으로 draw.io 를 이용해 데이터 모델링 실습을 해보자

Entity 분리


우선 Entity 를 분리하고 각 Attribute 를 관계도로 그려냈다.

Identifier

각 Entity의 식별자를 선정해야 한다 식별자가 하는일은 원하는 대상을
정확하게 타겟팅을 해야한다
어떠한 값도 중복되는 값을 가지고있으면 안된다

해당 표에서는 city, name은 중복될 수 있는 값이기에 식별자로 사용이 불가능
이 테이블에서 식별자로 사용가능한 user_id, email, national_id 를
후보키(candidate key) 라고 부른다
그리고 기본키로 선정한 이외의 key들을 대체키(alternate key) 라고 부른다.

아쉽게도 저자, 글, 댓글 에는 식별자로 선정할만한 컬럼이 없기에
각각의 인조식별자를 만들어 준다.

Realation


해당 사진에서 저자 아이디 는 다른테이블의 기본키를 참조한다 이러한 키를
왜래 키 라고 한다.
외래 키(외부 키, Foreign Key)는 한 테이블의 필드(attribute) 중 다른 테이블의 행(row)을 식별할 수 있는 키를 말한다.

Cardinality, Optionality


선생과, 반 이 있다고 가정하면
반은 담임이 한명일 수 밖에 없고
선생또한 반이 한반일 수 밖에 없을떄
1:1 관계라고 한다.


저자는 댓글을 여러개 작성이 가능
댓글은 한개의 저자만 가질 수 있음
1:N 관계라고한다

한작가는 여러개의 글을 작성할 수 있고(저자참여 기능)
글또한 여러개의 저자를 가질 수 있기에
N:N 관계라고 한다.


저자는 꼭 댓글이 존재해야 하는것은 아니다
하지만 댓글은 꼭 저자가 존재해야 한다
이러한 경우 댓글을 Optional 저자를 Madatory

profile
웹 & 앱개발 기록

0개의 댓글