Notice
Recent Posts
Recent Comments
05-21 07:17
«   2024/05   »
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
Archives
Today
Total
관리 메뉴

Byeol Lo

Database Management - DBMS Concept 본문

BackEnd/Database Management

Database Management - DBMS Concept

알 수 없는 사용자 2023. 4. 1. 15:14

 E/R 모델을 통해 개념적 설계가 끝나고 DBMS 내의 논리적 설계를 위해 SQL(Structured Query Language)을 알아야 한다. SQL은 데이터 질의와 조작을 위한 표준화된 언어이며, 매우 상위 계층의 언어(High-level Language)이다. SQL은 질의에 따라 DCL, DDL, DML로 나뉜다. (DCL은 나중에 배워도 된다.)

 

Data Definition Language(DDL)

 SQL의 한 유형이며, 관계(Relation = Table) 스키마(테이블 또는 속성 생성/변환/제거)에 관련된 질의 언어이다. 아래의 표 제목과 열 이름들을 조작하는데 쓸 수 있는 쿼리이다.

Title Example

Name Old Gender
Isabolla 9 girl
Ethan 11 boy
Michael 8 boy

 

Data Manipulation Language(DML)

 테이블 안의 Row(record, entity - E/R 모델에서 쓰이는 용어)에 대해 데이터 삽입, 삭제, 수정 등을 맡고 있는 쿼리이다. 위의 행들을 관리하는 것이다. 행들에 들어가는 값들은 다음과 같은 데이터 타입(Atomic)을 "무조건" 가져야 한다. 프로그래밍 언어와는 다르게 데이터 타입을 Atomic types이라고 한다.

 

Data Types in SQL (Atomic types)

  • 문자형(Characters) : CHAR(n), VARCHAR(n)
  • 숫자형(Numbers) : INT, BIGINT, SMALLINT, FLOAT, NUMERIC
  • 기타(Others) : MONEY, DATETIME

이를 통해 Table Schema(관계 스키마)를 이제 정의할 수 있고, 다음과 같이 테이블 이름, 속성, 아토믹 타입이 들어가게 된다.

Product(Pname: string, Price: float, Category: string, Manufacture: string)

 string은 char로 나타내야 하지만, 들어가는 용량이 어떻게 될지 모르고 간단하게 나타내기 위해 때문에 일반적으로 스키마를 표현할 때는 저렇게 나타내는 듯하다. (내 추측이다.)

 

General Constraints

 주로 사용하게 되는 제한, 규칙들을 적용하기 위한 제약조건들을 나타내는 용어다. 각 열에 적용되며, 일반적 제약은 다른 제약 조건들보다 우선시 된다. (ex. PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE, ...)

 이러한 제약조건들을 많이 사용하다 보면 성능(Performance)에 영향이 가는데, Constraints와 Performance는 서로 Trade-off 관계에 있어, 하나가 좋으면 하나가 나빠지게 된다. 하지만, 스키마와 제약조건들이 있음으로 인해서 DB 데이터 들의 의미를 더 잘 이해할 수 있게 된다.

Comments