DDL
DDL은 DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어.
DDL의 3가지 유형
- CREATE -> SCHEMA, DOMAIN, TABLE , VIEW , INDEX 정의
- ALTER -> TABLE에 대한 정의를 변경하는 데 사용함
- DROP -> SCHEMA , DOMAIN , TABLE , VIEW , INDEX를 삭제
CREATE
CREATE SCHEMA
-> 스키마를 정의하는 명령문이다.
표기형식
CREATE SCHEMA 스키마명 AUTHORIZATION 사용자_id ;
예제)
CREATE SCHEMA 대학교 AUTHORIZATION 홍길동;
-> 소유권자의 사용자 ID가 '홍길동'인 스키마 '대학교'를 정의
CREATE SCHEMA
-> 도메인을 정의하는 명령문
표기형식(대괄호([])로 묶은 명령어들은 생략이 가능)
CREATE DOMAIN 도메인명[AS] 데이터_타입
[DEFAULT 기본값]
[CONSTRAINT 제약조건명 CHECK (범위값)];
예제)
CREATE DOMAIN SEX CHAR(1)
DEFAULT '남'
CONSTRAINT VALID-SEX CHECK(VALUE IN "남", "여");
"성별"을 "남" 또는 "여"와 같이 정해진 1개의 문자로 표현되는 도메인 SEX를 정의
CREATE TABLE
-> 테이블을 정의하는 명령문
표기형식(대괄호([])로 묶은 명령어들은 생략이 가능)
CREATE TABLE 테이블명
(속성명 데이터_타입[DEFAULT 기본값] [NOT NULL],
[PRIMARY KEY (기본키_속성명,)] //기본키로 사용할 속성
[UNIQUE(대체키_속성명)] //대체키로 사용할 속성 지정, 중복된 값을 가질 수없음
[FOREGIN KEY(외래키_속성명)] // 외래키로 사용할 속성 지정
REFFERENCES 참조테이블(기본키_속성명)
[ON DELETE 옵션] //참조 테이블의 튜플이 삭제되었을 때 기본 테이블에 취해야 할 사항
[ON UPDATE 옵션] //참조 테이블의 참조 속성 값이 변경되었을 때 기본 테이블에 취해야 할 사항
[CONSTRAINT 제약조건명][CHECK(조건식)]);
CREATE VIEW
-> 뷰(VIEW)를 정의하는 명령문
표기형식(대괄호([])로 묶은 명령어들은 생략이 가능)
CREATE VIEW 뷰명(속성명)
AS SELECT문
예제)
CREATE VIEW 안산고객(성명,전화번호)
AS SELECT 성명, 전화번호
FROM 고객
WHERE 주소="안신시";
<고객>테이블에서 '주소'가 '안산시'인 고객들의 '성명'과 '전화번호'를 '안산고객'이라는 뷰로 정의
CREATE INDEX
-> 인덱스를 정의하는 명령문
표기형식(대괄호([])로 묶은 명령어들은 생략이 가능)
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블명(속성명 [ASC | DESC])
[CLUSTER]
예제)
CREATE UNIQUE INDEX 고객번호_idx
ON 고객(고객번호 DESC);
<고객> 테이블에서 UNIQUE한 특성을 갖는 '고객번호' 속성에 대해 내림차순으로 정렬하여 '고객_idx'이름으로 정의
ALTER TABLE
-> ALTER TABLE은 테이블에 대한 정의를 변경하는 명령문
표기형식(대괄호([])로 묶은 명령어들은 생략이 가능)
ALTER TABLE 테이블명 ADD 속성명 데이터_타입[DEFAULT '기본값'];
ALTER TABLE 테이블명 ALTER 속성명 [SET DEFAULT '기본값'];
ALTER TABLE 테이블명 DROP COLUMN 속성명 [CASCADE];
DROP
-> 제거하는 명령문
표기형식(대괄호([])로 묶은 명령어들은 생략이 가능)
DROP SCHEMA 스키마명 [CASCADE | RESTRICT];
DROP DOMAIN 도메인명 [CASCADE | RESTRICT];
DROP TABLE 테이블명 [CASCADE | RESTRICT];
DROP VIEW 뷰명 [CASCADE | RESTRICT];
DROP INDEX 인덱스명 [CASCADE | RESTRICT];
DROP CONSTRAINT 제약조건명;
CASCADE -> 제거할 요소를 참조하는 다른 모든 개체를 함께 제거한다.
RESTRICT -> 다른 개체가 제거할 요소를 참조중일 때는 제거를 취소한다.
참고 - 시나공
'Engineer Information Processing' 카테고리의 다른 글
[정보처리기사] 2020년 기출 모음 (0) | 2022.04.29 |
---|---|
[정보처리기사] 2021년 기출 모음 (1) | 2022.04.23 |
DML이란?(INSERT/DELETE/UPDATE/SELECT 개념/예제) (0) | 2022.04.20 |
DCL이란? (COMMIT/ROLLBACK/GRANT/REVOKE/SAVEPOINT 개념/예제) (0) | 2022.04.20 |
2022 정보처리기사 실기 요약 정리 -요구 사항 분석 (0) | 2022.04.18 |