1. 1:1 관계
결혼관계테이블 : 남자 1 , 여자 1
사원증테이블 : 사원번호 1, 사원 1
주민등록번호테이블 : 번호 1, 사람 1
- 하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우이다.
2. 1:N 관계
: (나의)게시글 테이블
유저 1명, 게시글 N개
: (나의)강의테이블
학생 1명, 강의 N개
: (카트속) 아이템
: (게시글에) 댓글
: 나라의 정부기관
이런식으로 테이블 2개를 활용해서 표현 가능함
3. N: M 관계
https://docs.djangoproject.com/en/4.1/topics/db/examples/many_to_many/
https://cloudstudying.kr/lectures/501
Q: 수강신청 테이블을 만들려고 한다 어떻게 하면 좋을까?
과목에는 성과 사랑, 통계물리 수업이 있고, 5명이 수업을 들을려고 한다.
성과 사랑 | 통계물리 | |
홍길동 | V | -- |
김철수 | -- | V |
손흥민 | -- | V |
리처드파인만 | -- | V |
아인슈타인 | -- | V |
라고 만들면 -- 빈칸이 생기게 된다 -> 무결성 위배 (유저와, 과목테이블을 관계활용한 수강신청이라는 테이블을 하나 더 생성해야함)
----------------------------------------
N:M 관계 예시
: 좋아요 테이블(게시글 테이블과 비교)
좋아요는 여러명이 누름, 한 사람은 여러개의 좋아요 가능
하트는 여러개의 게시글에 들어간다,
어떤 게시글인지, 어떤 유저 눌렀는지
: 대여테이블
책은 여러명에게 대여가능, 한 사람은 여러개 책 예약가능
어떤 책인지, 어떤 사람인지
: 수강신청테이블 (강의 테이블과 비교)
수강은 여러명에게 등록가능, 한 사람은 여러개 강의 등록가능
어떤 강의인지, 어떤학생이 듣는지
: 좋아요 버튼
: 투표