Home DDL 이란
Post
Cancel

DDL 이란

DDL(Data Definition Language)

데이터 정의 언어는 이름 그대로 데이터를 정의 하는 언어입니다.
해당 데이터가 무엇을 의미하는지 정의합니다.
사실 데이터만 정의 하는것이 아니라 (논리적인)구조에 관련된 전반적인 것들을 정의할 때 사용합니다.
제약조건, 릴레이션간의 관계, 데이터의 순서 등을 정의합니다.

예를들면, <출석부> 릴레이션이 있다고 합시다. 그리고 아래처럼 생긴 릴레이션을 만드려고 합니다.

번호이름성별출석여부
001김이박남자 
002나박류여자 

DDL 을 이용해 하는 것은 <출석부> 라는 릴레이션이 있음을 명시하고, 그 안에 ‘번호, 이름, 성별, 출석여부 라는 데이터가 존재한다.’ 라고 작성하는 것입니다.
그리고 ‘번호는 1 부터 40 까지만 존재한다’ 라고 하는 제약조건, ‘성별은 남자와 여자 두 가지만 존재한다’는 제약조건을 작성하는 것도 DDL에서 합니다.
DB 에는 <출석부> 외에도 다양한 릴레이션을 정의해놓게 됩니다. 그 중 <재학생> 이라는 릴레이션과 관계를 작성하는 것도 DDL 에서 합니다.

DDL의 결과는 메타데이터(meta data)입니다. 메타데이터란 쉽게 말해서 ‘데이터를 설명하는 데이터’를 의미합니다.
DDL의 결과는 데이터사전(data dictionary)에 저장됩니다. 데이터 사전에는 DB System만이 접근할 수 있습니다.

SQL DDL

SQL DDL 에는 create, drop(삭제), alter(수정) 가 있습니다.
새로운 테이블을 정의하고 싶다면 create table
기존 테이블을 삭제하고 싶다면 drop table
기존 테이블의 구조를 변경하고 싶다면 alter table 로 작성합니다.

위에서 예시로 들었던 릴레이션을 sql로 작성하면 아래와 같습니다.

1
2
3
4
5
6
create table 출석부 (
	번호 smallint check (40 >= 번호 and 번호 >= 1),
	이름 char(10),
	성별 char(4) check (성별 = '남자' or 성별 = '여자'),
	출석여부 bool
)
This post is licensed under CC BY 4.0 by the author.

스프링 입문 1강

도커 Tomcat Apache 연동