ERD?
개인과제로 ERD제출을 같이 요구 받았다.
ERD?? 처음 들어봤다. 예전 특강때 보니까 이미 아는 사람이 꽤 있어보이기도 했지만 나는 처음이었고,
업무에 있어서 꽤나 잘 배워두고 넘어가면 좋을 것 같아서 미루다가 오늘 시간 좀 내서 정리해보며 실습해봤다.
우선 직접 만들어 본 결과물.
쉽게 말하자면 자료구조?
각 데이터 클래스들, Entity들의 관계도를 다이어그램으로 나타낸 것이다.
Entity, Attribute, Relationship
도형이 이렇게 3가지이다.
Entity : 하나의 객체가 되는 데이터
Attribute : Entity에 거기에 속해있는 속성들 테이블 상에서 칼럼이 되는 속성
Relationship : Entity 간의 관계성
PK
Attribute안에 밑줄이 그어진 것은 PK를 명시해주는 것.
연관관계 표시
예를 들어 게시글과 댓글의 관계는 1:N 이다. 하나의 게시글에는 댓글이 여러개일 수 있으므로.
하나의 댓글은 일반적으로 하나의 글에만 표기된다.
근데 댓글이 없는 글도 없다. (Optional하다)
그렇기에 위 5가지 중에 아래의 경우가 적용 가능하다.
개념적 데이터 모델링
이렇게 위와 같은 도형으로 개념적인 정도에서의 모델링이 이루어진다.
이후에 논리적 모델링, 물리적 모델링을 거쳐 데이터 베이스를 구현하게 된다.
이 과정 속에서 데이터 정규화 규칙도 있고 여러모로 좀 더 공부해야할 요소들을 발견했다.
+ One vs Only One
갑자기 궁금해서 찾아본 결과 둘 다 1:1의 개념은 맞다.
하지만 Only one이 갖는 (두줄)의 의미는 <사람 : 주민등록번호> 처럼 변하지 않는 관계일 때이다.
<회원번호 : 담당반> 이건 나중에 바뀔 수 있기에 Only One 케이스가 아니다.
'TIL : Today I learned (or Week)' 카테고리의 다른 글
TIL 230627 : Headers에 정보 보내기 (feat. HttpServletResponse) (0) | 2023.06.27 |
---|---|
WIL 230625 : Spring 2. 전체 청사진을 엿보다 (0) | 2023.06.26 |
TIL 230622 : Dto에 값을 넣어보자 (RequestBody, ModelAttribute) (0) | 2023.06.22 |
TIL 230621 : 뭘 모르면 사소한 것에도 휘둘린다 (0) | 2023.06.21 |
TIL 230620 : 쿠키, 세션, 토큰, JWT (0) | 2023.06.20 |