🍷DataBase
[SQL] SQL생성제약조건지정, NOT NULL, UNIQUE,PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT, CREATE INDEX, DROP INDEX
김말자
2022. 10. 6. 18:14
728x90
728x90
BIG
제약조건지정(ALTER TABLE)
예를들어 테이블생성시 제약조건을 지정할 수 있음
제약조건
규칙지정, 데이터유형제한, 정확성과 신뢰성 보장, 데이터 작업사이에 안맞으면 중단
제약 조건은 열 수준 또는 테이블 수준일 수 있습니다. 열 수준 제약 조건은 열에 적용되고 테이블 수준 제약 조건은 전체 테이블에 적용됩니다.
다음 제약 조건은 SQL에서 일반적으로 사용됩니다.
- NOT NULL- 컬럼이 NULL 값을 가질 수 없도록 보장
- UNIQUE- 열의 모든 값이 서로 다른지 확인
- PRIMARY KEY- NOT NULL와 의 조합 UNIQUE. 테이블의 각 행을 고유하게 식별
- FOREIGN KEY - 테이블 간의 링크를 파괴하는 작업 방지
- CHECK- 컬럼의 값이 특정 조건을 만족하는지 확인
- DEFAULT- 값이 지정되지 않은 경우 열의 기본값을 설정합니다.
- CREATE INDEX- 데이터베이스에서 데이터를 매우 빠르게 생성하고 검색하는 데 사용
NOT NULL
- 기본값은 NULL
- NOT NULL인경우 NULL값을 허용하지 않음
- 그래서 필드에 항상 값이 포함되는데, 값을 추가하지 않으면 새 레코드를 삽입하거나 업데이트를 할 수 없음
- 조건 뒤에 NOT NULL을 붙여주면 됨
UNIQUE
열의 모든값이 서로 다른지 확인
프라이머리 키와, 유니크 둘다 열, 열집합에 대한 고유성을 보장
프라이머리키의 제약조건에는 UNIQUE가 기본조건임
많은 UNIQUE는 가질 수 있지만 프라이머리키는 테이블당 하나다
조건 삭제
PRIMARY KEY
각 레코드를 고유하게 식별
UNIQUE값 반드시 포함해야하며, NOT NULL임
테이블에는 하나의 PRIMARY KEY만 존재
삭제
FOREIGN KEY
테이블 간 링크를 파괴하는 작업을 방지하는데 사용
외래키가 있는 테이블을 자식 테이블이라하고 프라이머리키가 있는 테이블을 부모테이블이라고함
CHECK
열에 배치할 수 있는 값 범위 제한
열에 대해 특정 값만 허용
DEFAULT
열의 기본값을 설정하는데 사용
다른값 설정하지 않을 경우 이 값이 새 레코드에 추가
CREATE INDEX
테이블에 인덱스를 생성하는데 사용
데이터베이스를 빠르게 검색할때 좋음
사용자는 볼 수 없음
근데 이걸하게 되면 업데이트하는데 시간이 오래걸려서 자주 검색하는 것만 하는게 좋음
DROP INDEX
인덱스 삭제
728x90
반응형
BIG