제약조건 PK, FK, UK (Primary Key, Foreign Key, Unique Key)

Lys·2023년 11월 22일
0

데이터베이스

목록 보기
5/18

데이터베이스의 제약 조건

  • 테이블 단위에서 데이터의 무결성을 보장하는 규칙
  • 테이블 수정 작업하는 경우에 잘못 된 트랜잭션 수행을 방지하는 역할을 한다.
  • 테이블 간 제약 조건이 있어서 종속성이 있는 경우 테이블 삭제를 방지한다.

PK(Primary Key)

  • 기본키라고 하며 중복이나 NULL이 불가능하다.(UNIQUE + NOT NULL)
  • 테이블 생성 시 단 한 개의 기본키를 설정한다.
  • 엔티티(Entity)를 식별하는 키이다.
  • PK 지정 가능한 컬럼이 여러 개 있을 경우엔 많이 사용되는 간단한 컬럼을 사용한다.
  • 고유 인덱스를 자동 설정한다.
    • 고유 인덱스
      한 테이블에 있는 두 개의 행 데이터가 동일한 키 값을 갖지 않도록 보장하여 데이터 무결성을 유지하는데 도움이 되는 인덱스이다.

  • CREATE 문으로 PK 설정
    CREATE TABLE 테이블명
    ( 
      필드명 필드타입 PRIMARY KEY,
      --ex ) ID Strimg PRIMARY KEY
      필드명 필드타입,
      필드명 필드타입
    );
  • ALTER 문으로 PK 설정
    테이블에 새로운 필드를 추가하거나 수정할 때 사용
    ALTER TABLE 테이블명
    ( 
      ADD 필드이름 필드 타입 PRIMARY KEY
    );
    ALTER TABLE 테이블명
    ( 
      MODIFY COLUMN 필드이름 필드 타입 PRIMARY KEY
    );  -- 기존의 필드에 PK를 설정할 때

FK(Foreign Key)

  • 외래키,참조키,외부키 등으로 부른다.
  • 다른 테이블을 참조하는 기능을 하고 있다
  • 외래키가 정의 된 테이블을 자식 테이블이라고 부른다.
  • 참조하는 테이블의 컬럼과 외래키를 가지고 있는 컬럼의 데이터 타입이 일치해야 된다.
    (중복값을 가지고 있지 않은 유일한 데이터를 가진 PK,UNIQUE를 가진 컬럼에만 참조가 가능하다.)
  • 참조 되어 있는 테이블을 삭제할 경우엔 참조 하고 있는 테이블을 먼저 삭제해야 된다.

  • CREATE 문으로 FK 설정
    CREATE TABLE 테이블명
    ( 
     FOREIGN KEY(필드 이름)
     REFERENCES 참조 테이블명(필드 이름)
    );  -- FK 문법 사용시에는 FOREIGN KEY 제약 조건을 설정해야 된다.
        --  참조되는 테이블 명은 REFERENCES 뒤에 명시한다. 

UK(Unique Key)

  • 중복 된 값을 허용하지 않는다.
    (항상 유일해야 된다.)
  • 고유 인덱스를 자동 생성한다.
  • 여러개의 NULL값을 허용한다.

  • CREATE 문으로 UK 설정
    CREATE TABLE 테이블명
    ( 
    필드명 필드타입 UNIQUE,
    필드명 필드타입,
    필드명 필드타입
    ); 
  • ALTER 문으로 PK 설정
    ALTER TABLE 테이블명
    MODIFY COLUMN 필드이름, 필드타입 UNIQUE

🙇‍ 참고 사이트 🙇‍

https://itworldyo.tistory.com/entry/DB-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%A0%9C%EC%95%BD%EC%A1%B0%EA%B1%B4-PK-FK-UK-%EA%B0%9C%EB%85%90%EC%84%A4%EB%AA%85
https://silverkim.org/server-database/db-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-pk-fk-uk-ck-%EC%9D%98-%EC%9D%B4%ED%95%B4/
https://tcpschool.com/mysql/mysql_constraint_primaryKey

0개의 댓글

관련 채용 정보