[정보처리기사] SQL응용 - DDL

이아현·2023년 7월 1일
0

정보처리기사

목록 보기
2/11

2. DDL

✅ DDL의 개념

  • DDL (Data Defintion Language) : 데이터를 정의하는 언어
  • 특정 구조를 생성, 변경, 삭제, 이름을 바꾸는 데이터 구조와 관련된 명령어들

✅ DDL의 대상

  • 도메인 : 하나의 속성이 가질 수 있는 원자값들의 집합
  • 스키마 : DB의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조
    • 외부 스키마 : 사용자나 개발자의 관점에서 필요로하는 DB의 논리적 구조
    • 개념 스키마 : DB의 전체적인 논리적 구조
    • 내부 스키마 : 물리적 저장 장치 관점에서의 DB 구조
  • 테이블 : 데이터 저장 공간
  • 뷰 : 하나 이상의 물리 테이블에서 유도되는 가상의 테이블
  • 인덱스 : 검색을 빠르게 하기 위한 데이터 구조

✅ 테이블

  • 데이터를 저장하는 항목인 필드들로 구성된 데이터의 집합

  • 릴레이션 혹은 엔터티라고도 불림

  • 용어

    용어설명
    튜플/행테이블 내의 행을 의미하며 레코드라고도 함
    애트리뷰트/열테이블 내의 열, 열의 개수 = 차수(degree)
    식별자각각을 구분할 수 있는 논리적인 개념
    카디널리티튜플의 개수
    차수애트리뷰트의 개수
    도메인하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값 등의 집합

✅ 뷰

  • 논리 테이블로서 사용자에게 (생성 관점 x, 사용 관점 o) 테이블과 동일
  • 사용자는 뷰가 만들어져있다면 조인 없이 하나의 테이블을 대상으로 하는 단순한 질의어를 사용할 수 있음
  • 특징
    • 논리적 데이터 독립성 제공
    • 데이터 조작 연산 간소화
    • 보안 기능(접근제어) 제공
    • 뷰 변경 불가

✅ 인덱스

  • 검색 연산의 최적화를 위해 DB내 값에 대한 주소 정보로 구성된 데이터 구조
  • 데이터를 빠르게 찾을 수 있는 수단으로 테이블에 대한 조회 속도를 높여주는 자료 구조
  • 특정 레코드의 위치를 알려줌
  • 종류
    • 순서, 해시, 비트맵, 함수기반, 단일, 결합, 클러스터드 인덱스

✅ DDL 명령어 : CREATE, ALTER, DROP, TRUNCATE

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

✅ TABLE 관련 DDL

명령어설명
CREATE TABLE 테이블명테이블을 생성
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입테이블 컬럼 추가
ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입테이블 컬럼 수정
ALTER TABLE 테이블명 DROP COLUMN 컬럼명 데이터타입테이블 컬럼 삭제
DROP TABLE 테이블명 (CASCADE / RESTRICT)테이블 삭제 (참조 테이블까지 연쇄 제거 혹은 X)
TRUNCATE TABLE 테이블명테이블 내의 데이터들을 삭제

✅ VIEW 관련 DDL

명령어설명
CREATE VIEW 뷰이름뷰를 생성
CREATE OR REPLACE VIEW 뷰이름뷰를 교체
DROP VIEW 뷰이름뷰를 삭제

✅ INDEX 관련 DDL

명령어설명
CREATE INDEX 인덱스명 ON 테이블명인덱스를 생성
ALTER INDEX 인덱스명 ON 테이블명인덱스를 수정
DROP VIEW 인덱스명인덱스를 삭제
profile
PM을 지향하는 FE 개발자 이아현입니다 :)

0개의 댓글