본문 바로가기
정보처리기사

데이터정의어(DDL)

by 두두리안 2022. 7. 2.
728x90

목차

1.데이터 정의어(DDL: Data Definition Language)

1.데이터 정의어(DDL: Data Definition Language)

1-1. DDL 명령어 종류

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

1-2. CREATE(테이블 생성)

1. 데이터베이스 생성
    * CREATE DATABASE 데이터베이스명
2. 테이블 생성
    * CREATE TABLE 테이블명
3. 제약조건 유형
    * PRIMARY KEY
        - 테이블의 기본키 정의
        - NOT NULL, UNIQUE 제약포함
    * FOREIGN KEY
        - 테이블의 외래키 정의
        - 참조 대상 명시: 테이블명(필드명)
        - 참조 무결성 위배 시 처리옵션 지정
    * UNIQUE
        - 테이블의 유일키 정의
        - 동일한 값(중복)을 제어하기 위해 지정
    * NOT NULL
        - 필수 입력항목에 대해 설정
    * CHECK
        - 개발자가 정의하는 제약조건
4. 테이블 생성 예시
    CREATE TABLE 학생(  // 테이블 생성
        학번 INT PRIMARY KEY, // 기본키 설정
        이름 CHAR NOT NULL, // 이름 필수입력
        연락처 CHAR(15) DEFAULT'비공개' // 연락처 없을시 비공개 입력
    )

1-3. ALTER(테이블 변경)

1. 필드 추가
    * ALTER TABLE 테이블명 ADD 필드명 데이터 타입[위치옵션]
    * 위치옵션
        - 생략: 맨뒤에 필드 추가
        - FIRST: 맨 앞에 필드 추가
        - AFTER 필드명: 지정 필드 뒤에 필드 추가
2. 필드 변경
    * 데이터 타입 변경: 학생 테이블의 이름 필드 데이터 타입을 변경
    * ALTER TABLE 학생 MODIFY 이름 CHAR(15)
    * 데이터명 변경: 학생 테이블의 이름필드를 학생명으로 변경
    * ALTER TABLE 학생 RENAME COLUMN 이름 TO 학생명
3. 필드 삭제
    * 학생 테이블의 연락처 필드 삭제
    * ALTER TABLE 학생 DROP 연락처
4. 제약조건 추가
    * ADD CONSTRAINT: 제약조건 추가
    * ALTER TABLE 학생 ADD CONSTRAINT 제약조건명 제약조건(필드명)
    * ENABLE CONSTRAINT: 제약조건 활성화
    * ALTER TABLE 학생 ENABLE CONSTRAINT 제약조건명
5. 제약조건 삭제
    * DROP CONSTRAINT: 제약조건 삭제
    * ALTER TABLE 학생 DROP CONSTRAINT 제약조건명
    * DISABLE CONSTRAINT: 제약조건 비활성화
    * ALTER TABLE 학생 DISABLE CONSTRAINT 제약조건명

1-4. DROP(테이블 구조 삭제)

1. 데이터베이스 삭제
    * DROP DATABASE 학생관리
2. 테이블 삭제
    * DROP TABLE 학생[삭제옵션]
    * 삭제옵션
        - CASCADE: 학생 테이블과 관련된 모든 테이블도 함께 삭제
        - RESTRICT: 학생 테이블과 관련된 테이블이 있다면 명령 취소

1-5 TRUNCATE(테이블 내용 삭제)

* 테이블 삭제: 학생 테이블의 모든 튜플을 삭제
* TRUNCATE TABLE 학생

참고자료 : 이기적 환상콤비 정보처리기사

728x90

'정보처리기사' 카테고리의 다른 글

데이터제어어(DCL)  (0) 2022.07.03
데이터조작어(DML)  (0) 2022.07.03
E-R 다이어그램  (0) 2022.07.02
논리 데이터 모델링  (0) 2022.07.01
관계형데이터베이스(RDBMS)  (0) 2022.07.01