판봉 개발 일기

DDL에 대하여 본문

정보처리산업기사/정보처리산업기사 필기

DDL에 대하여

판봉 2021. 7. 23. 17:07
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