Head First SQL 7장

posted on 05 Jul 2017 under category SQL

외래키

  • 한 테이블의 열들이 다른 테이블의 열과 연결할때 사용됨
  • 기본키는 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)