본문 바로가기

DBMS

[SQL] DDL( Data Define Language )

반응형

DDL( Data Define Language )  

 

개념

 

□ 테이블(Table) , 뷰(View) , 스키마(Schema) , 도메인(Domain) , 

    인덱스(index)를 정의하거나 변경 또는 제거할 때 사용하는 언어다.

 

□ DDL로 정의된 내용은 메타데이터(Metadata)가 되며 , 

    시스템 카탈로그(System Catalog)에 저장된다.

 

☞ 메타데이터 : 다른 데이터를 설명해 주는 데이터.(속성정보)

 

 

유형

 

명령문  기능 
 CREATE  테이블,뷰,스키마,도메인,인덱스를 만든다.
 ALTER   테이블을 수정한다.
DROP  테이블,뷰,스키마,도메인,인덱스를 제거한다. 

         

 


 

 

 

도메인 ( CREATE DOMAIN )

    

□ 도메인은 데이터의 범위를 지정하는 데이터타입이다.

    

    EX) 성별 [ 남,녀 

                  

         초등학교 학년 [ 1~6 ]     

     

 

  

 

스키마 ( CREATE SCHEMA )

 

□ 스키마는 테이블과 기타 구성요소 등을 그룹짓기 위한 것이다.

 

□ 소유권자 , 허가권자를 정의한다.

 

□ 표기 형식 : CREATE SCHEMA 스키마명 AUTHORIZATION 사용자_ID

 

[예제]ID가 김민수인 사용자의 스키마 '회사'를 정의하는 SQL문

           CREATE SCHEMA 회사 AUTHORIZATION 김민수;

 

 

 

 

■ 뷰 ( CREATE VIEW ) 

        

□ 테이블은 물리적으로 구현되어 실제로 데이터가 저장되지만 

    뷰는 물리적으로 구현되지 않는다.

 

□ 표기형식 : CREATE VIEW 뷰명[(속성명[,속성명,...])] AS SELECT문;

 

 

 

인덱스 ( CREATE INDEX )

 

□ 검색을 빠르게 하기 위해 만든 데이터 구조다.

 

 


 

 

■ CREATE TABLE 

 

□ 테이블을 만드는 명령문이다.

 

 

[예제]  요구사항에 맞는 테이블(practice)을 작성하세요.

<요구사항>   

id(문자4)  , name(문자 5) , sex(문자 1) , phone(문자 16

id 속성은 기본키이다.

'sex' 속성은 'm' 또는 'f' 값만 갖도록 한다. (제약조건의 이름은 sex_ck)

 


 

1
2
3
4
5
6
7
8
CREATE TABLE practice
( id VARCHAR(4PRIMARY KEY,
  name VARCHAR(5) ,
  sex CHAR(1),
  phone VARCHAR(16),
  
  CONSTRAINT sex_ck CHECK (sex='m' or sex='f'),
);
cs

 

 

※ CHAR & VARCHAR 차이점

CHAR는 항상 지정된 크기만큼 기억장소가 확보되고,

VARCHAR는 기억 장소의 크기가 지정되도

필드에 저장된 데이터만큼만 기억장소가 확보된다.

 

 

 

 

 

 

ALTER TABLE 

 

□ 테이블을 수정하는 명령문이다.

 

□ 표기형식 

 ALTER TABLE 테이블명 ADD 속성명 데이터타입 [DEFAULT '기본값'];

 ALTER TABLE 테이블명 ALTER 속성명 [SET DEFAULT '기본값'];

 ALTER TABLE 테이블명 DROP 속성명 [CASCADE];

 

- ADD : 새로운 속성을 추가한다.

- ALTER : 속성의 기본값(Default)을 변경한다.

- DROP : 속성을 제거한다.

 

 

[예제]<사원> 테이블에 최대 12문자로 구성되는 전화번호 속성을 추가하는 SQL문

   ALTER TABLE 사원 ADD 전화번호 VARCHAR(12);            

  

 

 

 

 

DROP TABLE

 

□ 테이블을 제거하는 명령문이다.

 

□ 표기형식 : DROP TABLE 테이블명 [ CASCADE | RESTRICT ]

 

- CASCADE(종속) : 연결된 개체까지 같이 제거한다.

- RESTRICT(제한) : 다른 개체가 제거할 개체를 참조하면 제거가 취소된다.

 

 

 

반응형

'DBMS' 카테고리의 다른 글

[SQL] DML(Data Manipulation Language)  (0) 2017.06.23
[SQL] - SELECT문  (0) 2017.06.22
위즈몰 (쇼핑몰 오픈소스)  (0) 2017.06.22
[SQL] 서브쿼리 문제  (0) 2017.06.22
SQL 인젝션  (0) 2017.06.21