코드잇/데이터베이스

관계 모델링

양상추상츄 2023. 3. 26. 12:49

M:N

student 테이블 이든지 course 테이블 이든지 각각 테이블에 Foreign key를 넣으면 두테이블 모두 컬럼이 많아진다.

(course1, course2 ..이런식으로)

그래서 연결테이블 이란걸 만들어서 두테이블의 Foreign key를 담는다.

연결테이블의 Foreign key를 통해서 값을 확인함

https://www.datensen.com/blog/er-diagram/many-to-many-relationships/

 

1:N

일대다 관계에서는 다에 해당하는 테이블에 일에 해당하는 테이블의 Foreign key를 생성

user 테이블과 review 테이블이 1:N 관계 일 때 (까마귀 발이 review 쪽으로) review의 Foreign key를 user 테이블에 생성할 경우 user 1명이 review를 여러개 남겼을때 컬럼이 review1 review2 이런식으로 계속 늘어나야 하기 때문에 이렇게 하는것보다는 review 테이블에 user의 Foreign key를 생성해서(user_id) 어떤 리뷰를 누가 남겼는지 확인하는 쪽이 더 좋다.

 

1:1

일대일 관계에서는 NULL이 발생하지 않는 방향으로 Foreign key 생성

user 테이블과 card 테이블이 1:1 관계일 경우 user는 꼭 card가 없어도 된다고 할 때 user 테이블에 card의 Foreign key를 넣으면 null이 발생함으로 card 테이블에 user의 Foreign key (user_id)를 생성하는게 좋다.

 

'코드잇 > 데이터베이스' 카테고리의 다른 글

정규화_1  (0) 2023.04.02
ERM(ERD) 표현  (0) 2023.03.19
비즈니스 룰  (0) 2023.03.18
데이터 모델링_2  (0) 2023.03.18
데이터 모델링_1  (0) 2023.03.11