본문 바로가기
정보처리기사/데이터베이스 구축

SQL, DDL, DCL, View

by jhwannabe 2023. 7. 19.

SQL, DDL

SQL(Structured Query Language)

  • 의미 : 관계형 데이터베이스의 표준 질의어
  • 종류 : DDL, DML, DCL

DDL(Data Definition Language, 데이터 정의어)

  • 데이터베이스의 정의/변경/삭제에 사용되는 언어
  • 논리적 데이터 구조와 물리적 데이터 구조로 정의할 수 있음
  • 논리적 데이터 구조와 물리적 데이터 구조 간의 사상을 정의함
  • 번역한 결과가 데이터 사전에 저장됨
  • 종류
    • CREATE : 스키마, 도메인, 테이블, 뷰 정의
    • ALTER : 테이블 정의 변경(필드 추가, 삭제, 갱신)
    • DROP : 스키마, 도메인, 테이블, 뷰 삭제

CREATE문 문법 구조

  • CREATE TABLE : 테이블을 생성하는 명령문
CREATE TABLE 기본 테이블
    ({열이름 데이터_타입 [NOT NULL] [DEFAULT 값], }
    {[PRIMARY KEY(열이름_리스트)]},
    {[UNIQUE(열이름_리스트, ...)]},
    {[FOREIGN KEY(열이름_리스트)] REFERENCES 기본테이블(기본키_열이름)]
    [ON DELETE 옵션]
    [ON UPDATE 옵션]
    [CHECK(조건식)]};
  • { }는 중복 가능한 부분
  • NOT NULL은 특정 열에 대해 널(Null) 값을 허용하지 않을 때 기술함
  • PRIMARY KEY는 기본키를 구성하는 속성을 지정할 때 사용
  • FOREIGN KEY는 외래키로 어떤 릴레이션의 기본키를 참조하는지를 기술함

ALTER문 문법 구조

  • ALTER TABLE : 테이블 구조(필드 추가, 삭제, 변경) 변경문
ALTER TABLE 테이블_이름 ADD 열_이름 데이터_타입 DEFAULT 값;
ALTER TABLE 테이블_이름 ALTER 열_이름 SET DEFAULT 값;
ALTER TABLE 테이블_이름 DROP 열_이름 CASCADE;
  • ADD : 새로운 열(속성)을 추가할 때 사용
  • ALTER : 특정 열(속성)의 디폴트 값을 변경할 때 사용
  • DROP : 특정 열(속성)을 제거할 때 사용

DROP문 문법 구조

  • DROP TABLE : 테이블 삭제문
DROP SCHEMA 스키마_이름 [CASCADE | RESTRICT];
DROP DOMAIN 도메인_이름 [CASCADE | RESTRICT];
DROP TABLE 테이블_이름 [CASCADE | RESTRICT];
DROP INDEX 인덱스_이름;
  • CASCADE : 옵션을 사용하면 삭제할 요소가 다른 개체에서 참조 중이라도 삭제가 수행됨
  • RESTRICT : 옵션을 사용하면 삭제할 요소가 다른 개체에서 참조 중이라면 삭제가 수행되지 않음

 

DCL(Data Control Language)

DCL(데이터 제어어)의 기능

  • 데이터 제어 정의 및 기술에 사용되는 언어
  • 불법적인 사용자로부터 데이터를 보호함
  • 무결성은 유지하고 데이터 복구 및 병행 제어를 함
  • 종류
    • COMMIT : 명령어로 수행된 결과를 실제 물리적 디스크로 저장하고, 명령어로 수행을 성공적으로 완료하였음을 선언함
    • ROLLBACK : 명령어로 수행에 실패하였음을 알리고, 수행된 결과를 원상 복귀시킴
    • GRANT : 데이터베이스 사용자에게 사용 권한을 부여함
    • REVOKE : 데이터베이스 사용자로부터 사용 권한을 취소함

뷰(View)

  • 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 기본 테이블에서 유도되는 가상 테이블

뷰(View)의 특징

  • 뷰의 생성 시 CREATE문, 검색 시 SELECT문 사용
  • 뷰의 정의 변경 시 ALTER문을 사용할 수 없고 DROP문을 이용함
  • 뷰를 이용한 또 다른 뷰의 생성이 가능
  • 하나의 뷰 제거 시 그 뷰를 기초로 정의된 다른 뷰도 함께 삭제됨
  • 뷰에 대한 조작에서 삽입, 삭제, 갱신 연산은 제약이 따름
  • 뷰가 정의된 기본 테이블이 제거되면 뷰도 자동적으로 제거됨

뷰(View)의 장·단점

장점 - 논리적 데이터 독립성 제공, 사용자 데이터 관리 편의성을 제공함
- 접근 제어를 통한 보안을 제공함
단점 - ALTER VIEW문으로 뷰의 정의 변경이 불가능
- 삽입, 삭제, 갱신 연산에 제약이 따름

시스템 카탈로그(System Catalog)

  • 시스템 자신이 필요로 하는 여러 가지 객체(기본 테이블, 뷰, 인덱스, 데이터 베이스, 패키지, 접근 권한 등)에 관한 정보를 포함하고 있는 시스템 데이터베이스
  • 데이터 사전(Data Dictionary), 메타 데이터(Meta Data)라고도 함
  • 시스템 카탈로그 자체도 시스템 테이블로 구성되어 있어 SQL문을 이용하여 내용 검색이 가능함
  • 사용자가 시스템 카탈로그를 직접 갱신할 수는 없으나 SQL문으로 여러 가지 객체에 변화를 주면 시스템이 자동으로 갱신됨
728x90
반응형

'정보처리기사 > 데이터베이스 구축' 카테고리의 다른 글

트랜잭션, 병행 제어  (0) 2023.07.19
데이터베이스 조작(DML)  (0) 2023.07.19
관계 대수와 연산자  (0) 2023.07.18
반정규화  (0) 2023.07.18
정규화  (0) 2023.07.18