외래키
- 한 테이블의 열들이 다른 테이블의 열과 연결할때 사용됨
- 기본키는 null일 수 없지만 외래키는 null이 가능
- 외래키는 유일할 필요가 없다.(1:N 관계에서 외래키가 중복될수 있다. 만약 판매원이 외래키면 판매원이 여러개의 물건을 팔 수 도있으니까~)
- 참조무결성(제약조건)
- 부모테이블에 존재하는 키값만 넣을 수 있다.(연결을 해야하니까~)
- 외래키의 값이 부모테이블의 기본키일 필요는 없지만 유일해야 한다(연결고리는 한개면 됨)
- 만약 부모키에서 값이 삭제되면 자식테이블에서는 참조무결성이 깨져서 고아가 된다.
테이블간의 관계
- 1:1 관계
- 테이블 A의 레코드가 테이블 B에 많아야 한 개의 레코드와 연결
- 많이 사용되지 않음
- 1:N 관계 - 테이블 A의 한 레코드와 테이블 B의 여러개의 레코드와 연결
- N:N 관계
- 테이블 A의 여러 레코드와 테이블 B의 여러레코드가 연결
- ex) 여러명의 여자가 여러개의 신발을 가지고 있다.
- 보통 연결테이블(1:N)을 사용
정규화
- 관계형 데이터베이스 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스
- 데이터 무결성 유지 및 안정성 최대화
1정규형
- 테이블에 있는 모든 속성의 도메인이 원자값만으로 구성되어야 함
- 반복되는 그룹속성이 있다면 빼서 1:N 테이블을 만들어야 함
2정규형
- 1정규형(1NF)를 만족
- 부분적 함수 의존이 없어야 함
- 부분적 함수의존 : 키로된 열이 키로되지 않은 열과 관련이 있는것
- 하나의 열로 된 기본키를 갖는다
- 테이블 안의 모든 열이 기본키의 일부(거의 불가능)
3정규형
- 2정규형(2NF)를 만족
- 이행적 함수 종속이 없어야 함
- 키가 아닌 열이 다른 키가 아닌 열과 관련이 있는것
용어정리
- 스키마 : 관련 객체와 객체 사이의 연결
- 합성키 : 여러열로 이루어진 기본키
http://namsieon.com/37 이 블로그가 정말 쉽게 정리해놓음
Written by Brody Byun
Please Do not steal content from our website.
Please let me know if you want to take the post.(email or reply)