DB DBMS DB SYSTEM

문준혁·2023년 10월 23일
0

DB DBMS DB system

DB
전자적으로 저장되고 사용되는 관련있는 데이터들의 조직화된 집합
전자적 : 데이터가 컴퓨터에 저장이되고 사용이된다.
조직화 : 일정한 규칙에 맞게 정렬

DBMS
db를 정의하고 만들고 사용하는 기능 제공하는 소프트웨어 시스템
ex) mysql, oracle, h2 등등

metadata
data about data
database를 정의하거나 설명하는 data
ex) 사진이라는 data 가 있으면 그사진의 크기,찍은날자, 등등

DB system
database + DBMS + 연관 applications

data models
DB의 구조를 기술하는데 사용될 수 있는 개념들이 모인 집함
DB구조를 추상화해서 표현할 수 있는 수단 제공
data model은 여러종류가 있다
DB에서 읽고 쓰기 위한 기본적인 동작들도 포함

data model 종류
1 conceptual (high-level)
2 logical (representational)
3 physical (low-level)

1 conceptual
가장 쉽게 설명한 모델
추상화수준 가장 높음

2 logical
이해하기 어렵지 않으면서 디테일하게
데이터가 컴퓨터에 저장될떄 구조와 크게 다르지 않게 DB구조화를 가능하게함
특정 DBMS나 storage에 종속되지 않는 수준에서 DB 구조화

2-1 relational data model
2-2 object data model
2-3 object-relational data model

대부분 relational data model 가장중요

3 physical
컴퓨터에 데이터가 어떻게 파일형태로 저장되는지 기술할수있는 수단제공
data format, data orderings, access path 등등
access path : 데이터 검색을 빠르게 하기위한 구조체 (index 등등)

database schema
data model을 바탕으로 database의 구조를 기술한것


student id , 이름 등등은 attribute

database state
database 에 실제 들어있는 데이터 (snapshot라고도 함)

three-schema architecture
database system을 구축하는 architecture 하나

external
conceptual
internal

internal schema
물리적으로 데이터가 어떻게 저장되는지 physical data model 을 통해 표현
data storage, data structure, access path 등 실체가 있는 내용 기술

external schema
특정 유저들이 필요로 하는 데이터만 표현
logical data model을 통해 표현

초창기엔 위의 두개만 있었는데
각각의 유저들이 필요로 하는 데이터가 다를다보니
intenal level 에서도 점점 중복되는 데이터가 생김
이를 해결하기위해 conceptual schema 가 나옴
전체 database 에 대한 구조를 기술
물리적인 저장 구조에 관한 내용은 숨김
entities, data types, relationships, user operations, constraints 에 집중
logical data model 을 통해 기술

각각 레벨을 독립시켜서 한레벨의 변화가 상위 레벨에 영향을 주지않게(mapping만 바뀜)
하지만 요새 대부분의 DBMS는 three level을 완벽하게 혹은 명시적으로 나누지않음
실제 데이터는 internal level에만 존재

data definition language DDL
conceptual schema 를 정의하기 위해 사용되는 언어
internal schema까지 정의 하는경우도있음

storage definition SDL
internal schema 를 정의하는 용도
하지만 요즘 특히 relational DBMS에선
SDL이 거의 없고 파라미터 등의 설정으로 대체됨

view definition language VDL
external schemas 를 정의하기 위해 사용됨
대부분의 DBMS에선 DDL이 VDL의 역할까지함

data manipulation language DML
data를 활용하기 위한 언어
data를 추가 삭제 수정 검색 등등

오늘날은 DML VDL DDL 따로 존재하기보단 통합된 언어로 존재
relational database language (SQL)

profile
이제 시작 개발

0개의 댓글