Summary

[데이터베이스 개론] 04장. 데이터 모델링

프로그래민 2022. 1. 17. 02:19
반응형

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

현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정데이터 모델링이라고 한다. 현실 세계에서 중요 데이터를 추출하여 개념 세계로 추상화하는 작업을 데이터 모델링 과정 중에서 개념적 모델링이라고 한다. 그리고 개념 세계의 데이터를 데이터베이스에 저장할 구조를 결정하고 이 구조로 표현하는 작업을 논리적 모델링이라고 한다.

데이터 모델은 데이터 모델링의 결과물을 표현하는 도구로, 개념적 데이터 모델관 논리적 데이터 모델이 있다. 개념적 데이터 모델은 사람의 머리로 이해할 수 있또록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구다. 논리적 데이터 모델은 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구다. 논리적 데이터 모델링과 개념적 데이터 모델링을 통틀어 데이터베이스 설계라한다.

데이터 모델은 데이터 구조, 연산, 제약조건으로 구성된다. 데이터 구조는 현실 세계를 개념 세계로 추상화했을 때 어떤 요소로 이루어져 있는지를 표현하는 개념적 구조다. 연산은 값들을 처리하는 작업이다. 제약조건은 제약사항이다. 

개념적 데이터 모델 중 대표적으로 많이 사용되는 것이 개체-관계 모델(ER Model)이고, 논리적 데이터 모델로는 관계 데이터 모델이 이다.

 

개체-관계 모델

개체-관계 모델은 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현하는 방법이다. E-R 다이어그램이라고 한다.

개체

개체 타입과 개체 인스턴스의 예

개체저장할 만한 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물이다. 개체는 각 개체만의 고유한 특성이나 상태, 속성을 하나씩 가진다. 개체를 고유의 이름과 속성들로 정의한 것을 개체 타입이라 한다. 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체를 개체 인스턴스라고 한다.

 

속성

속성은 개체가 가지고 있는 고유의 특성이다. 속성은 일반적으로 의미 있는 데이터의 가장 작은 논리적 단위이다. 속성은 다양한 기준으로 분류할 수 있다.

단일 값 속성과 다중 값 속성

특정 개체를 구서하는 속성의 값이 하나면 단일 값 속성이다. 이와 달리 속성이 값을 여러 개 가질 수 있으면 다중 값 속성이다.

단순 속성과 복합 속성

단순 속성은 의미를 더는 분해할 수 없는 속성이다. 단순 속성의 값은 의미가 하나이다. 반면 복합 속성은 의미를 분해할 수 있어 값이 여러개의 의미를 포함한다. 복합 속성은 단일 속성이 여러개 모여 만들어진 속성으로 볼 수 있다.

유도 속성

값이 별도로 저장되는 것이 아니라 기존의 다른 속성 값에서 유도되어 결정되는 속성을 유도 속성이라 한다.

널 속성

아직 결정되지 않은 모르는 값인 널을 허용하는 속성을 널 속성이라고 한다.

키 속성

개체를 구성하는 속성들 중에서 특별한 역할을 키 속성이 수행한다. 모든 개체 인스턴스의 키 속성 값이 다르므르 키 속성은 개체 집합에 존재하는 각 개체 인스턴스들을 식별하는데 사용한다. 키속성의 값이 개체 인스턴스마다 달라서 이값으로 개체 인스턴스를 식별 가능하다는 점이 개체 타입을 정의할때의 중요한 제약조건이다. 

 

관계

관계개체와 개체가 맺고 있는 의미 있는 연관성으로써 개체-관계 모델의 중요한 요소이다. 관계를 여러 개체 사이에서 정의되는 관계 타입과 실제 속성 값으로 구성되어 있는 특정 개체 인스턴스들 간에 맺어진 실제 관계인 관계 인스턴스로 구분하여 표현하기도 한다. 또, 관계도 개체처럼 속성을 가질 수 있다.

관계의 유형

관계의 분류 기준은 매핑 원소의 수인 매핑 카디널리티를 기준으로 일대일, 일대다, 다대다 세가지 유형으로 분ㄹ류된다.

