본문 바로가기
DB

데이터베이스 설계

by 물고기고기 2022. 4. 22.

데이터베이스 구축과 설계

- 데이터베이스 구축: 현실 세계의 시스템을 데이터베이스로 옮기는 변환 작업

- 현실 세계의 시스템: 개체들이 서로 관계를 맺으며 복잡하게 상호작용하는 것으로 이해할 수 있음

 

1. 데이터베이스 설계의 3 단계

 - 개념적 설계: 어떤 데이터 저장?

 - 논리적 설계: 어떤 구조로 저장?

 - 물리적 설계: 어떤 데이터베이스 관리 프로그램? 어떤 서버 환경에 구축?

 

✔ 데이터 모델링과 데이터 모델의 개념

- 데이터 모델링: 현실 세계에 존재하는 데이터를 데이터베이스로 옮기는 변환 과정

- 2단계 데이터 모델링(개념적모델링 -> 논리적모델링)

  - 개념적 데이터 모델링: 현실 세계의 중요 데이터를 추출하여 개념적 모델로 옮기는 작업

  - 논리적 데이터 모델링: 개념 세계의 데이터를 DB에 저장하는 논리적 모델로 표현하는 작업

 

- 데이터 모델: 모델링의 결과물

✔ 개체-관계 모델

- 개체 관계 모델: 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현(개체, 속성, 관계)

- 개체 관계 다이어그램: E-R 다이어그램

 

용어 정리

- 개체: 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것

- 속성: 개체나 관계가 가지고 있는 고유의 특성, 의미 있는 데이터의 가장 작은 논리적 단위

 

1. 단일 값 속성과 다중 값 속성

- 단일 값 속성: 값을 하나만 가질 수 있는 속성(ex. 학생의 학번)

- 다중 값 속성: 값을 여러 개 가질 수 있는 속성(ex. 학생의 취미)

 

- 단순 속성: 의미를 더는 분해할 수 없는 속성(ex.학생의 성별)

- 복합 속성; 의미를 분해할 수 있는 속성(ex.학생의 집주소)

 

- 유도 속성: 기존의 다른 속성 값에서 유도되어 결정할 수 있는 속성(ex. 출생년도로 나이를 알 수있음)

- Null 속성: 아직 결정되지 않았거나 모르는, 또는 존재하지 않는 값

- 키 속성: 각 개체를 식별하는 데 사용되는 속성(보통은 둘 이상의 속성들로 구성)

 

✔ 논리적 데이터 모델

- E-R 다이어그램으로 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적 구조

- 데이터베이스의 논리적 구조 = 데이터베이스 스키마

 

- 관계 데이터 모델 > 2차원 테이블 형태, 식별자를 참조하는 join 연산을 통해 분리된 데이터를 손실 없이 복원

 

 

 

 

 

 

 

댓글