SEB Section 3 Database Design
관계형 데이터베이스
관계형 데이터베이스는 어떻게 설계를 해야 하는가? 구조화된 데이터는 하나의 테이블로 표현할 수 있다. 테이블을 사용하는 데이터베이스를 관계형 데이터베이스라고 한다. 다음의 키워드들을 알아보자.
- 데이터(data) : 각 항목에 저장되는 값이다.
- 테이블(table) : 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축적된다.
- 칼럼(column; field) : 테이블의 한 열을 가리킨다.
- 레코드(record) : 테이블의 한 행에 저장된 데이터이다.
- 키(key) : 테이블의 각 레코드를 구분할 수 있는 값이다. 각 레코드마다 고유한 값을 가진다. 기본키(primary key)와 외래키(foreign key) 등이 있다.
관계 종류
테이블과 테이블 사이의 관계는 다음과 같다.
- 1:1 관계
- 1:N 관계
- N:N 관계
테이블 스스로 관계를 가질 수도 있다.
- self referencing 관계
1:1 관계
하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우이다. 외래키를 사용하여 1:1관계를 지정할 수 있다.
1:N 관계
하나의 레코드가 서로 다른 여러개의 레코드와 연결된 경우이다. 예를 들어 하나의 유저가 여러개의 게시물을 쓸 수 있다면 1:N 관계이다. 외래키를 사용하여 관계를 나타낼 수 있다.
N:N 관계
여러개의 레코드가 다른 테이블의 여러개의 레코드과 관계가 있는 경우이다. N:N 관계를 스키마 디자인 하기 위해서는 둘을 연결할 수 있는 Join 테이블이 있어야 한다. 예를 들어 여러명의 유저들이 여행 상품을 구매할 수 있고, 여행 상품 하나는 여러 명의 유저가 구매할 수 있다. 이때 N:N 관계로 만든다.
자기참조 관계
추천인이 누구인지를 알아볼 때 사용할 수 있다.
댓글남기기