DataBase Management System

백소현·2025년 5월 10일
post-thumbnail

DBMS

DataBase

전자적으로 저장되고 사용되는 관련있는 데이터들의 조직화된 집합.
즉, 컴퓨터에 저장되어 사용되고 있는 데이터들을 관련있는 것끼리 조직화한 것

DBMS

DataBase Management System

  • 사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템
  • PostgreSQL, MySQL, Oracle Database, Microsoft SQL Server
  • DB를 정의하다 보면 부가적인 데이터가 발생하는데, 이를 Meta Data라고 함
  • database + DBMS + 연관된 applications
  • DataBase라고도 함 (위 database와 다른 의미)

Data Models

DB의 구조를 기술하는데 사용될 수 있는 개념들이 모인 집합.
DB 구조를 추상화해서 표현할 수 있는 수단을 제공

Data Models의 분류

  1. conceptual data models
  • high-level data models라고도 함
  • 일반 사용자들이 쉽게 이해할 수 있는 개념들로 이루어진 모델
  • 추상화 수준이 가장 높음
  • 비즈니스 요구 사항을 추상화하여 기술할 때 사용
  1. logical data models
  • representation data models라고도 함
  • 이해하기 쉽지만 디테일하게 DB 구조화 할 수 있는 개념을 제공
  • 데이터가 컴퓨터에 저장될 때의 구조와 크게 다르지 않게 DB 구조화
  1. physical data models
  • low-level data models라고도 함
  • 컴퓨터에 데이터가 어떻게 파일 형태로 저장되는지 기술할 수 있는 수단 제공
  • data format, data orderings, access path 등

DataBase Schema

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

schema는 database를 설계할 때 정해져 자주 바뀌지 않음

DataBase State

" 특정 시점에 database에 있는 데이터.
= snapshot
= database에 있는 현재 instances의 집합

relational data model

주요 개념

  • domain
    : set of atomic values
  • domain name
    : domain 이름
  • attribute
    : domain이 relation에서 맡은 역할 이름
  • tuple
    : 각 attribute의 값으로 이루어진 리스트 (일부 값은 NULL일 수 있음)
  • relation
    : set of tuples
  • relaion name
    : relation의 이름

relaion schema

  • relation의 구조를 나타냄
  • relation 이름과 attributes 리스트로 표기
    relation_name (attribute1, attribute2, ...)
  • attributes와 관련된 constraints도 포함

degree of a relation
: relation schema에서 attributes의 수

relation (= relation state)
: 실제 데이터, 실제 튜플들의 집합

relation database

  • relational data model에 기반하여 구조화된 database
  • relational database는 여러 개의 relations로 구성

relation 특징

  1. relation은 중복된 tuple 가질 수 없음
  2. relation의 tuple을 식별하기 위해 attribute의 부분 집합을 key로 설정
  3. 하나의 relation에서 attribute의 이름이 중복되면 안 됨
  4. relation에서 tuple과 attribute의 순서는 중요하지 않음
  5. attribute는 atomic 해야 함 (더이상 쪼개지지 않는 단위로)
    → composite or multivalued attribute 허용 안 함

0개의 댓글