수정입니다

DB 설계, 실전 SQL 본문

동문네트워크

DB 설계, 실전 SQL

nongdamgom 2024. 5. 10. 12:21

기본키(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 성능 향상을 위함