Coffee Chat Brewing AI Knowledge

eng kor

데이터베이스 1: 데이터베이스 설계

DBMS와 스키마

DBMS (DataBase Management System)

사용자와 데이터베이스(DB) 사이에서 사용자의 요구에 따라 정보를 생성하고 DB를 관리하는 소프트웨어.

  • DBMS 관련 요구사항 식별 시 고려사항: 가용성, 성능, 기술지원, 상호호환성, 구축비용

DBMS 필수 기능

  • 정의 (Definition): 데이터 형(type)과 구조 정의. 이용 방식, 제약 조건 명시.
  • 조작 (Manipulation): 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 제공.
  • 제어 (Control): 데이터의 무결성/보안/권한 검사, 병행 제어 제공.

스키마 (Schema)

DB의 구조와 제약 조건에 고간한 명세를 기술한 것

스키마의 종류

  • 외부 스키마: 사용자나 응용 프로그래머 등 각 개인의 입장에서 필요한 DB의 논리적 구조.
  • 개념 스키마: DB 전체의 논리적 구조. 모든 사용자나 응용 프로그램이 필요로 하는 데이터 조직 전체의 DB로 하나만 존재함.
  • 내부 스키마: 저장장치 입장에서의 DB 구조. 실제 저장될 레코드의 형식, 표현, 물리적 순서 등을 나타냄.

데이터 모델

현실 세계의 정보를 컴퓨터에 표현하기 위해 단순화/추상화하여 체계적으로 표현한 개념적 모형.

데이터 모델의 요소

  • 구조 (Structure): 논리적으로 표현된 개체 타입 간 관계. 데이터 구조 및 정적 성질 표현.
  • 연산 (Operation): 실제 데이터를 처리하는 작업에 대한 명세. DB를 조작하는 기본 도구.
  • 제약 조건 (Constraint): 데이터가 DB에 저장되기 위한 논리적인 제약 조건.

시스템 카탈로그 (System Catalog)

시스템과 관련된 다양한 객체에 관한 정보를 포함하는 시스템 DB.

  • 시스템 카탈로그 내 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세 정보를 유지 관리하는 시스템 테이블.
  • 데이터 사전 (Data Dictionary)에 카탈로그가 저장되므로, 좁은 의미로는 카탈로그를 데이터 사전이라고도 함.


데이터베이스 설계 순서

  1. 요구 조건 분석:
    • 요구 조건 명세서 작성
  2. 개념적 설계 (정보 모델링, 개념화): 현실 세계를 추상적 개념으로 표현하는 과정.
    • 개념 스키마 모델링 및 트랜잭션 모델링을 병행 수행.
    • 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성.
  3. 논리적 설계 (데이터 모델링): 현실 세계의 자료를 특정 DBMS가 지원하는 논리적 자료 구조로 변환(mapping)하는 과정.
    • 개념적 데이터를 논리적 데이터로 모델링: 데이터 타입(필드)과 데이터 타입 간 관계로 표현.
    • 개념 스키마를 정제하여 DBMS에 따라 다른 논리적 스키마를 설계.
  4. 물리적 설계 (데이터 구조화): 논리적 구조의 데이터를 특정 DBMS가 지원하는 물리적 구조의 데이터로 변환하는 과정.
    • 다양한 DB에 응용 가능하도록 DB 파일의 저장 구조 및 액세스 경로를 결정.
    • 저장 레코드의 형식, 순서, 접근 경로, 조회 집중 레코드 등의 정보를 사용해 데이터가 저장되는 방법을 묘사.
  5. 구현: 목표 DBMS의 DDL로 DB 생성 및 트랜잭션 작성.

E-R 다이어그램 (Entity-Relationship Diagram)

데이터베이스의 논리적 구조를 시각적으로 표현하여 개체 (Entity), 엔티티 간의 관계 (Relationship), 속성 (Attribute)을 나타내는 다이어그램.

erd erd