데이터 모델링
- 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
- 데이터베이스 설계의 핵심 과정
2단계 데이터 모델링
- 개념적 데이터 모델링(conceptual modeling)
현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업
- 논리적 데이터 모델링(logical modeling)
개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업
<데이터 모델(data model)>
- 데이터 모델링의 결과물을 표현하는 도구
- 개념적 데이터 모델
- 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구
예) 개체-관계 모델
- 논리적 데이터 모델
- 개념적 구조를 논리적 모델링하여 데이터베이스의 논맂거 구조로 표현하는 도구
- 예) 관계 데이터 모델
<데이터 모델의 구성>
- 데이터 구조(data structure)
- 개념적 데이터 모델에서 개념적 구조: 현실 세계를 개념 세계로 추상화했을 때 어떤 요소로 이루어져 있는지 표현
- 논리적 데이터 모델에서 논리적 구조: 데이터를 어떤 모습으로 저장할 것인지 표현
- 연산(operation)
- 개념 세계나 컴퓨터 세계에서 실제로 표현된 값들을 처리하는 작업
- 동적 특징
- 제약조건(constraint) → 데이터 무결성 유지 목적
- 구조적 측면의 제약 사항
- 연산을 적용하는 경우 허용할 수 있는 의미적 측면의 제약 사항
<개체-관계 모델(E-R model; Entity-Relationship model)>
- 피터 첸(Peter Chen)이 제안한 개념적 데이터 모델
- 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현
- 핵심 요소: 개체, 속성, 관계
<개체-관계 다이어그램(E-R diagram)>
- E-R 다이어그램
- 객체: 관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것
<개체(entity)>
- 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것
- 저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등
- 다른 개체와 구별되는 이름을 가지고 있고, 객 개체만의 고유한 특성이나 상태, 즉 속성을 하나 이상 가지고 있음
- 예) 서점에 필요한 개체: 고객, 책
- 예) 학교에 필요한 개체: 학과, 과목
- 파일 구조의 레코드(record)와 대응됨
- E-R 다이어그램에서 사각형으로 표현하고 사각형 안에 이름을 표기
<속성(attribute)>
- 개체나 관계가 가지고 있는 공유한 특성
- 의미 있는 데이터의 가장 작은 논리적 단위
- 파일 구조의 필드(field)와 대응됨
- E-R 다이어그램에서 타원으로 표현하고 타원 안에 이름을 표기
<개체 타입(entity type)>
- 개체를 고유한 이름과 속성들로 정의한 것
- 파일 구조의 레코드 타입(record type)에 대응됨
<개체 인스턴수(entity instance)>
- 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
- 개체 어커런스(entity occurrence)라고도 함
- 파일 구조의 레코드 인스턴스(record instance)에 대응됨
<개체 집합(entity set)>
- 특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것
<단일 값 속성과 다중 값 속성>
- 단일 값 속성(single-valued attribute)
* 값을 하나만 가질 수 있는 속성
* 예) 고객 개체의 이름, 적립금 속성
- 다중 값 속성(multi-valued attribute)
*
'백엔드' 카테고리의 다른 글
서버 이중화(HA-High Availability) 솔루션 및 로드 밸런싱(Load Balancing) (0) | 2023.05.17 |
---|---|
데이터베이스 시스템의 정의 (0) | 2023.05.16 |
데이터베이스 관리 시스템 (0) | 2023.05.16 |
데이터베이스 기본 개념 (0) | 2023.05.16 |
퍼블릭IP, 프라이빗IP, VIP (0) | 2023.05.16 |