컴퓨터 공학 분야 별 지식/database

DDL, DML

N돌핀 2024. 4. 6. 19:15

 DDL(Data Definition Language)

DDL은 데이터베이스 스키마를 표기하기 위한 특별한 표기법입니다.

 

DDL 컴파일러는 데이터 딕셔너리에 저장되는 테이블 구조를 만듭니다.

 

데이터 딕셔너리는 메타데이터(데이터를 초월한 데이터: 테이블 이름, 컬럼 등 구조)를 포함하고 있습니다.

  • 데이터베이스 스키마
  • 제약조건
    • PK
  • 권한

 DML(Data Manipulation Language)

DML은 적절한 데이터 모델에 의해 구성된 데이터에, 접근하거나 업데이트 하는 언어입니다

쿼리 언어로도 알려져 있습니다.

 

두 가지 타입의 DML이 존재합니다.

  1. Procedural DML(절차적): 데이터를 어떻게 얻는지 알고 무슨 데이터가 필요한지 아는 유저가 필요합니다.
  2. Declarative DML(비절차적, 선언적): 데이터를 어떻게 얻는지 몰라도 무슨 데이터가 필요한지 아는 유저가 있으면 됩니다. EX) Select ...From...Where...

 

SQL(Structured Query Language)

SQL은 한 개 이상의 테이블을 입력으로 받아, 항상 한개의 테이블을 리턴하는 비절차적(선언적) 언어입니다.

애플리케이션 프로그램들은 일반적으로 다음과 같이 두 가지 방법으로 데이터베이스에 접근합니다.

  1. 임베디드 SQL을 허용하는 언어 확장팩
  2. SQL 쿼리를 허용하는 애플리케이션 프로그램 인터페이스

 

애플리케이션 프로그램에서 데이터베이스에 접근하기

SQL과 같은 비절차적 언어는 유니버셜 튜링 머신과 같이 강력하지 않습니다.

SQL은 유저들의 인풋, 디스플레이에 나가는 아웃풋, 네트워크와 커뮤니케이션 등의 액션들을 지원해주진 않습니다.

컴퓨테이션과 액션들은 반드시 C,C++,Python, Embedded SQL 쿼리와 같이 데이터베이스에 접근하는 호스트 언어로 쓰여져야 합니다.

'컴퓨터 공학 분야 별 지식 > database' 카테고리의 다른 글

Database query processor  (0) 2024.04.06
Database storage manager  (0) 2024.04.06
데이터베이스 추상화 계층  (0) 2024.03.31
데이터베이스 시스템의 목적  (0) 2024.03.31
[DB, ERD]ERDCloud 사용법  (0) 2022.04.14