왜 사용하는가?
관계형 데이터베이스는 모든 데이터는 2차원 테이블로 표현할 수 있습니다.
| id | 책 제목 | 작가 | 출판사 | 가격 |
|---|---|---|---|---|
| 1 | 위대한 개츠비 | F 스콧 피츠제럴드 | 믿음사 | 12,000 |
| 2 | 향수 | 파트리트 쥐스킨트 | 벼루 | 15,000 |
| 3 | 오만과 편견 | 제인 오스틴 | 앵무새 | 11,000 |
관계형 데이터베이스란?
user
| id (pk) | name |
|---|---|
| 1 | 송지은 |
| 2 | 김재범 |
| 3 | 박태연 |
| 4 | 강태리 |
id_num
| id (pk) | id_num | user_id (fk) |
|---|---|---|
| 1 | 93101 | 3 |
| 2 | 870425-1XXXX | 2 |
| 3 | 8901011-2xxx | 1 |
| 4 | 901010-2xxxx | 4 |
| --- | --- | --- |
| users |
|---|
| id |
| name |
| id_num |
|---|
| id |
| id_num |
| user_id |
id_num의 user_id는 user의 id를 참조하고 있다.
서로가 서로의 오로지 한 행(row)에만 연결
user
| id (pk) | name |
|---|---|
| 1 | 송지은 |
| 2 | 김재범 |
| 3 | 박태연 |
| 4 | 강태리 |
Pets
| id (pk) | pet_name | age | user_id (fk) |
|---|---|---|---|
| 1 | 엘사 | 3 | 1 |
| 2 | 초코 | 2 | 1 |
| 3 | 코코 | 12 | 2 |
| 4 | 에릭 | 3 | 3 |
| 5 | 복실이 | 5 | 4 |
| 6 | 순자 | 10 | 4 |
Pets 테이블의 user_id 칼럼은 user 테이블의 id (pk)를 참조한다.
테이블 user와 테이블 pets는 서로 일대다 관계이다.
로우 하나에 다른 테이블 행에 여러개가 연결
Books
| id (pk) | Author | Title | Price |
|---|---|---|---|
| 1 | 김코딩, 개발장 | 개발 어렵지만 함께해요 | 13,000 |
| 2 | 김코딩, 송코드 | 자바스크립트 마스터가 되자 | 23,000 |
| 3 | 개발장, 송코드, 이개발 | 매일 기술 블로그를 씁시다! | 16,000 |
Author
| id (pk) | name |
|---|---|
| 1 | 김코딩 |
| 2 | 개발장 |
| 3 | 송코드 |
| 4 | 이개발 |
Author_Books
| id (pk) | author_id | book_id |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 2 | 1 |
| 3 | 1 | 2 |
| 4 | 3 | 2 |
| 5 | 2 | 3 |
| 6 | 3 | 3 |
| 7 | 4 | 3 |
Books
| id (pk) | Title | price |
|---|---|---|
| 1 | 개발 어렵지만 함께해요 | 13,000 |
| 2 | 자바스크립트 마스터가 되자 | 23,000 |
| 3 | 매일 기술 블로그를 씁시다! | 16,000 |

테이블 authors와 테이블 books는 서로 다대다 관계이다