[DB] 데이터베이스 용어 정리: DBMS, metadata, data models, schema, state, three-schema architecture 등등

2023. 12. 2. 14:00· Computer Science/Database
목차
  1. 💋 데이터베이스 기본 개념
  2. ✔️ 데이터베이스
  3. ✔️ DBMS
  4. ✔️ metadata
  5. ✔️ database system
  6. 💋 data models
  7. ✔️ 분류
  8. 💋 database schema
  9. 💋 database state
  10. 💋 three-schema architecture
  11. ✔️ internal schema
  12. ✔️ external schema
  13. ✔️ conceptual schema
  14. 💋 데이터베이스 언어
  15. ✔️ DDL(Data Definition Language)
  16. ✔️ SDL(Storage Definitoin Language)
  17. ✔️ VDL(View Definition Language)
  18. ✔️ DML(Data Manipulation Language)
  19. ✔️ 통합된 언어
  20. 💋 참고자료
반응형
반응형

 

 

💋 데이터베이스 기본 개념

 

✔️ 데이터베이스

전자적으로 저장되고 사용되는, 관련있는 데이터들의 조직화된 집합

 

✔️ DBMS

  • database management systems
  • 사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템

 

✔️ metadata

  • data about data
  • 데이터베이스를 정의하거나 기술하는 데이터
  • 데이터 유형, 구조, 제약 조건, 보안, 저장, 인덱스, 사용자 그룹 등
  • 메타 데이터 역시 DBMS로 관리된다.

 

✔️ database system

  • database + DBMS + 연관된 애플리케이션
  • database라고 부르기도 한다.

 

💋 data models

  • DB 구조를 기술하는데 사용될 수 있는 개념들

 

✔️ 분류

  • conceptual data models high-level
    • 일반 사용자(비개발자)들이 쉽게 이해할 수 있는 데이터 모델
    • 예) entity-relationship model (ER diagram)

 

 

  • logical data models representational
    • 디테일하게 DB를 구조화할 수 있는 개념 제공
    • 특정 DBMS, storage에 종속되지 않는 수준에서 DB를 구조화할 수 있음.
    • 예) relational data model(Oracle, MySQL), object data model 등
      • 유명한 DBMS는 모두 relational data model에 기반하고 있음.

 

 

  • physical data models low-level
    • 컴퓨터에 데이터가 어떻게 파일 형태로 저장되는지를 기술할 수 있는 수단 제공
    • data format, data orderings, access path 등

 

💋 database schema

  • 데이터베이스 모델을 바탕으로 데이터베이스의 구조를 기술한 것
  • 스키마는 데이터베이스를 설계할 때 정해지며, 한번 정해진 후에는 자주 바뀌지 않는다.

 

이미지 출처:  https://www.codecademy.com/learn/how-do-i-make-and-populate-my-own-database/modules/designing-a-database-schema/cheatsheet

 

 

💋 database state

  • 데이터베이스의 실제 데이터는 꽤 자주 바뀐다.
  • 특정 시점에 데이터베이스에 있는 데이터를 database state, snapshot, 또는 database instance라고 한다.

 

While the database schema defines the organization of data, an instance of the database is a snapshot of the content at any given moment. This picture includes the data and its relationship to other data in the database at a particular time.

 

💋 three-schema architecture

  • 데이터베이스 시스템을 구축하는 아키텍처 중 하나
  • user application으로부터 물리적으로 데이터베이스를 분리하기 위한 목적
  • 세 가지 level이 존재하며 각각 레벨마다 schema가 정의되어 있다.

 

 

이미지 출처: https://www.javatpoint.com/dbms-three-schema-architecture

 

 

이 아키텍처는 각 레벨을 독립시켜, 어느 레벨에서의 변화가 상위 레벨에 영향을 주지 않기 위해 만들어졌다. 한 레벨이 변경되었을 때, mapping만을 변경해주면 되기 때문이다.

대부분 DBMS가 three level을 완벽하게 나누지는 않으며 데이터가 실제로 존재하는 곳은 internal level이다.

 

✔️ internal schema

  • 물리적 데이터가 어떻게 저정되는지 physical data model로 표현
  • data storage, data structure, access path 등 실체가 있는 내용을 기술한다.

 

✔️ external schema

  • 실제 사용자가 바라보는 스키마 ⇒ external view, user view라고도 함.
  • 각 유저가 필요로 하는 데이터만 표현한다.
  • 그 외 알려줄 필요가 없는 데이터는 숨긴다.
  • logical data model을 통해 표현한다.

 

✔️ conceptual schema

  • 등장 배경
    • 초창기 데이터베이스 아키텍처는 internal schema, external schema만 있었음
    • 각 유저마다 필요로 하는 데이터가 달라 internel schema에서 중복되는 데이터가 포함되는 스키마가 여러 개 생김.
    • 관리가 어려워지게 되어, conceptual schema 탄생
  • 전체 데이터베이스에 대한 구조 기술
  • internal schema를 한 번 추상화해 표현한 스키마
  • 물리적 저장 구조에 대한 내용은 숨김.
  • entity, data type, relationships, user operations, constraints에 집중
  • logical data model을 통해 표현

 

💋 데이터베이스 언어

✔️ DDL(Data Definition Language)

  • conceptual schema를 정의하기 위해 사용되는 언어
    • internal schema까지 포함해서 정의할 수 있는 경우도 있음.

 

