본문 바로가기
Computer Science/database

4. SQL

by yongmin.Lee 2020. 7. 19.

1. SQL
2. DDL
3. DML
4. DCL
5. Join

6. View
7. Transaction

 

1. SQL

: 관계형 데이터 베이스의 표준 질의어로 정의, 조적, 제어기능을 모두 갖춘 언어

 

- sql 구성요소

a) DDL

b) DML

c) DCL

 

2. DDL

: 놀리적 데이터 구조와 물리적 데이터 구조의 사상을 정의

 

- CREATE :  schema, domain, table, view, index 정의

- ALTER : table에 대한 정의를 변경

- DROP : schema, domain, table, view, index 삭제

 

3. DML

: 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는 데 사용되는 언어

 

- SELECT : 테이블에서 조건에 맞는 튜플 검색

- INSERT : 테이블에 새로운 튜플 삽입

- DELETE : 테이블에서 조건에 맞는 튜플 제거

- UPDATE : 테이블에서 조건에 맞는 튜플의 내용 변경

 

4. DCL

: 데이터이 보안, 무결성, 회복, 병행 수행 제어등을 정의하는 데 사용되는 언어

 

- COMMIT : 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료됬었음을 알림

- ROLLBACK : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 지정 시점으로 복구

- GRANT : 데이터베이스 사용자에게 권한 부여

- REVOKE : 데이터베이스 사용자에게 권한 회수

 

- authorization 의종류 

a) select

b) insert

c) update

d) delete

 

 - ROLE

: 권한을 부여받을 개별적인 사용자가 생성됭 때 마다 권한을 부여할 필요없이 권한을 받을 특정 role을 생성하고 이를 사용자에게 부여함으로써 반복작업을 제거

 

5. Join

: 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산

 

- natural join

: 중복되는 속성을 제거하여 같은 속성을 한 번만 표기하는 방법

 

6. View

: 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블

 

- view 장점

a) 논리적 데이터 독립성을 제공한다

b) 사용자의 데이터 관리를 간단하게 해줌

c) 접근 제어를 통한 자동 보안 제공

 

- view 단점

a) 뷰의 정의를 변경할 수 없다

b) 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따름

 

7. Transaction

: 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위

 

- commit : 한개의 논리적 작업 단위가 성공적으로 끝났고, 데이터베이스가 다시 일관된 상태에 있을 때, 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산.

 

- rollback : 하나의 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스의 일관성을 깨뜨렸을 때, 이 트랜잭션의 일부가 정상적으로 처리되었더라도 트랜잭션의 원자성을 구현하기 위해 트랜잭션이 행한 모든 연산을 취소하는 연산

 

- transaction 특징

a) atomicity : 트랜잭션 연산은 데이터베이스에 모두 반영되도록 commit 되거나 전혀 반영되지 않도록 rollback된다

b) consistency : 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.

c) isolation : 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다

d) durability : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어어 한다.




'Computer Science > database' 카테고리의 다른 글

3. Database Design  (0) 2020.07.19
2. Database Model  (0) 2020.07.19
1. Database 기본개념  (0) 2020.07.19