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. 오답 노트
없음
개인 공부를 위한 게시물로 틀린 내용을 포함할 수 있는 점 참고 부탁드립니다.
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] Part 3 데이터베이스 구축 Chapter6 고급 데이터베이스 공부 (0) | 2023.12.18 |
---|---|
[정보처리기사 필기] Part 3 데이터베이스 구축 Chapter5 데이터베이스 설계와 정규화 공부 (1) | 2023.12.15 |
[정보처리기사 필기] Part 3 데이터베이스 구축 Chapter 3 관계 데이터 모델 공부 (1) | 2023.12.14 |
[정보처리기사 필기] Part 3 데이터베이스 구축 Chapter 2 데이터 모델링 공부 (0) | 2023.12.13 |
[정보처리기사 필기] Part 3 데이터베이스 구축 Chapter 1 데이터베이스 개요 공부 (0) | 2023.12.13 |
댓글