본문 바로가기
Computer Science

[Database] DBMS Languages

by Henry Cho 2022. 2. 22.
728x90

DBMS Languages


포스트 난이도: HOO_Junior

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


# DBMS Languages

Database를 구성하기 위해서는 DBMS를 통해서 Database를 만들 수 있다.

개발자는 DBMS를 다뤄서 Database를 구축하기 위해서는 별도의 프로그래밍 언어가 필요하다.

DBMS language는 DBMS를 다루기 위한 데이베이스 언어에 해당한다.

DBMS language에는 크게 3가지 종류의 언어로 나뉘게 되는데, DDL, DML, DCL이 있다.


# Data Definition Language

DDL이라고 불리는 데이터 정의 언어는 schma와 mapping에 대한 정의를 할 때 사용하는 언어이다.

한마디로 Conceptual schema를 구성할 때 사용된다고 볼 수 있다.

DBMS에서 DDL은 internal이나 external schemas를 정의하는데도 사용된다.

이때 일부 DBMS에서는 internal과 external schemas에 대한 언어적 구분이 이루어지는데, Storage definition language, 즉 SDL과 View definition language, VDL로 구분하여 사용하기도 한다.

DDL의 대표적인 예로는 Creat, Alter, Drop a table 등이 있다.


# Data Manipulation Language

DML은 데이터베이스에서 데이터의 저장과 업데이트와 관련된 언어이다.

대표적으로는 Select, Insert, Upadate, Delete 등이 이에 해당한다.

DML은 data sublanguage라고도 하는데 general purpose programming language를 host language로 하여 사용되기 때문이다.

그렇기에 DML 보다는 C++이나 Java가 더 친숙하게 느껴질 수 있다.

하지만 그렇다고 해서 꼭 DML을 사용하는데 Host language가 필요한 건 아니다.

Query language를 사용하여 DML commands를 바로 사용할 수 있지만, 대다수는 General purpose programming languages들과 더불어 사용하는 편이다.

또한 DML은 2가지 types가 존재하는데 High level과 Low level DML이다.

High level은 Non-procedural language라고도 불리며 SQL relational language가 여기에 속한다.

어떻게 retrieve될지 보다는 특정 set으로 구성되어 있는 것이 대표적인 특징이다.

반면에 Low level 또는 Procedural language의 경우에는 데이터를 저장할 때마다 Retrieve data 되는 것이 특징이다.

 


# Data Control Language

DCL은 보안과 데이터베이스 접근성에 관련된 언어이다.

대표적인 예로는 Grant, Revoke, Deny 등이 있다.

 


728x90

댓글