DDL Data Define Language
- 데이터 정의어
- 데이터베이스 테이블 구조, 형식 등 정의
create table
- 테이블 정의 명령어
- primary key : 기본키 설정
- unique : 대체키 지정
- foreign key : 참조 설정
- constraint : 제약조건명 설정. constraint [제약조건명] foreign key(속성명) references 타테이블명(타테이블기본키)
- not null : 널 허용 x
- on delete, update : 삭제, 업데이트시 옵션 지정 가능
-> no action : 테이블 변화시 행동 x
casecade : 참조테이블 튜플 삭제시 관련 튜플 삭제
set null : 참조 테이블 변화시 기존 속성 null로 변경
set default : 참조 테이블 변경,삭제시 기존 속성을 기본값으로 변겅
create table 테이블명
(
속성명 데이터타입 [default 값] [not null] [primary key] [unique],
primary key(속성명)
foreign key(속성명) references 타테이블명(타테이블의 기본키)
);
create view
- 뷰 정의 명령
- select 문 서브쿼리로 select 결과를 뷰로 설정
create view 뷰명(속성명,[,속성명]) as select 문;
create index
- 검색시간 단축을 위한 자료구조인 인덱스 정의
- 정렬 미지정시 기본으로 오름차순 정렬
create [unique] index 인덱스명 on 테이블명(속성명 [asc | desc]);
alter table
- 테이블 정의 변경
alter table 테이블명 add 속성명 데이터타입 [not null];
alter table 테이블명 alter 속성명 데이터타입 [set default 기본값];
alter table 테이블명 drop column 속성명 [cascade];
drop
- 테이블, 뷰, 인덱스, 스키마, 도메인, 제약조건 등 제거하는 명령어
- casecade : 참조하는 다른 개체도 함께 제거
- restricted : 타 개체가 삭제하는 개체를 참조시 제거 취소
drop table 테이블명 [cascade | restricted];
drop view 뷰명 [cascade | restricted];
drop index 인덱스명 [cascade | restricted];
drop domain 도메인명 [cascade | restricted];