All :L

8장 SQL 응용 (SQL - DDL) 본문

STUDY/정보처리기사

8장 SQL 응용 (SQL - DDL)

ofijwe 2023. 4. 15. 14:01
반응형

[SQL - DDL]

💡 DDL이란?

 

  • Data Define Language로 데이터 정의어라고 한다.
  • DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어
  • 3가지 유형 : CREATE, ALTER, DROP

💡 CREATE 명령어는 어떻게 사용할까?

CREATE SCHEMA

 

: 스키마를 정의하는 명령문

📌 일반 형식
CREATE SCHEMA 스키마명 AUTHORIZATION 사용자_id;
# 예시 👩🏻‍💻
CREATE SCHEMA 대학교 AUTHORIZATION 홍길동;

CREATE DOMAIN

 

: 도메인을 정의하는 명령문

📌 일반 형식
CREATE DOMAIN 도메인명 [AS] 데이터_타입
 [DEFAULT 기본값]
   [CONSTRAINT 제약조건명 CHECK (범위값)];
# 예시 👩🏻‍💻
CREATE DOMAIN SEX CHAR(1)
    DEFAULT '남'
    CONSTRAINT VALID-SEX CHECK(VALUE IN ('남', '여'));

CREATE TABLE

 

: 테이블을 정의하는 명령문

📌 일반 형식  
CREATE TABLE 테이블명
    (속성명 데이터_타입 [DEFAULT 기본값] [NOT NULL], 
    [, PRIMARY KEY(기본키_속성명, )]
    [, UNIQUE(대체키_속성명, )]
    [, FOREIGN KEY(외래키_속성명, )]
        REFERENCES 참조테이블(기본키_속성명, )]
      [ON DELETE 옵션]
      [ON UPDATE 옵션]
    [, CONSTRAINT 제약조건명][CHECK (조건식)]);
# 예시 👩🏻‍💻
CREATE TABLE STUDENT
    (이름 VARCHAR(15) NOT NULL,
     학번 CHAR(8),
     전공 CHAR(5),
     성별 SEX,
     생년월일 DATE,
     PRIMARY KEY(학번),
     FOREIGN KEY(전공) REFERENCES 학과(학과코드)
           ON DELETE SET NULL
        ON UPDATE CASCADE,
     CONSTRAINT 생년월일제약 CHECK (생년월일 >= '1980-01-01'));

CREATE VIEW

 

: 뷰를 정의하는 명령문

📌 일반 형식  
CREATE VIEW 뷰명[(속성명[, 속성명, ])]
AS SELECT문;
# 예시  👩🏻‍💻
CREATE VIEW 안산고객(성명, 전화번호)
AS SELECT 성명, 전화번호
FROM 고객
WHERE 주소 = '안산시';

CREATE INDEX

 

: 인덱스를 정의하는 명령문

📌 일반 형식 
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블명(속성명[ASC | DESC]])
[CLUSTER];
# 예시  👩🏻‍💻
CRETAE UNIQUE INDEX 고객번호_idx
ON 고객(고객번호 DESC);
  - UNIQUE : 중복값 없는 속성으로 인덱스 생성
  - ASC : 오름차순 (DEFAULT)
  - DESC : 내림차순

💡 ALTER 명령어는 어떻게 사용할까?

ALTER TABLE

 

: 테이블에 대한 정의를 변경하는 명령문

📌 일반 형식 
ALTER TABLE 테이블명 ADD/ALTER/DROP COLUMN 속성명 [CASCADE];
# 예시 👩🏻‍💻
ALTER TABLE 학생 ADD VARCHAR(3);
ALTER TABLE 학생 ALTER 학번 VARCHAR(10) NOT NULL;
  - ADD : 새로운 속성 추가
  - ALTER : 특정 속성 Default 값 변경
  - DROP COLUMN : 특정 속성 삭제

💡 DROP 명령어는 어떻게 사용할까?

DROP

 

: 스키마, 도메인, 기본 테이블, 뷰 테이블, 인덱스 제약 조건 등을 제거하는 명령문

📌 일반 형식 
DROP SCHEMA/DOMAIN/TABLE/VIEW/INDEX/CONSTRAINT 이름 [CASCADE | RESTRICT];
# 예시 👩🏻‍💻
DROP TABEL 학생 CASCADE;
  - CASCADE : 제거할 요소를 참조하는 다른 모든 개체 함께 제거
  - RESTRICT : 제거할 요소 참조중일 때는 제거 취소
반응형
Comments