반응형

네트워크형 데이터 모델

- CODASYL이 제안한 것으로 CODASYL DBTG 모델이라고도 한다.

- 그래프를 이요해서 데이터 논리 구조를 표현한 데이터 모델이다.

- 상위와 하위 레코드 사이에 다 대 다 대응 관계를 만족하는 구조이다.

- 레코드 타입 간의 관계는 일 대 일, 일 대 다, 다 대 다가 될 수 있다.

- 대표적인 DBMS : DBTG, EDBS, TOTAL

 

네트워크형 모델의 특징

- 레코드 타입과 링크들의 집합으로 구성된다.

- 레코드 타입의 집합이 있다.

- 링크들로 표현한 관계성에는 제한이 없다.

- 모든 링크는 적어도 한 방향으로 함수적이다(부분적인 함수성 허용)

- 세트 이름은 링크로 표현한다.

- 오너와 멤버 레코드 타입은 서로 동일 형태가 될 수 없다.

반응형
반응형

관계형 데이터 모델

- 가장 널리 사용되는 데이터 모델이다.

- 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델이다.

- 2차원적인 표를 이용하여 속성들 간의 관계를 설정하거나 테이블 간의 관계를 설정하여 이용한다.

- 기본키(Primary Key)와 이를 참조하는 외래키(Foreign Key)로 데이터 간의 관계를 표현한다.

- 장점 : 간결하고 보기 편하며 다른 데이터베이스로 변환이 쉽다.

- 단점 : 성능이 다소 떨어진다.

 

계층형 데이터 모델

- 계층형 데이터 모델은 트리 구조를 이용해서 데이터의 상호 관계를 계층적으로 정의한 구조이다.

- 개체 타입 간에는 상위와 하위 관계가 존재하며 일 대 다의 대응 관계만 존재한다.

- 개체 타입 간에는 일 대 다 관계만 있으므로 해당하는 링크는 이름을 가질 필요가 없다.

- 계층형 모델에서는 개체를 세그먼트라고 부른다.

- 대표적인 DBMS는 IMS이다.

- 개체 타입들 간에는 사이클(Cycle)이 허용되지 않는다.

반응형
반응형

개체-관계(Entity-Relationship) 모델

- E-R 모델은 개념적 데이터 모델의 가장 대표적인 것으로, 1976년 피터 첸에 의해 제안되었다.

- E-R 모델은 개체와 개체 간의 관계를 기본 요소로 이용하여 현실 세계의 무질서한 데이터를 개념적인 논리 데이터로 표현하기 위한 방법으로 많이 사용되고 있다.

- E-R 모델은 개체 타입과 이틀 간의 관계 타입을 이용하여 현실 세계를 개념적으로 표현한다.

- E-R 모델에서는 데이터를 개체, 관계, 속성으로 묘사한다.

- E-R 모델은 특정 DBMS를 고려한 것이 아니다.

- E-R 다이어그램으로 표현하며 일 대 일, 일 대 다, 다 대 다 등의 관계 유형을 제한 없이 나타낼 수 있다.

- 최초에는 개체, 관계, 속성과 같은 개념들로 구성되었으나 나중에는 일반화 계층 같은 복잡한 개념들이 첨가되어 확장된 모델로 발전했다.

 

E-R 다이어그램

E-R 다이어그램 예시

- E-R 모델의 기본 아이디어를 시각적으로 표현하기 위한 그림으로 실체 간의 관계는 물론 조직, 사용자, 프로구램, 데이터 등 시스템 내에서 역할을 가진 모든 실체들을 표현한다

1. 표현 방법

1) 사각형 : 개체 타입

2) 마름모 : 관계 타입

3) 타원 : 속성

4) 이중타원 : 다중값 속성(복합 속성)

5) 밑줄 타원 : 기본키 속성

6) 복수 타원 : 복합 속성

7) 선, 링크 : 개체 타입과 속성 타입을 연결

반응형
반응형

데이터 모델의 정의

- 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형이다.

- 데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약조건 등을 기술하기 위한 개념적 도구들의 모임이다.

- 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터의 구조를 논리적으로 표현하기 위해 사용되는 도구이다.

- 데이터의 구조(Schema)를 논리적으로 묘사하기 위해 사용되는 지능적 도구이다.

 

데이터 모델의 종류

1) 개념적 데이터 모델

- 개념적 데이터 모델은 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다.

- 개념적 데이터 모델은 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여 현실 세계를 표현한다.

- 개념적 데이터 모델은 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하기 때문에 정보 모델이라고도 한다.

- 대표적인 개념적 데이터 모델로는 E-R 모델이 있다.

 

2) 논리적 데이터 모델

- 논리적 데이터 모델은 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정이다.

- 논리적 데이터 모델은 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여 현실세계를 표현한다.

- 단순히 데이터 모델이라고 하면 논리적 데이터 모델을 의미한다.

- 특정 DBMS는 특정 논리적 데이터 모델 하나만을 선정하여 사용한다.

- 논리적 데이터 모델은 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분한다.

 

데이터 모델에서 표시할 요소

- 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현한다.

- 연산(Operation) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구이다.

- 제약 조건(Constraint) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건이다.

 

데이터 모델의 구성 요소

1) 개체(Entity)

- 개체는 데이터베이스에 표현하려는 것으로 사람이 생각하는 개념이나 정보 단위같은 현실 세계의 대상체이다.

- 개체는 실세계의 독립적으로 존재하는 유형, 무형의 정보로써 서로 연관된 몇 개의 속성으로 구성된다.

- 파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 수행한다.

- 독립적으로 존재하거나 그 자체로서도 구별 가능하다.

 

2) 속성(Attribute)

- 속성은 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당된다.

- 속성은 개체를 구성하는 항목이다.

반응형

+ Recent posts