정보처리산업기사 2019년 10월 실기 기출문제 (복원)
데이터 언어는 데이터베이스를 구축하고 이용하기 위한 데이터베이스 관리 시스템과의 통신 수단이다. 데이터 언어는 데이터베이스의 구조를 정의 및 변경하는 DDL, 데이터를 조작하는 DML, 보안 및 무결성, 병행제어 등을 위한 DCL로 구분된다. 다음 <보기>에서 DDL과 DML에 속하는 명령어들을 골라 적으시오. (5점)
Commit, Table, Insert, Domain, Update, Query, Create, Trigger, Alter, Rollback, Procedure, Drop, Select, Grant, Delete, Revoke, View |
<정답>
DDL : Create, Alter, Drop
DML : Select, Update, Insert, Delete
*DCL은 없으며, 다른 단어들은 모두 데이터 언어가 아닙니다.
DDL(Data Definition Language), 데이터 정의 언어
: 컴퓨터 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터의 데이터를 정의하는 언어이다.
: *나만의 표현 - 릴레이션(테이블) 단위로 데이터베이스를 다루는 언어!
SQL의 데이터 정의 언어(DDL)로는,
> CREATE - 새로운 릴레이션, View, INDEX, 저장 프로시저 생성
> DROP - 이미 존재하는 릴레이션, View, INDEX, 저장 프로시저 제거
> ALTER - 이미 존재하는 릴레이션, View 등에 대한 변경
> TRUNCATE - 릴레이션에서 데이터를 돌이킬 수 없는 제거
*DELETE 와 TRUNCATE 의 차이점
DELETE | TRUNCATE |
데이터만 삭제괴도, 용량은 그대로 유지 | 테이블을 초기상태로 되돌린다.(테이블 통째로 삭제) |
삭제한 내용을 되돌릴 수 있다.(복구 O) | 용량이 줄어들고, 인덱스, PK 등의 설정이 삭제된다. |
전체 or 일부 데이터를 선택하여 삭제할 수 있다. | 전체 삭제만 가능하다. |
TRUNCATE 명령어에 비해 속도가 느리다. | 삭제 후 복구가 불가능하다. |
DML(Data Manipulation Language), 데이터 조작 언어
: 데이터베이스 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터 데이터베이스에 대해 검색, 등록, 삭제, 갱신을 위한 데이터베이스 언어이다. 2007년 현재 가장 대중적인 데이터 조작 언어는 SQL이다.
: *나만의 표현 - 레코드(튜플) 단위로 데이터베이스를 다루는 언어!
SQL의 데이터 조작 언어(DML)로는,
> SELECT - 검색, 질의
> INSERT - 삽입, 등록
> UPDATE - 업데이트, 수정
> DELETE - 삭제
DCL(Data Control Language), 데이터 제어 언어
: 데이터베이스에서 데이터에 대한 액세스를 제어하기 위한 데이터베이스 언어이다.
: 여러 데이터베이스 사용자들의 SQL 사용권한을 부여하고 박탈할 수 있따.
: *나만의 표현 - 보안 관련, DB 자체를 책임지는 언어!
SQL의 데이터 제어 언어(DCL)로는 구문 / 권한 두 파트로 나눈다.
[ 구문 ]
> GRANT - 특정 데이터베이스 사용자에게 특정 작업의 수행 권한을 부여한다.
> REVOKE - 특정 데이터베이스 사용자에게 부여한 권한을 박탈한다.
[ 권한 ]
> CONNECT - 데이터베이스 또는 스키마에 연결하는 권한
> SELECT/INSERT/UPDATE/DELET - DML의 사용 권한
> USAGE - 스키마 또는 함수와 같은 데이터베이스 개체를 사용할 수 있는 권한
| 글이 도움이 되었다면 공감❤️ 부탁드립니다.
| 질문, 토론, 그저 그런 이야기 모두 댓글 환영해요. :D
| Instargram @00_minwooky