데이터 사이의 관계에 기초를 둔 테이터베이스 시스템
- 관계형 데이터베이스에서 모든 데이터는 행,열로 구성된 2차원 테이블로 나타낸다.
- 모든 행에는 고유키를 가지고 있다.
- MySQL, PostgreSQL, SQLite 등이 있다.
일대일, 일대다, 다대다관계가 있다.
- 테이블끼리 행이 정확히 일대일 매칭이 되는 경우
ex) 한 명의 유저는 하나의 주민등록번호를 갖는다.
- 테이블의 행 하나가 다른 테이블의 행 여러개 매칭이 되는 경우
ex) 학생 한명은 여러가지 강의를 수강할 수 있다.
- 테이블 여러개 행이 다른 테이블 여러개 행과 매칭이 되는 경우
ex) 음료 하나에는 여러개의 알러지를 유발하는 성분을 포함할 수 있다.
하나의 알러지를 유발하는 성분 역시 여러개의 음료에 포함될 수 있다.- 중간테이블이 생성된다.
외부키(Foreign Key)를 이용하여 연결한다.
정규화
를 이용하여 중복관계를 없앨 수 있다.
정규화 방법
- 1 정규화 : 도메인은 원자값으로 구성
- 2 정규화 : 부분적 함수 종속 제거
- 3 정규화 : 이행적 함수 종속 제거
- bcnf 정규화 : 결정자이면서 후보키가 아닌 것 제거
- 4 정규화 : 다치 종속 제거
- 5 정규화 : 조인 속성 이용