티스토리 뷰
관계형 데이터 베이스 : 임의의 데이터 베이스 내에 존재하는 여러 테이블들이 서로 관계를 갖게 되며 운영
- 데이터 베이스의 테이블 간의 관계를 분명하게 설정
- 제약 조건들을 사용하여 정확한 데이터들을 설정
키 : 무언가를 식별하는 고유한 식별자
1. 기본키 (PRIMARY KEY) : 후보키 중 한가지
- null값 불가
2. 슈퍼키 (SUPER KEY) : 각 행을 유일하게 식별할 수 있는 하나 또는 그 이상의 속성들의 집합
3. 후보키 (CANDIDATE KEY) : 각 행을 유일하게 식별할 수 있는 최소한의 속성들의 집합
4. 대체키 (ALTERNATE KEY) : 후보키가 2개 이상일 경우 그 중 하나를 기본키로 지정하고 남은 후보키
5. 외래키 (FOREIGN KEY) : 다른 테이블의 데이터를 참조할 때 없는 값을 참조할 수 없도록 제약
- 공통 칼럼
무결성 : 데이터 베이스에 저장된 값들이 정확하고 일관성 있는 데이터
1. 도메인 무결성 : 속성이 정의되어 있는 영역을 벗어나지 않도록 규정
- CHECK 제약 : 값의 범위를 정해 놓는 제약
- DEFAULT 제약 : 입력값을 지정하지 않았을 때 열의 값이 기본값으로 입력되도록 지정하는 값
- NOT NULL : NULL을 허용하지 않음 -> 무조건 값이 입력되어야 함
2. 개체 무결성 : 하나의 테이블에 중복된 레코드가 중복되지 않음
- 기본키 제약
- UNIQUE KEY : 값의 중복을 허용하지 않는 제약
#고유 제약은 값이 유일해야 하기 때문에 NULL도 한번만 입력 가능 -> NULL도 중복 불가
- PRIMARY KEY : 열에 유일한 값만 입력 -> NULL값 허용 안함
- CONSTRAINT (제약 조건) : 결점 없이 정확하고 유효한 데이터가 데이터 베이스에 저장될 수 있도록 하기 위해 데이터를 조작하는데에 한계를 규정
- 제약 조건을 설정
- 기본 형태
CONSTRAINT 제약ID 제약 내용 (COLUMN명);
3. 참조 무결성 : 행을 입력, 수정, 삭제 할 때 얀관되는 다른 테이블과 데이터가 정확하게 유지
- FOREIGN KEY : 참조될 열의 값은 참조될 테이블에서 PRIMARY KEY로 설정되어 있어야 한다
-> 기본키의 칼럼명과 같아야 한다
4. DICTIONARY : 데이터 베이스를 운영하는데 필요한 정보를 관리하는 별도의 객체들
- DATA DICTIONARY
- 기본 테이블 :
- 뷰 :
5. TABLE LEVEL
6. 제약 변경
- 제약 조건을 주지 않아 조건을 추가하거나, 변경, 삭제
- ADD : 제약 추가
기본 형태
ALTER TABLE 테이블명 ADD CONSTRAINT 제약이름 제약조건(칼럼명);
제약 조건을 보기 위해선 desc로 테이블을 불러와야 한다
- MODIFY : 제약 수정
기본 형태
ALTER TABLE 테이블명 MODIFY 칼럼명 칼럼조건;
- DROP : 제약 삭제
기본 형태
ALTER TABLE 테이블명 DROP CONSTRAINT 제약이름;
- DISABLE : 제약 비활성
- 제약 조건을 삭제하지 않고도 제약 조건을 비활성화하여 사용을 잠시 보류 가능
기본 형태
DROP TABLE 테이블명 ENABLE CONSTRAINT 제약조건;
- CASCADE : 제약 조건 삭제
- 데이터 베이스내의 임의의 다른 테이블과 PRIMARY KEY 또는 FOREIGN KEY로서 관계가 여전히 존재하는 경우, PRIMARY KEY가 존재하는 테이블을 마음대로 제거할 수 없는 경우에 사용
기본 형태
DROP TABLE 테이블명 CASCADE CONSTRAINTS;
'DATABASE > SQL' 카테고리의 다른 글
[SQL] VIEW (0) | 2018.04.19 |
---|---|
[SQL] SCHEMA - 스키마 (0) | 2018.04.19 |
[SQL] TRANSACTION (0) | 2018.04.19 |
[SQL] DML (1) | 2018.04.19 |
[SQL] DDL (0) | 2018.04.19 |