Key
중복 되지 않는 Attribute
DDL과 DML
DDL(Data Definition Language) - 스키마를 정의
ex) 테이블 생성, 삭제
- create table instructor
- drop table instructor
DML(Data Manipulation Language) - 데이터 조회, 수정 query 문
ex) select (attribute1, attribute2, , ,)
from (relation1, relation2, , , )
where (condition1, condition2 , , ,)
Clause(select, from, where)
select (attribute1, attribute2, , ,) from (relation1, relation2, , , ) where (condition1)
from 인자에 해당하는 table에서,
select 인자에 해당하는 attribute중,
where 인자에 해당하는 condition을 만족하는
tuple들을 relation 으로 출력
where으로 조건을 써주지 않으면 from에 해당하는 테이블들의 모든 tuple들이 카티시안 곱 형태로 출력되게 됩니다.
E - R(Entity - Relationship) Model
데이터베이스 스키마는 처음에 어떻게 설계하냐가 중요합니다. E- R model은 그 설계를 도와주는 하나의 모델입니다.
ER model로 설계를 하게되면 보통 밑의 다이어그램 형태로 리턴을 해줍니다.

How DB internally work
Strorage maneger
- OS의 파일 시스템과 연동되고 실제 데이터의 인덱싱과 해싱을 담당합니다
Query processor
- SQL 같은 쿼리문을 파싱하고 번역합니다. 같은 의미를 가진 쿼리문들을 최적화 하여 효율성을 높입니다.

sql이 쿼리로 들어오면 쿼리 프로세스는 그것을 관계형 대수라는 DB에서 처리 가능한 문장으로 바꿔줍니다. C가 어셈블리어로 컴파일 되는 것과 비슷하다고 생각하면 될 것 같습니다.
관계형 대수는 하나의 명령 혹은 문장이 여러가지 표현으로 나뉩니다.
그 중 가장 효율적인 문장으로 optimizer가 통계 정보를 참고하여 최적화를 진행한 다음 evaluation engine에서 처리를 하고 쿼리에 대한 결과가 출력됩니다.
'CS > DataBase' 카테고리의 다른 글
| SQL(2) - Null value, Aggregate Function, Nested Sebqueries (0) | 2022.03.31 |
|---|---|
| SQL - join, rename, string, set (0) | 2022.03.31 |
| Relational algebra (0) | 2022.03.31 |
| Relation과 key (0) | 2022.03.28 |
| 데이터베이스만 할 수 있는 일 (0) | 2022.03.19 |