왜 사용하는가?
관계형 데이터베이스는 모든 데이터는 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는 서로 다대다 관계이다