일대일 관계는 개체A의 각 객채 인스턴스가 개체B의 인스턴스 하나와 관계를 맺고, 반대로 개체B의 인스턴스 하나와 개체A의 인스턴스 하나가 관계를 맺는 상황을 의미한다. 일대다 관계는 개체A의 각 개체 인스턴스는 개체B의 개체 인스턴스 여러 개와 관계를 맺을 수 있지만, 개체B의 각 개체 인스턴스는 개체A의 인스턴스 하나와 관계를 맺는 상황이다. 다대다 관계는 개체A의 각 개체 인스턴스가 개체B의 개체 인스턴스 여러개와 관계를 맺을 수 있고, 개체B의 각 개체 인스턴스또한 개체A의 개체 인스턴스 여러개와 관계를 맺을 수 있는 상황이다.

관계의 참여 특성

개체A와 B 사이의 관계에서 개체A의 모든 개체 인스턴스가 관계에 참여하면 필수적 참여이고, 일부만 참여하면 선택적 참여이다.

관계의 종속성

두 개체가 관계에 대해 종속정인 특성을 가지는 경우도 있다. 개체B가 독자적으로 재재할 수 없고 다른 개체A의 존재에 의존적이라면 개체B가 개체A에 종속되어 있다고 할 수 있다. 개체B가 개체A에 종속되면, 이는 개체A가 존재해야 개체B가 존재할 수 있고 개체A가 삭제되면 개체B도 함께 삭제되어야 함을 의미한다. 이러한 종속을 특별히 존재 종속이라고 한다. 이때 다른 개체의 존재 여부에 의존적인 개체B를 약한개체라 하고 다른 개체의 존재 여부를 결정하는 개체A를 강한 개체라고 한다. 두 개체가 종속적인 관계를 맺고 있어 약한 개체를 종속 개체로, 강한 개체를 오너 개체로 부른다.

 

E-R 다이어그램

E-R 다이어그램은 개체-관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것이다. E-R 다이어그램은 기본적으로 개체를 표현하는 사각형, 개체 간의 관계를 표현하는 마르모, 개체나 관계의 속성을 표현하는 타원, 각 요소를 연결하는 링크로 구성되고 일대일, 일대다, 다대다 관계를 레이블로 표기한다.

 

논리적 데이터 모델

논리적 데이터 모델의 개념과 특성

E-R 다이어그램으로 표현된 개념적인 구조를 데이터베이스에 표현하는 형태를 결정하는 논리적 데이터 모델링에서는 데이터베이스 관리 시스템 종류가 중요하다. 논리적 데이터 모델은 논리적 데이터 모델링의 결과물이고, 사용자가 생각하는 데이터베이스의 모습 또는 구조이다. 그리고 논리적 데이터 모델로 표현된 데이터베이스의 논리적 구조가 데이터베이스의 스키마이다. 데이터베이스에 있는 데이터들의 간의 관계를 표현하는 방법에 따라 다양한 논리적 모델이 존재한다.

 

계층 데이터 모델

계층 데이터 모델은 데이터베이스의 논리적 구조가 트리형태다. 계층 데이터 모델은 개체 사이의 관계를 정의할 때 여러 제약이 존재하기 때문에 개념적 구조를 논리적 구조로 자연스럽게 모델링하기 어려워 구조가 복잡해 질 수 있고, 데이터의 삽입, 삭제, 수정등의 연산이나 원하는 데이터를 검색하기 쉽지 않나든 단점이 있다.

 

네트워크 데이터 모델

네트워크 데이터 모델은 데이터베이스의 논리적 구조가 그래프 또는 네트워크 형태이다. 네트워크 데이터 모델은 같은 개체들 사이의 관계를 두 개 이상 표현할 수 있어 계층 데이터 모델보다 개념적 구조를 논리적 구조로 좀 더 자연스럽게 모델링할 수 있다. 그러나 계층 데이터 모델보다 구조가 훨씬 복잡해질 수 있어, 데이터의 삽입, 삭제, 수정과 같은 연산과 데이터 검색이 계층 데이터 모델보다 더 어려워지는 문제가 발생한다.

 

 

출처
데이터베이스 개론 2판 - 한빛아카데미 출판, 김연희 저
 

데이터베이스 개론 - 교보문고

[요약]①데이터베이스 기초 이론 : 1장에서 데이터베이스를, 2장에서 DBMS를 소개합니다. 3장에서는 이들을 조합한 데이터베이스 시스템을 소개합니다.②데이터 모델과 연산 : 4장에서 데이터 모

www.kyobobook.co.kr

반응형