학교/도제 과정

[필요지식] DDL 활용

H E E 2021. 5. 12. 13:40
728x90

DDL 개요

 

DDL 이란?

  :  DDL(Data Definition Language)은 ‘데이터를 담는 그릇을 정의하는 언어’ 이다.

 

- DDL 대상

  :  DDL을 통해 정의할 수 있는 대상, 오브젝트 유형

DDL 대상 설명 비고
스키마(Schema) - DBMS 특성과 구현 환경을 감안한 데이터 구조
- 직관적으로 하나의 데이터베이스로 이해 가능
DBMS마다 차이
도메인(Domain) - 속성의 데이터 타입과 크기, 제약 조건등을 지정한 정보 예를 들어, 주소를 VARCHAR(120)로 정의
테이블(Table) - 데이터 저장 공간  
뷰(View) - 하나 이상의 물리 테이블에서 유도되는 가상의 논리 테이블  
인덱스(Index) - 검색을 빠르게 하기 위한 데이터 구조  

 

- DDL 명령어

구분 DDL 명령어 내용
생성 CREATE 데이터베이스 오브젝트 생성
변경 ALTER 데이터베이스 오브젝트 변경
삭제 - DROP
- TRUNCATE
- 데이터베이스 오브젝트 삭제
- 데이터베이스 오브젝트 내용 삭제

 

DDL 활용

- 테이블 생성

 테이블 생성을 위한 DDL 사용 방법은 다음과 같이 두 종류로 분류할 수 있음. (키워드 : CREATE)

구분 문법
신규생성 CREATE TABLE 테이블이름 (
   열이름 데이터 타입 [DEFAULT 값] [NOT NULL] ,
   열이름 데이터 타입 [DEFAULT 값] [NOT NULL] , ···
   PRIMARY KEY (열리스트) ,
   FOREIGN KEY (열리스트) REFERENCES 테이블이름 (열이름) ON [ DELETE / UPDATE ] [ NO ACTION / CASCADE / SET NULL / SET DEFAULT ]
   CHECK (조건식)
   UNIQUE (열이름)
 );
다른 테이블 정보를 이용한 테이블 생성* CREATE TABLE 테이블이름 AS SELECT 문;

* 다른 테이블을 이용해서 신규 테이블을 생성하는 방법은 DBMS 제품마다 차이가 있음.

 

- 테이블 변경

 키워드 ALATER를 이용하여 테이블 구조를 변경하는 문법

구분 문법
열 추가 ALTER TABLE 테이블이름 ADD 열이름 데이터타입 [DEFAULT 값]
열 데이타 타입 변경 ALTER TABLE 테이블이름
MODIFY 열이름 데이터타입 [DEFAULT 값]
열 삭제 ALTER TABLE 테이블이름 DROP 열이름

 

- 테이블 삭제, 절단, 이름 변경

DROP TABLE, TRUNCATE TABLE, RENAME TABLE 명령문을 사용하여 테이블 삭제, 절단, 이름 변경을 할 수 있음.

구분 문법
테이블 삭제 DROP TABLE 테이블이름
테이블 내용 삭제 TRUNCATE TABLE 테이블 이름
테이블 이름 변경 - RANAME TABLE 이전테이블이름 TO 새로운 테이블이름
- ALTER TABLE 이전테이블이름 RENAME 새로운테이블이름

 

제약 조건 적용

- 제약 조건 유형

  다음과 같은 제약 조건을 테이블 생성 과정에 적용할 수 있다.

제약 조건 설명
PRIMARY KEY 테이블의 기본키를 정의함.
기본적으로 NOT NULL, UNIQUE 제약이 포함됨.
FOREIGN KEY 외래키를 정의함.
참조 대상을 테이블이름(열이름)으로 명시해야 함.
참조 무결성 위배 상황 발생 시 처리 방법으로 옵션 지정 가능
- NO ACTION, SET DEFAULT, SET NULL, CASCADE
UNIQUE 테이블 내에서 열은 유일한 값을 가져야 함.
테이블 내에서 동일한 값을 가져서는 안 되는 항목에 지정함.
NOT NULL 테이블 내에서 관련 열의 값은 NULL일 수 없음.
필수 입력 항목에 대해 제약 조건으로 설정함.
CHECK 개발자가 정의하는 제약 조건
상황에 따라 다양한 조건 설정 가능

- 제약 조건 활용

 테이블 생성을 위한 CREATE 문에 제약 조건을 명시하는 형태로 사용, ALTER를 통해 테이블 제약 조건을 변경 가능

 

SQL 활용 주요 내용

  SQL은 DDL, DML 및 DCL과 같은 유형의 작업을 통해 데이터베이스 안에 그릇을 만들고 그 안에 데이터를 담거나 꺼내어 사용하는 도구이다.

728x90
반응형