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
반응형
'학교 > 도제 과정' 카테고리의 다른 글
[실기] 문제1 (0) | 2021.05.26 |
---|---|
[필요지식] DML 활용 (0) | 2021.05.13 |
[Oracle DB] 문제 모음 (0) | 2021.04.29 |