Database - 5.1 Relation database design

Mingi Shin·2023년 6월 10일
0

Database

목록 보기
7/16

개념적 데이터베이스 디자인 과정에서 엔티티, 관계, 무결성 제약 등을 설계한다.
엔티티는 데이터베이스에 표시하고 다른 엔티티와 구별할 수 있는 객체다.
relation은 2개 이상의 엔티티 간의 관계다.
개념적 데이터베이스 디자인의 최종 결과물은 개념적 스키마다.

📌 데이터베이스 디자인 개요

Requirement analysis

  • 요구 사항 분석.
  • 주제 선정
  • real world에 대한 요구 사항, 조건을 고민

Conceptual design

  • 개념적 디자인
  • 엔티티와 relation 고민
  • 결과물 -> ERD

DBMS selection

  • DBMS 선택
  • 어떤 DBMS를 사용할지 고민

Logical design

  • 논리적 디자인
  • 개념적 디자인에서의 결과물은 ERD를 가지고 실제 데이터베이스 스키마로 매핑
  • 결과물 -> 데이터베이스 스키마

Schema refienment

  • 정규화
  • 일관성은 100%. 중복은 최소화하는 작업

이상 개념적 데이터 모델 디자인

Physical design

  • 물리적 디자인
  • 데이터베이스 검색 성능을 위한 인덱싱 등

Security design

  • 유저와 액세스에 대한 제한, 권한 고민

📙 요구 사항 분석

주제를 선정하고 요구 사항을 수집한다.
수집한 요구 사항을 토대로 관련된 엔티티, 애트리뷰트, relation을 결정한다.

📙 개념적 디자인

요구 사항을 가지고 개념적 스키마를 생성한다. ER model이 대표적인 예시다.
엔티티의 유형, relation의 유형, 애트리뷰트, 애트리뷰트의 도메인, 기본키 등을 결정한다.

결과물은 ER model

📙 DBMS 선택

기술적 요인, 경제적 요인을 판단하여 DBMS를 선택한다.

기술적 요인: data model, storage, interface, query language, tool, service ...
경제적 요인: DBMS 하드웨어 구매 비용, 유지보수 비용, 인건비, 교육비, 이전 시스템 migration 등

📙 논리적 디자인

ER model을 가지고 데이터베이스 스키마를 뽑아낸다.
개념적 스키마(예: ER model)은 관계형 데이터베이스 스키마에 매핑된다.

엔티티는 보통 테이블로 매핑이 되고 매핑 이후에 정규화 작업을 거쳐 일관성은 지키되 중복은 최소화하는 스키마로 만든다.

결과물은 스키마

📙 물리적 디자인

Response time, Transaction processing ratio 두 가지 관점 중 하나로 설계한다. (쿼리당 처리 시간 vs 시간당 처리 가능 트랜잭션 개수)

📙 Transaction 디자인

트랜잭션: 어떤 처리를 위한 프로그램 단위
(e.g., 계좌이체. 두 가지 연산 필요. 내 통장 연산 & 상대 통장 연산)

profile
@abcganada123 / git:ABCganada

0개의 댓글