✔️ SDL(Storage Definitoin Language)

  • internal schema를 정의하는 용도로 사용되는 언어
    • 요즘은 특히 RDBMS에서는 SDL이 거의 없고, 파라미터 등 설정으로 대체된다.

 

✔️ VDL(View Definition Language)

  • external schema를 정의하는 용도로 사용되는 언어
    • 대부분 DBMS에서는 DDL이 VDL 역할까지 수행
    • DDL이 거의 모든 것들을 커버한다.

 

✔️ DML(Data Manipulation Language)

  • 데이터를 활용하기 위한 언어
  • 데이터의 추가, 삭제, 수정, 검색 등 기능을 제공하는 언어

 

✔️ 통합된 언어

  • 오늘날의 DBMS는 DML, VDL, DDL이 따로 존재하기보다는 하나의 통합된 언어로 존재한다. ⇒ 대표적 예가 SQL

 

💋 참고자료

  • https://www.javatpoint.com/dbms-three-schema-architecture
  • https://www.youtube.com/watch?v=aL0XXc1yGPs&list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe

 

도움이 되었다면, 공감/댓글을 달아주면 깃짱에게 큰 힘이 됩니다!🌟
비밀댓글과 메일을 통해 오는 개인적인 질문은 받지 않고 있습니다. 꼭 공개댓글로 남겨주세요!

 

 

반응형

'Computer Science > Database' 카테고리의 다른 글

[DB] SQL JOIN의 모든 것: Implicit VS Explicit, Inner VS Outer, Equi, Natural, Cross Join과 예시까지!  (2) 2023.12.06
[DB] Relational Database Constriants: 개념, implicit constraint와 explicit constraint, 종류  (0) 2023.12.03
[DB] Connection Pool: 개념, 등장 배경, Spring Boot에서 HikariCP 커넥션 풀 설정하기  (0) 2023.09.30
[DB] 클러스터링 인덱스: 인덱스의 개념, MySQL에서 리프 노드에 메모리 주소가 아닌 Primary Key를 저장하는 이유  (2) 2023.08.31
[DB/H2] H2 데이터베이스 버전 확인  (0) 2023.06.29
  1. 💋 데이터베이스 기본 개념
  2. ✔️ 데이터베이스
  3. ✔️ DBMS
  4. ✔️ metadata
  5. ✔️ database system
  6. 💋 data models
  7. ✔️ 분류
  8. 💋 database schema
  9. 💋 database state
  10. 💋 three-schema architecture
  11. ✔️ internal schema
  12. ✔️ external schema
  13. ✔️ conceptual schema
  14. 💋 데이터베이스 언어
  15. ✔️ DDL(Data Definition Language)
  16. ✔️ SDL(Storage Definitoin Language)
  17. ✔️ VDL(View Definition Language)
  18. ✔️ DML(Data Manipulation Language)
  19. ✔️ 통합된 언어
  20. 💋 참고자료
'Computer Science/Database' 카테고리의 다른 글
  • [DB] SQL JOIN의 모든 것: Implicit VS Explicit, Inner VS Outer, Equi, Natural, Cross Join과 예시까지!
  • [DB] Relational Database Constriants: 개념, implicit constraint와 explicit constraint, 종류
  • [DB] Connection Pool: 개념, 등장 배경, Spring Boot에서 HikariCP 커넥션 풀 설정하기
  • [DB] 클러스터링 인덱스: 인덱스의 개념, MySQL에서 리프 노드에 메모리 주소가 아닌 Primary Key를 저장하는 이유
깃짱
깃짱
연새데학교 컴퓨터과학과 & 우아한테크코스 5기 백엔드 스타라이토 깃짱
반응형
깃짱
깃짱코딩
깃짱
전체
오늘
어제
  • 분류 전체보기
    • About. 깃짱
    • Weekly Momentum
      • 2024
    • PROJECT
      • AIGOYA LABS
      • Stamp Crush
      • Sunny Braille
    • 우아한테크코스5기
    • 회고+후기
    • Computer Science
      • Operating System
      • Computer Architecture
      • Network
      • Data Structure
      • Database
      • Algorithm
      • Automata
      • Data Privacy
      • Graphics
      • ETC
    • WEB
      • HTTP
      • Application
    • C, C++
    • JAVA
    • Spring
      • JPA
      • MVC
    • AI
    • MySQL
    • PostgreSQL
    • DevOps
      • AWS
      • 대규모 시스템 설계
    • frontend
      • HTML+CSS
    • NextJS
    • TEST
    • Industrial Engineering
    • Soft Skill
    • TIL
      • 2023
      • 2024
    • Linux
    • Git
    • IntelliJ
    • ETC
      • 日本語

블로그 메뉴

  • 홈
  • 깃허브

인기 글

최근 글

태그

  • 컴포지션
  • 우테코
  • 람다
  • OOP
  • 우테코5기
  • TDD
  • 상속과조합
  • Composition
  • Stream
  • 람다와스트림
  • 레벨로그
  • 상속
  • 함수형프로그래밍
  • 스트림
  • 예외
  • 조합
  • 우아한테크코스
  • Java
  • lamda
  • 우아한테크코스5기
hELLO · Designed By 정상우.v4.2.0
깃짱
[DB] 데이터베이스 용어 정리: DBMS, metadata, data models, schema, state, three-schema architecture 등등
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.