Home > Computer Science > DB > 데이터베이스 기본 용어

데이터베이스 기본 용어
DB

database_system_flow

  • Database
    • 전자적으로 저장되고 사용되는 관련있는 데이터들의 조직화된 집합
    • Electronically, Related, Organized collection
  • DBMS (Database Management System)
    • 사용자에게 DB를 정의 및 관리하는 기능을 제공하는 소프트웨어 시스템
    • PostgreSQL, MySQL, Oracle Database, SQL Server
  • Metadata(=Catalog, Data about Data)
    • DB를 설명하는 데이터 (Descriptive)
    • DBMS를 통해 관리됨
    • e.g. 데이터 유형, 구조, 제약 조건, 보안, 저장, 인덱스, 사용자 그룹 etc…
  • Database System
    • Database + DBMS + 연관된 applications
    • 포괄적으로 database라고 부르기도 함
  • Data Model
    • DB의 구조를 추상화해 설명하는 모형 (DB 구조: 데이터 유형, 데이터 관계, 제약 사항 etc…)
    • DB 기본 Operations(CRUD)를 포함
    • 종류
      • Conceptual Data Model (=high-level)
        • 일반 사용자들이 쉽게 이해할 수 있게 DB를 구조화 (추상화 수준이 가장 높음)
        • 비즈니스 요구사항 기술에 사용
      • Logical Data Model (=representational)
        • 특정 DBMS에 종속되지 않는 수준에서 디테일하고 이해하기 쉽게 DB를 구조화
        • 실제 DB 설계를 할 수 있는 수준
        • 종류 (DBMS가 채택)
          • relational data model (MySQL, Oracle DB, SQL Server)
          • object data model
          • object-relational data model (PostgreSQL)
      • Physical Data Model (=low-level)
        • 컴퓨터에 데이터가 어떻게 파일 형태로 저장되는지를 기술
        • data format, data orderings, access path(e.g. index…)
  • Database Schema
    • Data Model을 바탕으로 database의 구조를 기술한 것
  • Database State (=Snapshot =현재 instances의 집합)
    • 특정 시점에 database에 있는 실제 데이터
  • Three-Schema Architecture
    • User Application으로 부터 물리적인 database를 분리
    • 각 레벨을 독립시켜 어느 레벨의 변화가 상위 레벨에 영향을 주지 않게 함 (안정적인 데이터베이스 운영)
    • Database system을 구축하는 architecture 중 하나로 가장 많이 사용됨
      • 대부분의 DBMS가 어느정도 따르나 three level을 완벽하게 나누지는 않음
      • Conceptual 변화는 External Level에 영향을 안 미치는 것이 상대적으로 힘들기 때문
    • 각각의 Schema는 DB 구조를 표현만 함. 데이터가 실제 존재하는 곳은 internal level
    • 분류
      • external schemas at external level (user view)
        • 특정 유저들이 필요로 하는 데이터만 표현 (그 외 데이터는 숨김)
        • logical data model을 통해 표현
      • conceptual schemas at conceptual level
        • internal schema를 추상화해서 물리적인 저장 구조 내용은 숨기고 전체 DB 구조를 기술
        • entities, data types, relationships, user operations, constraints에 집중
        • logical data model을 통해 표현
      • internal schemas at internal level
        • 물리적으로 데이터가 어떻게 저장되는지 physical data model을 통해 표현
        • data storage, data structure, access path 등 실체가 있는 내용 기술
  • Database Language
    • 오늘날 DBMS는 DML, VDL, DDL이 따로 존재하기 보다는 통합된 언어로 존재 (e.g. SQL)
    • 언어 종류
      • DDL (Data Definition Language)
        • Conceptual Schema를 정의하기 위해 사용하는 언어
      • SDL (Storage Definition Language)
        • Internal Schema를 정의하기 위해 사용하는 언어
        • 최근엔 파라미터 설정으로 대체 (SDL은 거의 없음)
      • VDL (View Definition Language)
        • External Schema를 정의하기 위해 사용하는 언어
        • 대부분의 DBMS에서 DDL이 VDL 역할까지 수행
      • DML (Data Manipulation Language)
        • Database에 있는 실제 data를 활용하기 위한 언어 (CRUD)