Notice
Recent Posts
Recent Comments
Link
판봉 개발 일기
DDL에 대하여 본문
728x90
DDL
- DDL(Data Define Language, 데이터 정의 언어)은 SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의 하거나 변경 또는 삭제할 때 사용하는 명령문
- DDL로 정의돈 내용은 Meta-data가 되며, 시스템 카탈로그에 저장한다.
기본 테이블 | 이름을 가지고 있고 독자적으로 존재함 |
뷰 테이블 | 독자적 존재 불가, 기본 테이블로부터 유도된 이름을 가진 가상 테이블 |
임시 테이블 | 질의문 처리 결과로 만들어진 테이블로 이름을 가지지 않음 |
CREATE SCHEMA
- 스키마를 정의하는 명령문
- 스키마의 식별을 위해 스키마 이름과 소유권자나 허가권자를 정의함
표기형식은 다음과 같습니다.
CREATE SCHEMA 스키마_이름 AUTHORIZATION 사용자_id;
CREATE DOMAIN
- 도메인을 정의하는 명령문
- 임의의 애트리뷰트에서 취할 수 있는 원자값의 범위가 SQL에서 지원하는 data_type에 포함되는 전체 값이 아니고 일부분일때 사용자가 그 값의 범위를 사용자 정의 data_type으로 정의함
표기형식은 다음과 같습니다.
CREATE DOMAIN 도메인_이름 data_type
[DEFAULT 묵시값 정의]
[CONSTRAINT VALID-도메인_이름 CHECK (범위값)]
- data_type : SQL에서 지원하는 data_type
- 묵시값 : 데이터를 입력하지 않았을때 자동으로 입력되는 기본값
- 정의돈 도메인_이름은 일반적인 data_type처럼 사용합니다
CREATE TABLE
CREATE TABLE은 기본 테이블을 정의하는 명령문입니다.표기형식은 다음과 같습니다.
CRATE TABLE 기본테이블_이름
(속석명 data_type [NOT NULL],...,
PRIMARY KEY(기본키_속성명),
UNIQUE(대체키_속성명,...),
FOREIGN KEY(외래키_속성명,...)
PEFERENCES 참조테이블(기본키_속성명),
CONSTRAINT 제약조거명 CHECK(조건식);
- 속성명 : 기본 테이블에 포함될 모든 속성에 대하여 속성명과 그 속성의 data_type, NOT NULL 여부를 지정
- PRIMARY KEY : 기본키 속성을 지정
- UNIQUE : 대체키로 사용할 속성명들을 지정
- FOREIGN KEY~ REFERENCES~
- 참조할 다른 테이블과 그 테이블을 참조할 때 사용할 외래키 속성을 지정함
- 외래키가 지정되면 참조 무결성의 CASCADE 법칙이 적용됨
CHECK : 제약 조건을 정의합니다.
CREATE INDEX
CREATE INDEX는 인덱스를 정의하는 명령문입니다.
표기형식은 다음과 같습니다
CREATE [UNIQUE] INDEX 인덱스_이름
ON 기본테이블_이름({속성_이름 [ASC | DESC],}
[CLUSTER];
- UNIQUE 옵션
-사용하는 경우 : 기본키나 대체키 같은 중복되는 값이 없는 속성으로 인덱스를 생성할때
-생략하는 경우 : 중복값을 허용하는 속성으로 인덱스를 생성할 때
- 정렬 여부 지정
- ASC : 오름차순 정렬,DESC:내림차순 정렬
- 생략하면 오름차순으로 정렬됨
- CLUSTER 옵션 : 동일 인덱스 값을 갖는 튜플들을 그룹으로 묶을 때 사용
ALTER TABLE
ALTER TABLE은 테이블에 대한 정의를 변경하는 명령문입니다.
표기형식은 다음과 같습니다.
ALTER TABLE 기본테이블_이름ADD 속성_이름 data-type [DEFAULT '기본값'];
ALTER TABLE 기본테이블_이름ALTER 속성_이름[SET DEFAULT'기본값']
ALTER TABLE 기본테이블_이름 DROP 속성_이름[CASCADE];
- ADD: 새로운 속성(열)을 추가할 때 사용한다.
- ALTER : 특정 속성의 Default 값을 변경할 때 사용
- DROP : 특정 속성을 삭제할 때 사용
DROP
DROP은 스키마, 도메인, 기본테이블, 뷰테이블, 인덱스 등을 삭제하는 명령문입니다.
표기형식은 다음과 같습니다.
DROP SCHEMA 스키마_이름 [CASCADE | RESTRICT];
DROP DOMAIN 도메인_이름 [CASCADE | RESTRICT];
DROP TABLE 기본테이블_이름 [CASCADE | RESTRICT];
DROP VIEW 뷰_이름 [CASCADE | RESTRICT];
DROP INDEX 인덱스_이름 ;
- DROP SCHEMA : 스키마 삭제
- DROP DOMAIN : 도메인 삭제
- DROP TABLE : 기본 테이블 삭제
- DROP VIEW : 뷰 테이블 삭제
- DROP INDEX : 인덱스 삭제
- CASCADE 옵션 : 삭제할 요소를 참조하는 다른 모든 개체를 함께 삭제함
- 즉 Main Table의 데이터 삭제 시 각 외래키에 대체 부합되는 모든 데이터를 삭제하는 참조 무결성의 법칙을 설정함
- RESTRICE 옵션 : 삭제할 요소를 다른 개체가 참조중일 땐 삭제를 취소함
'정보처리산업기사 > 정보처리산업기사 필기' 카테고리의 다른 글
DML-INSERT,DELETE,UPDATE (0) | 2021.07.25 |
---|---|
DML에 대하여(SELECT) (0) | 2021.07.24 |
SQL의 개념 (0) | 2021.07.22 |
정규화 (0) | 2021.07.21 |
관계대수 및 관계해석 (0) | 2021.07.20 |