본문 바로가기
자격증/정보처리기사

[정보처리기사 필기] Part 3 데이터베이스 구축 Chapter4 관계 데이터베이스 언어 공부

by Mr.ticket 2023. 12. 15.
728x90

1. 메모

 

없음

 

2. Point

 

 SQL의 종류

종류 관련 명령어
데이터 정의어
(DDL : Data Definition Language)
CREATE, DROP, RENAME, ALTER, TRUNCATE 등
데이터 조작어
(DML : Data Manipulation Language)
INSERT, UPDATE, DELETE, SELECT 등
데이터 제어어
(DCL : Data Control Language)
GRANT, REVOKE 등
트랜잭션 제어어
(TCL : Transaction Control Language)
COMMIT, ROLLBACK, SAVEPOINT 등

 

DDL의 유형

 - CREATE문 : 스키마, 도메인, 테이블, 뷰, 인덱스의 정의에 사용

  • 스키마 정의

CREATE SCHEMA 스키마_이름 AUTHORIZATION 사용자_id;

 

  • 도메인 정의

CREATE DOMAIN 도메인_이름 데이터_타입;

 

  • 인덱스 정의

CREATE [UNIQUE] INDEX 인덱스_이름
    ON 테이블_이름({열_이름 [ASC | DESC]})
    [CLUSTER];

 

  • 테이블 정의 형식

CREATE TABLE 테이블_명
    ({열_이름 데이터_타입 [NOT NULL][DEFAULT 묵시값]}
    [PRIMARY KEY(열_이름)]
    {[UNIQUE(열_이름)]}
    {[FOREIGN KEY(열_이름) REFERENCES 기본테이블]
    [ON DELETE 옵션]
    [ON UPDATE 옵션]}
    [CHECK(조건식)]);
/*{} : 반복 / [] : 생략*/

 

 - ALTER문 : 기존 테이블에 대해 새로운 열의 첨가, 값 변경, 기존 열의 삭제 등에 사용

  • 기본 형식

ALTER TABLE 테이블_이름 ADD 열_이름 데이터_타입; /*열 추가*/
ALTER TABLE 테이블_이름 ALTER 열_이름 SET DEFAULT 값; /*값 변경*/
ALTER TABLE 테이블_이름 DROP 열_이름 CASCADE; /*열 삭제*/

 

 

 - DROP문 : 스키마, 도메인, 테이블, 뷰, 인덱스 제거 시 사용(전체 삭제)

  • 기본 형식

DROP SCHEMA 스키마_이름 [CASCADE or RESTRICTED]
DROP DOMAIN 도메인_이름 [CASCADE or RESTRICTED]
DROP TABLE 테이블_이름 [CASCADE or RESTRICTED]
DROP INDEX 인덱스_이름;

 -> CASCADE : 삭제할 요소가 참조 중이라도 삭제

 -> RESTRICTED : 삭제할 요소가 참조 중이면 삭제되지 않음

 

DML의 유형

 - SELECT문 : 테이블의 튜플 중 전체 또는 조건에 만족하는 튜플을 검색하는데 사용

  • 기본 형식

SELECT 열_이름(검색 대상)
FROM 테이블_이름
[WHERE 조건]
[GROUP BY 열_이름 [HAVING 조건]]
[DRDER BY 열_이름 [ASC or DESC]];

   -> GROUP BY : 그룹으로 나누어줌

   -> HAVING : GROUP BY 사용시에 그룹에 대한 조건

   -> ORDER BY : 정렬을 수행(ASC : 오름차순 / DESC : 내림차순)

   -> IS NULL(IN NOT NULL) : NULL 값 비교

   -> LIKE : 부분 매치 질의문(% : 하나 이상의 문자 / _ : 단일 문자

   -> 집계 함수 : COUNT, SUM, AVG, MAX, MIN

   -> ALL : 서브쿼리와 조합하여 사용하며 모두를 의미

   -> SOME : 서브쿼리와 조합하여 사용하며 하나 이상을 의미

   -> EXISTS : 존재 정량자로 존재 유무를 검색

   -> BETWEEN A AND B : A 이상 B 이하 검색

 

 - INSERT문 : 기존 테이블에 행을 삽입할 때 사용

  • 기본 형식

INSERT
INTO 테이블[(열_이름)]
VALUES(열값_리스트);

 

- UPDATE문 : 기존 레코드 열값을 갱신할 경우 사용

  • 기본 형식

UPDATE 직원
SET 열_이름=변경_내용
[WHERE 조건];

 

- DELETE문 : 기존 테이블 행을 삭제할 때 사용

DELETE FROM 테이블 [WHERE 조건];

 

뷰(View) : 하나 이상의 테이블로부터 유도되어 만들어진 가상 테이블이며 실행 시간에만 구체화된다.

  • 기본 형식

CREATE VIEW 뷰_이름[{열_이름_리스트]
    AS SELETE문
    [WITH CHECK OPTION];

   -> WITH CHECK OPTION절은 해당 뷰에 대한 갱신이나 삽입 연산이 실행될 때 뷰 정의 조건을 위배하면 실행을 거절시킨다는 것을 명세하는 것이다.

 

뷰의 특징

 - 뷰가 정의된 기본 테이블이 제거나 변경되면, 뷰도 자동적으로 제거나 변경된다.

 - 외부 스키마는 뷰와 기본 테이블의 정의로 구성된다.

 - 뷰에 대한 검색은 기본 테이블과 거의 동일하지만 삽입, 삭제, 갱신에는 제약이 따른다.

 - DBA는 보안 측면에서 뷰를 활용할 수 있다.

 - 뷰는 CREATE문에 의해 정의되고 SYSVIEW에 저장된다.

 - 한 번 정의된 뷰는 변경이 불가하고, 삭제한 후 다시 생성해야 한다.

 - 뷰의 정의는 ALTER문을 이용하여 변경할 수 없다.

 - 뷰를 제거 시에 DROP문만 사용한다.

 - 뷰의 수정에는 제약이 있지만, 수정하는 뷰가 기본키를 가진다면 가능하다.

 

3. 오답 노트

 

없음

 

개인 공부를 위한 게시물로 틀린 내용을 포함할 수 있는 점 참고 부탁드립니다.
728x90

댓글