참고자료
- 생활코딩
관계형 데이터 모델링강의- 데이터모델링 슬라이드 자료
업무 파악 -> 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링업무파악개념적 데이터 모델링논리적 데이터 모델링물리적 데이터 모델링=> 이는 소프트웨어 엔지니어가 공부를 멀리할 수 없고, 인간관계를 등한시 할 수 없는 이유이기도 함
방법1 : UI(User Interface)를 같이 그려보는 것
: 어플리케이션이 어떤 UI를 갖기를 바라는 지, 그려보는 과정에서 원하는 것을 분명하게 하고, 서로 생각하는 것을 일치시킬 수 있음.
(말의 힘(기능)을 불신하기. 말을 불신할수록 말의 신뢰성은 높아짐)
Tool : Oven

JOIN을 통해 DB를 연결함개체와 개체 간의 관계를 표준화된 그림으로 나타냄
강한 개체(strong entity) : 다른 개체의 도움 없이 독자적으로 존재할 수 있는 개체
약한 개체(weak entity) : 독자적으로는 존재할 수 없고 반드시 상위 개체 타입을 가짐
속성(attribute) : 개체가 가진 성질
관계(relationship) : 개체 사이의 연관성을 나타내는 개념
관계 타입 : 개체 타입과 개체 타입 간의 연결 가능한 관계를 정의, 관계 집합은 관계로 연결된 집합을 의미
직사각형으로 표현타원으로 표현직사각형과 실선으로 연결됨밑줄 그음마름모로 표현
인조키를 만든다.(id값)


Primary Key : 각각의 표에 행을 식별하는 유일무이한 식별자Foreign Key : 외래 테이블과 연결할 때 사용하는 키(ex.글 테이블 저자 아이디 값)Primary Key와 Foreign Key가 연결되는 것을 통해 실제로 구현됨ERD 표현 방법(마름모꼴 도형)
1:1 관계

1:N 관계

M:N 관계 (중간에 연결테이블을 만들어서 구현함)


기호에 엄격한 룰이 있지는 않음. 회사 컨벤션.

학습 사이트 http://erd.yah.ac/


AI : Auto IncrementFK : Foreign KeyPK : Primary KeyNull : Is Nullable (NOT NULL은 미체크)Primary Key 값을 가지지 않아도 되는 경우, 넣지 않는 게 성능 등에 좋음(ex.휴면계정dormant 테이블을 만들 경우 휴면계정에는 별도 아이디값이 필요하지 않고, 유저 아이디를 참조하면 됨.)1:1 : 누가 Primary Key를 가질 것인가 헷갈림1:N : 가장 쉬움N:M : 가장 어려움물리적 모델링 시 트랜잭션, 저장 공간 설계 측면에서 고려할 사항
1. 응답시간을 최소화
2. 얼마나 많은 트랜잭션을 동시에 발생시킬 수 있는지 검토
3. 데이터가 저장될 공간을 효율적으로 배치