수정입니다
DB 설계, 실전 SQL 본문
기본키(Primary key)
- 각 table의 고유 식별키
- table의 record에는 pk 중복이 불가능 하다.
- 보통 id가 됨.
- 여러 column이 복합되어 pk가 되는 경우도 존재
- null이 될 수 없고 unique 해야 함.
외래키(Foreign key)
- 각 table간의 참조관계를 표현할 때 사용함
- instructor table의 dept_name column은 department table의 primary key를 참조함
- 참조를 할 때는 반드시 참조 되는 table의 pk를 참조해야 한다.
- null이어도 되지만, 만약 값이 있다면 반드시 참조 대상 table의 pk로서 존재해야 함.
- 같은 table의 다른 column을 참조할 수 있다.
ER 다이어그램
- entity 간의 relation을 표현한 diagram
- entity가 있고, 그 사이에 relationship set이 존재
- entity는 각 attribute를 가진다.
- relation에는 1:1, 1:n, n:1, n:n이 있다.
복합 키
- 두 개 이상의 column을 묶어 하나의 pk로 사용하는 것.
연관관계
정규화
- RDB에서 중복된 값들을 지우고, delete, update, insert의 여러 anomaly를 해결하기 위한 방식
- 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
- 1NF : Each attribute of each tuple has an atomic value
- 2NF : 1NF + 부분종속 허용 x => 모든 column이 pk에 종속되어야함
- 3NF : 2NF + 이행종속 허용 x => pk 가 아닌 속성간의 종속 불
- BCNF : 모든 결정자가 후보키에 속해야 함 => 후보키가 아닌 결정자를 따로 테이블로 분리
반 정규화
- 정규화된 테이블을 통합, 중복 하는 과정, 의도적으로 정규화 원칙을 위배한다. => DB 성능 향상을 위함
'동문네트워크' 카테고리의 다른 글
JPA를 통한 엔티티 설계, 매핑 & 프로젝트 파일 구조 이해 (0) | 2024.06.04 |
---|---|
API URL 설계 & 프로젝트 세팅 (0) | 2024.05.27 |
배열, 제네릭, 람다, 예외처리 (0) | 2024.05.06 |
<2주차> 객체, SOLID (0) | 2024.03.31 |
<1주차>깃 사용법, 자바 기초(반복문, 제어문), java, IntelliJ 세팅 (0) | 2024.03.22 |