[데이터베이스] 데이터 모델링
데이터 모델
현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터의 구조를 표현하기 위해 사용되는 도구
- 개념적 데이터 모델(High-Level, Conceptual Data Model)
속성들로 기술된개체
타입과 이 개체 타입들 간의관계
를 이용하여 현실 세계를 표현하는 방법- 종류
- E-R 모델(Entity-Relationship Model)
- 이진 모델(Binary Model)
- 의미적 데이터 모델(Semantic Data Model)
- 정보 논리 모델(Information Logical Model)
- 함수적 데이터 모델(Functional Data Model)
- 종류
- 논리적 데이터 모델(Logical Data Model)
필드로 기술된 데이터 타입들 간의관계
를 이용하여 현실 세계를 표현하는 방법- 종류
- 관계형 데이터 모델
- 계층형 데이터 모델
- 네트워크형 데이터 모델
- 객체지향형 데이터 모델
- 종류
데이터 모델 구성요소
-
Structure
데이터의 논리적구조
데이터 모델을 기술할 때는 데이터 사이의 관계성을 파악하여 그 논리적 구성 형태를 기술해 주어야 한다. -
Operation
개체 인스턴스를 처리하는연산
실제 데이터를 어떤 방법으로 삽입, 선정, 변경, 삭제할 것인가 하는 사항을 기술해야 한다. -
Constraint
개체 인스턴스에 대한 논리적제약 사항
실제 데이터의 특징과 특성을 파악하여 어떤 데이터만을 받아들이며 어떤 관계만을 허용할 것인가를 기술해야 한다.
개념적 데이터 모델
개체 관계 모델(Entity-Relationship Model)
개념적 단계에서 개체 내의 관계, 개체와 개체 사이의 사상 관계를 표현하는 데 쓰이며 사용자의 관점에서 가장 좋은 도구로 많이 사용되는 모델
특징
1976년 Peter Chen에 의해 제안된 이래 개념적 설계에 가장 많이 사용되는 모델
개체 타입과 관계 타입을 이용해서 현실 세계를 개념적으로 표현한 모델
개체라는 것은 현실 세계에 존재하는 객체들을 의미
관계라는 것은 개체들 사이의 관계를 표현하는 것
E-R 다이어그램은 그래프 형태로 표시
최초에는 Entity, Relationship, Attribute와 같은 개념들로 구성되었으나 나중에는 확장된 모델로 발전
기호
사상 원소수(Mapping cardinality)
- 1:1
- 1:N
- N:1
- N:M
논리적 데이터 모델
논리적 단계에서 쓰이는 도구로서 개념적 단계에서 만들어진 개념적
구조를 컴퓨터에 저장시킬 수 있는 논리적
구조로 변환
하고자 쓰이는 데이터 모델
데이터베이스의 전체적
인 논리적 구조를 설명할 때 사용되는 데이터 모델
관계 표현 : 관계 데이터 모델 - 테이블 구조, 계층 데이터 모델 - 트리 구조, 네트워크 데이터 모델 - 그래프 구조
관계형 데이터 모델(Relational Data Model)
통일적이고 단순한 데이터 구조로 되어 있다
사용자에게 가장 뛰어난 논리적 구조를 지원
릴레이션
구조로 운영되는 데이터베이스
개체나 관계 모두가 릴레이션 형태
기본키
와 이를 참조하는 외래키
로 데이터 간의 관계를 표현
계층형 데이터 모델(Hierarchical Data Model)
데이터 간의 관계를 순서 트리
형태로 표현
속성 간의 관계를 레코드
, 레코드 간의 관계를 링크
로 표현
계층 정의 트리 형태로 나타낼 때 노드는 레코드 타입이 되며 가지는 두 레코드 타입 사이의 링크가 된다
모든 링크의 관계는 1:N
관계
두 레코드 타입 간의 관계는 하나
의 링크 관계만 있을 수 있으므로 별도의 이름을 부여하지 않음
레코드 타입 간에는 상하 계층이 존재, 사이클
이 허용되지 않음
대표적인 DBMS = IMS
네트워크 데이터 모델(Network Data Model)
데이터 간의 관계는 그래프
구조 형태
1에 해당하는 레코드 타입을 오너 레코드 타입, N에 해당하는 레코드 타입을 멤버 레코드 타입, 이들의 관계를 오너-멤버
(Owner-Member)관계라 한다.
레코드 타입 간의 관계는 1:1
, 1:N
, N:1
, N:M
이 될 수 있다
다 대 다의 관계가 있기 때문에 데이터 간의 연계성
이 매우 뛰어난 모델이나 복잡하고 구축 비용이 크다
노드는 레코드 타입이 되고 링크는 개체 집합 간의 관계성을 표현
링크는 어느 한쪽으로 반드시 함수적 관계로 해서 화살표
로 표현
링크 위에는 두 레코드 타입 간의 관계를 레이블로 표시
CDASYL
(Conference On Data System Languages), DBTG
(Data Base Task Group) 보고서에서 DBTG 모델이라는 것을 정의하여 네트워크 데이터 모델에 대한 이론적 개념을 정립
댓글남기기