ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL 제약조건(Constraint) 종류 및 개요
    Data Base_Oracle/SQL 2020. 1. 4. 15:47

    제약조건_Constraint

    목적에 맞는 데이터만을 저장하기 위해 필요한 조건
    효율성, 무결성 추구

    제약조건 설명
    primary key기본키 값이 중복되지 않으면서 반드시 입력돼야 하는 필드에 부여
    unique 값이 없어도 되지만 중복되면 안 되는 필드에 부여
    check 개발자가 설정하는 제약조건
    숫자 : 범위 지정, 문자 : 특정한 값 등록
    not null 반드시 값을 입력해야 하는 필드를 지정
    default 필드의 기본값을 설정하는 제약조건
    default를 제약조건에 포함시키지 않는 경우도 있음
    foreign key외래키 테이블간의 관계를 설정할 때 사용하는 제약조건

    § 제약조건 부여 형식

    ◈ 테이블 생성시 제약조건 부여
    [ SQL> create table table명(필드명1 자료형1 제약조건1,
    필드명2 자료형2 제약조건2,,,,); ]

     

    ◈ 테이블 생성시 설정하지 않은 제약조건 부여
    [ SQL> alter table 수정table명
    add constraint 제약조건이름 제약조건종류(적용필드명); ]
    제약조건이름을 꼭 써줘야함

    제약조건이름 : 시스템 테이블(Oracle 자체 테이블)에 레코드로 기록,
    sys~로 저장되기 때문에 찾기 힘듦, 따라서 의미있는 규칙에 따라 분류하는 것이 좋음
    ex) 테이블명_제약조건약어(pk)_적용필드명 ex) prtest_pk_id

    § 제약조건 제거 형식

    [ SQL> alter table 수정table명 drop constraint 삭제할 제약조건이름; ]

    # 제약조건 중복 오류 예제

    ▷ 이미 primary key가 부여된 id필드에 unique 제약조건 부여
    [ SQL> alter table prtest add constraint prtest_uk_id unique(id);
    1행에 오류: ORA-02261: 고유 키 또는 기본 키가 이미 존재하고 있습니다 ]
    ※ 이미 id에 primary key가 부여되어 있기 때문에 에러 발생


    제약조건은 데이터의 효율성과 무결성을 추구하기 위한 아주 중요한 개념이므로 꼭 알아두어야 합니다.

    'Data Base_Oracle > SQL' 카테고리의 다른 글

    SQL 제약조건 Check & Default  (0) 2020.01.04
    SQL 제약조건 Primary Key & Unique  (0) 2020.01.04
    SQL DDL_Drop, Rename  (0) 2020.01.04
    SQL DDL_Alter  (0) 2020.01.04
    SQL_DDL Create & 자료형 & 데이터 백업  (0) 2020.01.04

    댓글

Designed by Tistory.