[데이터베이스] 데이터베이스개론 CH4
Chapter 4 데이터 모델링
-
데이터 모델링과 데이터 모델의 개념
- 데이터 모델링이란?
- 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
- 추상화란?
- 현실 세계에 존재하는 것을 컴퓨터의 데이터화하는 작업. ex. 코끼리 - 발이 4개, 코의 길이가 김, 몸무게는 1톤 이상..
- 추상화 작업이 복잡하고 어렵기에 현실세계를 개념 세계로 옮기고 컴퓨터 세계로 옮기는 개념적 모델링과 논리적 모델링으로 나뉜다.
- 개념적 모델링 : 현실 세계 -> 개념 세계 (중요 데이터를 추출한다.)
- 논리적 모델링 : 개념 세계 -> 컴퓨터 세계 (데이터베이스에 저장할 구조를 결정하여 이 구조로 표현한다.)
- 데이터 모델이란?
- 데이터 모델링을 할 수 있도록 도와주는 도구
- 데이터 구조, 연산, 제약조건으로 구성된다.
- 데이터 구조 : 정적(변하지 않음)
- 연산 : 동적 (계속 변경)
- 예시 (아파트를 짓는 일)
- 개념적 데이터 모델링 : 사람들이 원하는 아파트를 건설하기위해 사람들의 요구사항을 잘 반영한 설계도를 그리는 과정
- 개념적 데이터 모델 : 설계도를 그릴 때 사용하는 벙법이나 도구
- 논리적 데이터 모델링 : 설계도를 토대로 모델하우스를 만드는 과정
- 논리적 데이터 모델: 모델하우스를 만들 때 사용하는 방법이나 도구
- 다양한 데이터 모델
- 개체-관계 모델 (개념적 데이터 모델 중 가장 많이 사용됨.)
- 관계 데이터 모델 (논리적 데이터 모델중 가장 많이 사용됨.)
- 데이터 모델링이란?
-
개체-관계 모델
- 개체-관계 모델이란?
- 피터 첸이 1976년 제안
- 개체와 개체 간의 관계를 이요해 현실 세계를 개념적 구조로 표현하는 방법
- 모델링 후 그림으로 표현한 것 : 개체-관계 다이어그램 or E-R 다이어그램
- 개체
- 현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것.
ex. 서점의 개념적 모델링: 고객 / 책 ex. 학교의 개념적 모델링: 학과나 과목(물리적으로 존재하지 않아도 가능)
- 개체 타입: 객체이름[ex.고객] + 속성[ex. (이름, 주소, 연락처, 적립금)]
- 개체 인스턴스: <정소화, 부천시 원미구, 02-000-000>
-
개체 집합: 객체 인스턴스들의 묶음, 집합.
- 개체와 속성은 파일 구조의 레코드와 필드와 대응된다.
- 개체 타입 = 레코드 타입
- 개체 인스턴스 = 레코드 인스턴스
- 개체와 속성은 파일 구조의 레코드와 필드와 대응된다.
- E-R 다이어그램 : 네모
- 속성
- 개체가 가지고 있는 고유의 특성.
- 속성은그자체만으로는의미가없지만, 관련 있는 속성들을 모아 개체를 구성하면 중요한 의미를 표현할 수 있다.
- E-R 다이어그램 : 타원
- E-R 다이어그램을 공부하다가 보니 가족상담에서 배웠던 가계도가 떠오른다. 인간의 관계를 표현하는 방식을 데이터에게도 이용하는 것 같아서 흥미롭다.
- 개체가 가지고 있는 고유의 특성.
[예시와 함께 보는 속성의 분류]
- 속성 값의 개수에 따라
- 단일 값의 속성 : 고객(개체)의 이름/적립금 -> 한 명의 고객이 하나의 이름과 적립금 값을 가진다.
- 다중 값 속성 : 고객(개체)의 연락처 -> 한 명의 고객이 집 전화번호와 휴대폰 전화번호 등 여러 값을 가진다.
- E-R 다이어그램
- 단일 : 타원
- 다중 : 이중 타원
- 속성의 의미 분해 가능성에 따라
- 단순 속성 : 의미를 더는 분해할 수 없는 것으로 적립금, 이름, 가격 등이 속한다.
- 복합 속성 : 의미를 분해할 수 있는 것으로 주소와 같이 도, 시, 동, 우편번호 등으로 의미를 나눌 수 있는 것을 말한다. +) 주소나 생년월일은 그저 전체 단위로 하나의 값을 입력할 경우 단순 속성으로 처리하기도 한다.
- E-R 다이어그램
- 단순 : X
- 복합 : 속성에 속성을 가지치기한다.
- 속성의 기존 속성 값에서 유도하여
- 유도 : 할인율, 나이… 따로 저장할 필요없는 유도 속성
- E-R 다이어그램 : 점선 타원
- 유도 : 할인율, 나이… 따로 저장할 필요없는 유도 속성
-
널 속성 - 아직 결정 되지 않았거나 모르는 값 - 공백이나 0과는 다르다.
- 키 속성 - 객체들의 인스턴스들을 식별하는데 이용되는 속성 - E-R 다이어그램 : 글자 밑 밑줄
- 개체-관계 모델이란?
-
관계 - 개체와 개체가 맺고 있는 의미 있는 연관성 * 개체 간 대응관계(=매핑) * ex. 구매(고객과 책 사이를 잇는 관계)
-
E-R 다이어그램 : 마름모
- 유형
- 1:1 일대일 관계(ex. 결혼 - 남편과 아내 개체)
- 1:n 일대다 관계(ex. 부서와 사원 개체)
- n:m 다대다 관계(ex. 고객과 책 개체)
- 참여 특성
- 필수/전체 참여 (E-R 다이어그램 : 이중선)
- 선택/부분 참여
- 종속성
- 약한개체 (E-R 다이어그램 : 이중 사각형)
- 강한개체 +) E-R 다이어그램 : 약한 개체가 강한 개체와 맺는 관계는 이중 마름모
- 유형
-
-
논리적 데이터 모델
- 정의
- 선택한 데이터베이스 관리 시스템에 따라 E-R 다이어그램을 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 데이터베이스의 논리적인 구조
- 관계 데이터 모델
- 2차원 테이블 형태
- 계층 데이터 모델
- 트리 형태
- 네트워크 데이터 모델
-
그래프 형태
-
- 정의
[참조] 데이터베이스개론 (저자: 김연희)