오늘
구조화된 데이터는 하나의 테이블로 표현할 수 있다. 사전에 정의된 테이블을 relation 이라고도 부르기 때문에, 테이블을 사용하는 데이터베이스를 관계형 데이터베이스(Relational database)라고 한다.
데이터베이스에서 데이터가 구성되는 방식과 서로 다른 테이블간의 관계에 대한 설명이다.
스키마란 데이터베이스의 청사진과 같다.
관계 종류
테이블 스스로도 가능
phone_id는 외래키(foreign key)로써, phonebook 테이블의 phone_id와 연결되어 있다. phonebook테이블은 phone_id와 phone_number를 가지고 있다.
위 테이블 예제로 보자면 블로그라고 생각해보자.
한 사람이 여러개의 포스트를 쓸 수 있나? (가질 수 있나) = yes
한 포스트가 여러명의 사람을 가질 수 있나? = no
그럼 user는 1이고 post는 n이 되는 것이다. 유저는 단 한명뿐이고, post는 여러개여도 상관없으니까.
블로그 포스트에 해시태그를 여러개 달 수 있는가? = yes
해시태그는 여러개의 블로그 포스트 를 가질 수 있는가? = yes (해시태그 누르면 해당 해시태그를 등록한 다른 포스팅도 볼 수 있음. 즉 해시태그 안에 포스트가 포함되어 있다.)
이럴경우 다대다 관계라고 할 수 있다. n:n관계의 경우 join을 사용해서 테이블을 이어준다.