본문 바로가기

개발/DB

[SQL] 1.데이터 정의어(DDL)

 

 

DDL은 DB구조, 데이터 형식, 접근방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어이다.

3가지의 유형이 있는데 

 

CREATE 스키마, 도메인, 테이블, 뷰, 인덱스를 정의함
ALTER 테이블에 대한 정의를 변경하는데 사용함
DROP 스키마, 도메인, 테이블, 뷰, 인덱스를 삭제함

이중 가장 자주 사용하는 테이블을 기준으로 설명하겠다.

 

1. CREATE 

CREATE 테이블을 정의하는 명령문이다.

기본 테이블에 포함될 모든 속성에 대하여, 속성명과 그 속성의 데이터타입, 기본값 , NULL 값 허용 여부를 지정한다.

 

  • Primary Key : 기본키로 사용할 속성을 지정함 
    • 기본키 ( 후보키중에서 특별히 선정된 키 )
    • 데이터를 보다 명확하게 구분하고 찾기 위한 식별자

 

 PK ( 기본키 )의 특징
1. 테이블에 저장된 행을 식별할 수 있는 유일한 값이어야 한다.

2. 값의 중복이 없어야 한다.
3. NULL 값을 가질 수 없다.

 

  • UNIQUE : 대체키로 사용할 속성을 정함, 중복된 값을 가질수 없음
    • CREATE UNIQUE INDEX id_idx ON STUDENT (id desc);
  • FOREIGN KEY : 외래키로 사용할 속성을 정함 
  • CONSTRAINT: 제약조건의 이름을 지정함

 

예제: (정보처리기사 실기 19년도 출제 문제)

create table patient (

id char(5) PRIMARY KEY,

name char(10),

sex char(1),

phone char(10),

CONSTRAINT sex_ck CHECK (sex ='f' or sex = 'm'),

CONSTRAINT id_fk FOREIGN KEY(id) REFERENCES doctor(doc_id) );

 

sex 속성은 f 또는 m 값만 갖도록 한다 ( 제약조건명 : sex_ck)

id는 <doctor> 테이블에 있는 'doc_id' 를 참조한다. ( 제약조건명 : id_fk )

 

 

2. ALTER

 

ALTER 테이블은 테이블에 대한 정의를 변경하는 명령문이다.

ADD   ALTER TABLE 테이블명 ADD 속성명 데이터_타입
alter table student add id varchar(10); 
ALTER  ' set ' ALTER TABLE 테이블명 ALTER 속성명 SET 'XXX';
DROP   ALTER TABLE 테이블명 DROP COLUMN 속성명

 

3. DROP

DROP 테이블은 테이블에 대한 정의를 삭제하는 명령문이다.

  - DROP TABLE "테이블명" 

 

 

 

'개발 > DB' 카테고리의 다른 글

[SQL] 2.데이터 조작어(DML)  (0) 2021.04.28