일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 회귀
- OpenAI
- 오블완
- LG
- 지도학습
- 머신러닝
- gpt
- Classification
- GPT-4
- regression
- supervised learning
- AI
- 딥러닝
- PCA
- Machine Learning
- 티스토리챌린지
- 분류
- ChatGPT
- 해커톤
- LG Aimers 4th
- LLM
- deep learning
- LG Aimers
Archives
- Today
- Total
SYDev
[데이터베이스] 5.1. 데이터베이스 설계의 개요 본문
경희대학교 이영구 교수님의 데이터베이스 수업 복습용 게시물입니다.
데이터베이스 설계
- 개념적 데이터베이스 설계와 물리적 데이터베이스 설계로 구분
- 개념적 데이터베이스 설계: 실제로 데이터베이스를 어떻게 구현할 것인가와는 독립적으로 정보 사용의 모델을 개발하는 과정
- 물리적 데이터베이스 설계: 물리적인 저장 장치와 접근 방식을 다룸
개념적 데이터베이스 설계
- 조직체의 엔티티, 관계, 프로세스, 무결성 제약조건 등을 나타내는 추상화 모델을 구축
- 엔티티: 서로 구분이 되면서 조직체에서 데이터베이스에 나타내려는 객체(사람, 장소, 사물 등)를 의미
- 관계: 두 개 이상의 엔티티들 간의 연관
- 프로세스: 관련된 활동
- 무결성 제약조건: 데이터의 정확성과 비즈니스 규칙을 의미
개념적 수준의 모델
- 특정 데이터 모델과 독립적으로 응용 세계를 모델링할 수 있도록 함
- 데이터베이스 구조나 스키마를 하향식으로 개발할 수 있기 위한 틀(framework)을 제공
- 인기 있는 개념적 수준의 모델 -> 엔티티 관계(ER: Entity-Relationship) 모델
- ER 모델과 같은 데이터 모델이 사상될 수 있는 다수의 구현 데이터 모델(implementation data model)이 존재
- 구현 단계에서 사용되는 세 가지 데이터 모델: 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델
데이터베이스 설계의 개요
- 한 조직체의 운영과 목적을 지원하기 위해 데이터베이스를 생성하는 과정
- 목적: 모든 주요 응용과 사용자들이 요구하는 데이터, 데이터 간의 관계를 표현
- 데이터베이스 개발 -> 일반적인 프로젝트 라이프 사이클 과정을 따름
- 훌륭한 데이터베이스 설계
- 시간의 흐름에 따른 데이터의 모든 측면을 나타냄 -> 현재의 요구 사항에 집착하여 이후 변경될 사항을 고려하지 못하는 문제 -> 이후에 변경할 것도 고려해라!
- 데이터 항목의 중복을 최소화
- 데이터베이스에 대한 효율적인 접근
- 데이터베이스의 무결성
- 이해하기 쉬워야 함
데이터베이스 개발의 라이프 사이클: 요구 사항 분석 단계 -> 설계 단계 -> 구현 단계 -> 데이터를 적재하거나 변환 -> 기존의 응용 변환
데이터베이스 설계의 주요 단계
- 요구사항 분석, 개념적 설계, DBMS 선정, 논리적 설계, 스키마 정제, 물리적 설계와 튜닝 등 여러 작업들로 이루어짐
요구사항 분석 단계
요구사항 수집과 분석
- 기존의 문서를 조사, 인터뷰, 설문조사 등 시행
- 요구사항에 관한 지식을 기반으로 관련 있는 엔티티들과 이들의 애트리뷰트들이 무엇인가, 엔티티들 간의 관계가 무엇인가 등을 파악
- 또한 데이터 처리에 관한 요구사항에 대하여 전형적인 연산들은 무엇인가, 연산들의 의미, 접근하는 데이터의 양 등을 분석
설계 단계
개념적 설계
- 모든 물리적인 사항과 독립적으로, 한 조직체에서 사용되는 정보의 모델을 구축하는 과정
- 사용자들의 요구사항 명세 -> 개념적 스키마 생성
- 높은 추상화 수준의 데이터 모델을 기반으로 정형적인 언어로 데이터 구조를 명시함
- 대표적 데이터 모델: ER 모델
- 엔티티 타입, 관계 타입, 애트리뷰트들을 식별, 애트리뷰트들의 도메인 결정, 후보 키와 기본 키 애트리뷰트들을 결정
- 완성된 개념적 스키마(ER 스키마)는 ER 다이어그램으로 표현됨
DBMS 선정
- 여러 가지 요인들을 검토한 후 DBMS 선정
- 기술적인 요인: DBMS가 제공하는 데이터 모델, 저장 구조, 인터페이스, 질의어, 도구, 제공되는 서비스 등
- 정치적인 요인: 고수준의 전략적인 결정 등
- 경제적인 요인: DBMS 구입 비용, 하드웨어 구입 비용, 유지 보수(서비스) 비용, 기존의 시스템을 새로운 DBMS에 맞게 변환하는 데 소요되는 비용, 인건비, 교육비 등
논리적 설계
- 데이터베이스 관리를 위해 선택한 DBMS의 데이터 모델을 사용 -> 논리적 스키마(외부 스키마도 포함)를 생성
- 개념적 스키마에 알고리즘 적용 -> 논리적 스키마 생성
- 논리적 스키마를 나타내기 위해 관계 데이터 모델을 사용하는 경우 -> ER 모델로 표현된 개념적 스키마를 관계 데이터베이스 스키마로 사상
- 관계 데이터베이스 스키마를 더 좋은 관계 데이터베이스 스키마로 변환하기 위해 정규화 과정을 적용
- 데이터베이스 설계자가 요구 사항 수집과 분석 후에 바로 논리적 설계 단계로 가는 경우 -> 흔히 좋은 관계 데이터베이스 스키마가 생성되지 않음
물리적 설계
- 처리 요구사항들을 만족시키기 위해 저장 구조와 접근 경로 등을 결정
- 성능 상의 주요 기준
- 응답 시간: 질의와 갱신이 평균적으로 or 피크 시간 때 얼마나 오래 걸릴 것인가?
- 트랜잭션(set of actions) 처리율: 1초당 얼마나 많은 트랜잭션들이 평균적으로 or 피크 시간 때 처리될 수 있는가? (TPS: Transaction per second)
- 전체 데이터베이스에 대한 보고서를 생성하는데 얼마나 오래 걸릴 것인가?
트랜잭션 설계
- 요구사항 수집과 분석 후 데이터베이스 설계 과정과 별도로 트랜잭션 설계를 진행할 수 있음
- 트랜잭션: 완성될 데이터베이스에서 동작할 응용 프로그램
- 데이터베이스 스키마는 트랜잭션에서 요구하는 모든 정보를 포함해야 함
- 검색, 갱신, 혼합 등 세 가지 유형으로 구분하여 입력, 출력, 동작 등을 식별
'3학년 1학기 전공 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 8장. 뷰와 시스템 카탈로그 (0) | 2024.05.23 |
---|---|
[데이터베이스] 5.2. ER 모델 (1) | 2024.05.03 |
[데이터베이스] 4장. 관계대수와 SQL - 2 (0) | 2024.04.24 |
[데이터베이스] LAB4-sql_6 (0) | 2024.04.14 |
[데이터베이스] 4장. 관계 대수와 SQL (0) | 2024.03.20 |