Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- BindingResult
- allocationSize
- 쉘 스크립트
- 편향된 지수
- @Autowired
- API
- 리눅스
- mysql
- intelij spring config
- 티스토리챌린지
- 메모리 구조
- 알고리즘
- spring
- compgen
- 런타임 상수
- JPA
- DTO
- application layer
- 쿠키
- 커밋 되돌리기
- 백준
- 오블완
- m:n
- 파이썬
- 기본키 전략
- 프로그래머스
- JDBC
- @SubscribeMapping
- Git
- 컴파일 타임 상수
Archives
- Today
- Total
목록m:n (2)
둘셋 개발!
[RDBMS] m:n관계를 찾는 방법
DB를 설계할 때 M:n의 관계를 찾는 방법은 1번 1:m 관계인지 확인 -> 1:m 관계가 아니라면 2번으로 2번 비지니스 관계인지 확인 -> 그렇다면 m:n관계!!! 예를 들어 도서관의 DB를 만든 다고 생각해보자. 그리고 회원은 도서를 대출할 수 있다. 그렇다면 여기서 어떤 테이블을 설계 해야할까? 일단 회원 테이블과 도서 테이블을 설계할 것이다. 회원 테이블의 도서 테이블은 어떤 관계를 맺어야 할지 고민해야한다. 1번 1:m의 관계인가? 아니다. 2번 비지니스 로직이 있는가? 회원이 도서를 '대출' 한다는 비지니스 로직이 있다. 따라서 대출이라는 관계테이블을 생성해서 m:n 관계를 완성하면 된다.
데이터베이스
2023. 3. 19. 15:32

우선 m:n 테이블이 무엇인지 알아보자. M:N 관계 : 양 쪽 모두 1:M 관계가 성립 예를 들어 학생테이블과 과목 테이블이 있다고 하자. 학생 테이블 입장에서 과목 테이블을 바라봤을 때 한 학생은 여러 개의 과목을 수강할 수 있다. 반대로 과목 테이블에서 학생 테이블을 바라봤을 때 한 과목은 여러 명의 학생이 수강할 수 있다. 그림으로 살펴보자 먼저 학생 테이블, 과목 테이블이 있다고 치자. 일단 관계를 맺기 전인 서로 독립적인 테이블이다. 여기서 학생 테이블과 과목 테이블 간의 관계를 맺어보고자 한다. 그러면 학생 테이블에 과목 id를 가진 fk 컬럼을 추가하고, 과목 테이블에는 학생 id를 가진 fk 컬럼을 추가해본다. (✢ 주의 이렇게 하면 안됨!!!!) 이렇게 만들 수는 있다. 하지만 이것은 ..
데이터베이스
2023. 3. 19. 15:15