Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- SWEA
- 구현
- 그래프 탐색
- 백트래킹
- 백준알고리즘
- 데이터베이스
- oracle
- 문자열
- 브루트포스 알고리즘
- DP
- 그래프 이론
- SW Expert Academy
- 백준 알고리즘
- BFS
- 프로그래머스
- 깊이우선탐색
- 다익스트라
- 파이썬
- 다이나믹 프로그래밍
- 오라클
- 완전탐색
- Python
- 브루트포스
- DFS
- 스택
- 너비 우선 탐색
- 너비우선탐색
- 그리디 알고리즘
- javascript
- 자바스크립트
Archives
- Today
- Total
민규의 흔적
[오라클 DB] 데이터베이스 언어(데이터 정의어, 데이터 조작어, 데이터 제어어) 본문
데이터베이스 언어
사용자와 데이터베이스 관리 시스템(DBMS) 간의 통신 수단을 의미한다.
데이터베이스 언어로는 크게 3가지가 존재한다.
데이터 정의어(DDL : Data Definition Language)
DBMS는 정의된 스키마에 대한 명세를 시스템 카탈로그 또는 데이터 사전에 저장한다.
DDL은 데이터베이스 스키마를 정의 또는 수정, 삭제하기 위해 사용한다.
데이터 정의어의 기본적인 기능은 다음과 같다.
1. 데이터 모델에서 지원하는 데이터 구조를 생성
예) SQL에서 CREATE TABLE
2. 데이터 구조의 변경
예) SQL에서 ALTER TABLE
3. 데이터 구조의 삭제
예) SQL에서 DROP TABLE
4. 데이터 접근을 위해 특정 애트리뷰트 위에 인덱스를 정의
인덱스를 정의하는 이유는 정렬의 장점을 이용하기 위함이다. (인덱스 설계 -> 빠르게 데이터를 찾기 위함)
예) SQL에서 CREATE INDEX
데이터 조작어(DML : Data Manipulation Language)
데이터의 삽입, 삭제, 수정, 검색 등의 처리를 요구하기 위해 사용한다.
관계 DBMS에서 사용되는 SQL은 대표적인 비절차적 언어이다.
절차적 언어 (Procedural Language)
- 어떤 데이터가 필요하고, 어떻게 데이터를 찾을 것인가를 명시하는 언어
비절차적 언어(non - Procedural Language)
- 어떤 데이터가 필요한지만을 명시하는 언어
데이터의 검색(SQL에서 SELECT), 수정(UPDATE), 삭제(DELETE), 삽입(INSERT)과 SUM, COUNT, AVG와 같은 내장 함수들을 가지고 있다.
단말기에서 대화식으로 입력되어 수행되거나 C, 자바 등의 고급 프로그래밍 언어로 작성된 프로그램에 내포되어 사용될 수 있다.
데이터 제어어(DCL : Data Control Language)
무결성, 동시성 제어, 보안 등에 필요한 규칙이나 기법을 정의하기 위해 사용한다.
사용 목적
- 무결성 : 정확하고 유효한 데이터만 유지
- 보안 : 허가 받지 않은 사용자의 데이터 접근 차단, 허가된 사용자에게 권한 부여
- 회복 : 장애가 발생해도 데이터 일관성 유지
- 동시성 제어 : 데이터 동시 공유 지원
사용자는 데이터 제어어를 사용하여 트랜잭션을 명시하고 권한을 부여 또는 취소할 수 있다.
'데이터베이스' 카테고리의 다른 글
[오라클 DB] 관계 데이터 모델의 개념과 용어 정리 (4) | 2023.10.17 |
---|---|
[오라클 DB] 데이터 모델과 데이터 모델링 (0) | 2023.10.17 |
[오라클 DB] 데이터베이스 구조 - ANSI/SPARC 아키텍쳐 (2) | 2023.10.17 |
[오라클 DB] 데이터베이스 관리 시스템(DBMS)의 발전 과정 (3) | 2023.10.14 |
[오라클 DB] DBMS와 파일 시스템 (0) | 2023.10.12 |