의견.png

데이터 정의어

위키원
Asadal (토론 | 기여)님의 2021년 8월 11일 (수) 23:32 판
이동: 둘러보기, 검색

데이터 정의어(DDL, Data Definition Language)는 새로운 데이터베이스를 구축하기 위해 스키마(schema)를 정의하거나, 기존 스키마의 정의를 삭제 또는 수정하기 위해 사용하는 데이터 언어(data language)로, 새로 만들려는 데이터베이스의 전체적인 구조를 설명하거나, 데이터의 종류와 관계, 이미 정의된 스키마의 구조나 제약조건 등을 변경 또는 삭제하고 싶어 이를 데이터베이스 관리 시스템(database management system, DBMS)에 알릴 때 사용한다. 데이터 정의어로 정의된 스키마는 데이터 사전(Data Dictionary)이라는 특별한 파일에 여러 개의 테이블로서 저장이 된다. 저장되고, 삭제나 수정이 발생하면 이 내용도 데이터 사전에 반영된다. 데이터 사전에 저장된 스키마 정보는 사용자나 데이터베이스 관리 시스템이 필요할 때 참고할 수 있다.[1]

개요

데이터베이스 언어인 DDL, DCL, DML 중 DML 즉, 데이터 정의어는 데이터베이스 내의 객체 생성, 삭제, 변경을 명령을 의미하며 주로 관리자가 사용하는 명령이다. 데이터 정의어는 데이터 조작어와 달리 명령어를 수행하자마자 데이터베이스에 수행한 내용이 바로 반영되는 특성(COMMIT)이 있다. ROLLBACK을 통한 실행취소가 불가능 하기때문에 사용할 때 주의해야 한다. 명령어 중 CREATE, DROP, ALTER, TRUNCATE 등이 있으며 CREATE는 새로운 데이터 베이스 관계, (view), 인덱스(index), 저장 프로시저(stored procedure) 만들기 등을 수행할 수 있다. DROP명령어는 이미 존재하는 데이터 베이스 관계, 뷰, 인덱스, 저장 프로시저를 제거할 수 있고, ALTER는 이미 존재하는 데이터베이스 개체에 대한 변경, 이름 변경의 역할 을 한다. TRUNCATE는 관계에서 데이터를 제거하며 다시 복구할 수 없다.[2][3]

생성

CREATE 문은 관계형 데이터베이스 관리시스템의 관리 하에 객체를 생성하는 데이터 정의 언어(DDL) 명령이다. 사용하는 데이터베이스 관리시스템의 구현을 통해 CREATE 문장으로 만들 수있는 개체의 유형은 다르다. 그러나 대부분의 RDBMS의 구현은 표(테이블), 정의 영역(도메인), 색인(인덱스), 이용자(사용자), 별명(별칭), 저장프로시저 및 데이터베이스 작성을 지원하고 있다.[4]

테이블 생성

테이블을 생성하기 위해 테이블 이름, 속성이름, 속성의 데이터 타입을 지정할 때 CREATE TABLE 명령을 사용한다. 테이블을 생성할 때 여러 속성을 지정할 수 있기 때문에 필요한 만큼 기술할 수 있으며, 필드의 NULL 값의 허가여부, 기본키(primary key)와 그를 참조하는 외래키(Foreign key)의 지정, 속성의 제약조건을 기술할 수 있다. [5]

  • 일반적 테이블 생성문
CREATE TABLE 테이블명 
(속성명 데이터_타입 [제약 조건],
 속성명 데이터_타입 [제약 조건],
 PRIMARY KEY (속성명)
 FOREIGN KEY (속성명) REFERENCES 참조할 테이블명(속성명)
    [ON UPDATE [NO ACTION┃CASCADE┃SET NULL┃SET DEFAULT]]  
    [ON DELETE [NO ACTION┃CASCADE┃SET NULL┃SET DEFAULT]]
 CONSTRAINT 제약조건명 CHECK(제약조건));

스키마 생성

뷰 생성

인덱스 생성

도메인 생성

트리거 생성

변경

삭제

각주

  1. 데이터 정의어〉, 《네이버지식백과》
  2. 미니송, 〈데이터베이스 언어(DDL, DML, DCL) - DO의 IT〉, 《티스토리》, 2017-12-05
  3. pridiot, 〈(Oracle) 데이터 정의어 (DDL : Data Definition Language) - pridiot〉, 《티스토리》, 2019-09-29
  4. CREATE (SQL)〉, 《위키백과》
  5. SQL 데이터 정의 언어(DDL) – 1〉, 《helloblog.net》

참고자료

같이 보기


  의견.png 이 데이터 정의어 문서는 데이터에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.