학습목표
1.데이터베이스(Database)
의 개념을 이해합니다.
2.관계형 데이터베이스(RDBMS)
가 무엇이며, 왜 사용하는지 이해합니다.
3.테이블(Table)
이 무엇인지 이해하고,Column
,Row
를 설명할 수 있습니다.
4. 테이블(Table)의 관계 -One to One
,One to Many
,Many to Many
예시를 나열할 수 있습니다.
5.Primary Key
와Foreign Key
의 관계를 설명하고, 테이블에 지정할 수 있습니다.
6.관계형 데이터베이스
와비관계형 데이터베이스
의 차이를 알 수 있습니다.
7. ERD 구성도로 데이터 관계를모델링
할 수 있습니다.
One To Many
또는 1:N
또는 일대다(多) 관계
서로 일대다(多) 관계이다
라고 말할 수 있습니다.users
: 견주 테이블. Pets
: 반려동물 테이블Pets 테이블의
user_id
컬럼은 users 테이블의id(고유키)
를 참조한다
일대일 관계(1:1)와 유사한 관계의 도표처럼 보입니다만,
일대다 관계(1:N)의 경우 한 테이블의 a row에 다른 테이블의 multiple rows들이 연결될 수 있습니다
테이블 관계 설명
한 명의 주인은 다수의 반려동물을 데리고 있을 수 있습니다.
반려동물 한 마리는 한 명의 주인만 가질 수 있습니다.
Many To Many
또는 N:N
또는 다대다(多) 관계
서로 일대다(多) 관계이다
라고 말할 수 있습니다.DB에는 아래와 같은 형식으로 저장할 수 없습니다.
Authors
column에 해당하는 row 하나에 너무 여러 개의 데이터가 들어가 있기 때문입니다. 이는정규화 제 1법칙
을 위반합니다.
테이블의 row 하나에는 딱 하나의 데이터만 들어가야 합니다.
그렇다면 어떻게 해야 할까요? 아래와 같이 풀어서 테이블을 만들어야 합니다.
그런데 아래의Title
속성에서 row별로 같은 데이터가 반복되고 있는 것 같습니다.Price
항목도,Author
항목도 마찬가지 입니다! 어떻게 해결해야 할까요?
Foreign Key(외래키)
를 이용해서 해결할 수 있습니다. (미완)
users
: 견주 테이블. Pets
: 반려동물 테이블테이블 관계 설명
한 명의 작가는 여러 권의 책을 쓸 수 있습니다.
한 권의 책을 집필하는데 여러 명의 작가들이 참여했을 수 있습니다.