본문 바로가기

정보처리기사 실기

DDL

DDL(Data Define Language, 데이터 정의 언어)

DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어

-DDL은 번역한 결과가 데이터 사전(Data Dictionary)이라는 특별한 파일에 여러 개의 테이블로서 저장된다.

-DDL에는 CREATE SCHEMA, CREATE DOMAIN, CREATE TABLE, CREATE VIEW, CREATE INDEX, ALTER TABLE, DROP 등이 있다.

 

DDL-CREATE TABLE : 테이블을 정의하는 명령문

-표기 형식

CREATE TABLE 테이블명
	(속성명 데이터_타입[DEFAULT 기본값][NOT NULL], ...
    [, PRIMARY KEY(기본키_속성명, ...)]
    [, UNIQUE(대체키_THRTJDAUD, ...)]
    [, FOREIGN KEY(외래키_속성명, ...)]
    	[REFERENCES 참조테이블(기본키_속성명, ...)]
        [ON DELETE 옵션]
        [ON UPDATE 옵션]
    [, CONSTRAINT 제약조건명][CHECK(조건식)]);

-PRIMARY KEY : 기본키로 사용할 속성 또는 속성의 집합을 지정

 

-UNIQUE : 대체키로 사용할 속성 또는 속성의 집합을 지정하는 것으로 UNIQUE로 지정한 속성은 중복된 값을 가질 수 없음

 

-FOREIGN KEY ~ REFERENCES ~ 

  • ON DELETE 옵션 : 참조 테이블의 튜플이 삭제됐을 때 기본 테이블에 취해야 할 사항을 지정. 옵션에는 NO ACTION, CASCADE, SET NULL. SET DEFAULT가 있음
  • ON UPDATE 옵션 : 참조 테이블의 참조 속성 값이 변경됐을 때 기본 테이블에 취해야 할 사항을 정함. 옵션에는 NO ACTION, CASCADE, SET NULL, SET DEFAULT가 있음

-CONSTRAINT :  제약 조건의 이름을 지정함. 이름을 지정할 필요가 없으면 CHECK절만 사용해 속성 값에 대한 제약 조건을 명시함

 

-CHECK : 속성 값에 대한 제약 조건을 정의함

 

 

다른 테이블을 이요한 테이블 정의

-표기형식

CREATE TABLE 신규테이블명 AS SELECT 속성명[, 속성명, ...] FROM 기존테이블명;

 

 

DDL-CREATE VIEW : 뷰를 정의하는 명령문

-표기 형식

CREATE VIEW 뷰명[(속성명[, 속성명])] AS SELECT문;

-SELECT문 서브 쿼리로 사용해 SELECT문의 결과로서 뷰를 생성한다.

 

-서브 쿼리인 SELECT문에는 UNION이나 ORDER BY 절을 사용할 수 없다.

 

-속성명을 기술하지 않으면 SELECT문의 속성명이 자동으로 사용된다.

 

 

DDL-ALTER TABLE : 테이블에 대한 정의를 변경하는 명령문

-표기형식

ALTER TABLE 테이블명 ADD 속성명 데이터_타입[DEFAULT '기본값'];
ALTER TABLE 테이블명 ALTER|MODIFY 속성명 [SET DEFAULT ' 기본값'];
ALTER TABLE 테이블명 DROP COLUMN 속성명 [CASCADE];

-ADD : 새로운 속성(열)을 추가할 때 사용
-ALTER | MODIFY : 특정 속성의 정의를 변경할 때 사용
-DROP COLUMN : 특정 속성을 삭제할 때 사용

 

 

DDL-DROP TABLE : 기본 테이블을 제거하는 명령문

-표기형식

DROP TABLE 테이블명 [CASCADE | RESTRICTED];

-CASCADE : 제거할 요소를 참조하는 다른 모든 개체를 함께 제거함. 즉 주 테이블의 데이터 제거 시 각 외래키와 관계를 맺고 있는 모든 데이터를 제거하는참조 무결설 제약 조건을 설정하기 위해 사용됨

-RESTRICTED : 다른 개체가 제거할 요소를 참조중 일때는 제거를 취소함

'정보처리기사 실기' 카테고리의 다른 글

DML  (0) 2021.05.25
DCL  (0) 2021.05.25
애플리케이션 성능  (0) 2021.05.24
결함 관리(Fault)  (0) 2021.05.24
테스트 자동화 도구 유형  (0) 2021.05.24