컴퓨터/SQL

제약조건

해피밀세트 2020. 1. 21. 17:15

제약조건

 

1. 데이터 무결성 

  1) NOT NULL

    - NULL 값 허용 불가

      ) 학생 테이블에서 학생의 이름은 NULL값일 수 없음 예

  2) UNIQUE

    - 하나의 테이블 내에서 한번만 나옴

    - 주로 대체키 설정 시 사용됨

  3) PRIMARY KEY

    - 기본키

    - 의미 : UNIQUE + NOT NULL

  4) FOREIGN KEY

    - 외래키

  5) CHECK

    - 도메인 무결성

 

2. 제약조건의 설정

  1) 테이블을 만들 때 속성에 제약조건 지정하기

     CREATE TABLE 테이블명

     ( 속성명 속성타입 [ [제약조건명] 제약조건],

       속성명 속성타입,  … )

    예 ) name varchar(20) NOT NULL

         id int CONSTRAINT PK_01 PRIMARY KEY

  2) 제약조건 설정 테이블 예제

  3) 제약조건 위반 튜플 삽입 예

   4) 참조 무결성 제약조건

     - 외래키 값은 다른 테이블의 기본키 값들 중에 하나이어야 함

       예) 사원 테이블의 부서번호는 부서 테이블의 기본키 값들 중 하나이어야 함 

            속성명 [CONSTRAINTS 제약조건명]

             REFERENCE 참조테이블명(속성명)

  5) 참조 무결성 설정 및 삽입 오류의 예

  6) Check 제약조건

     - 도메인 무결성 제약조건 : 입력 값의 제한

       예 ) birthYear int CHECK(birthYear >= 1900)

            Age int CHECK(Age between 1 and 150)

  7) 테이블 수준 제약조건

     - 속성 단위로 제약조건 설정은 표현에 있어서 제약이 따름 :

       복합키의 경우(여러 개의 속성이 합쳐져서 키가 됨)

     - 구문

        CREATE TABLE 테이블명(

        속성명 속성타입

        …

        [CONSTRAINT 제약조건명] 제약조건(속성명)

        )

  8) 테이블 수준 제약조건 설정의

 

 

제약조건 변경

 

1. 제약조건의 추가 및 제거

  1) 테이블을 생성한 후에 제약조건을 추가하거나 제거할 필요성이 있음

      - 제약조건도 테이블의 구조 정보에 속함으로 ALTER TABLE을 이용함

      - 추가

        ADD CONSTRAINT

      - 제거

        DROP CONSTRAINT

   2) 제약조건 이름을 지정해 두어야 추가나 제거가 쉬움

       ALTER TABLE 테이블명

       ADD [CONSTRAINT 제약조건명] 제약조건 (속성명)

 

      ALTER TABLE 테이블명

       DROP CONSTRAINT 제약조건명

  3) 제약조건 변경

 

반응형

'컴퓨터 > SQL' 카테고리의 다른 글

데이터 삽입과 변경  (0) 2020.01.22
데이터 검색  (0) 2020.01.21
데이터 구조 생성과 변경  (0) 2020.01.20
SQL의 개념과 T-SQL  (0) 2020.01.20
초간단 Oracle 오라클 XE 11g 설치  (0) 2020.01.16