dongdorodongdong
데이터 모델 본문
정의
- 현실 세계의 데이터 구조를 컴퓨터 세계의 데이터 구조로 기술하는 개념적인 도구
표시할 사항
- 구조(Structure)
- 개체들 간의 관계 - 연산(Operation)
- 데이터 처리하는 방법
- 데이터베이스를 조작하는 기본 도구 - 제약 조건(Constraint)
- 실제 데이터의 논리적인 제약조건
구성 요소
- 개체
- 표현하려는 것으로 사람이 생각하는 개념, 정보 단위 같은 현실 세계의 대상체
- 몇개의 속성으로 구성 - 속성
- 데이터의 가장 작은 논리적 단위
- 개체를 구성하는 항목 - 관계
- 개체 간의 관계 또는 속성 간의 관계
종류
- 개념적 모델
- 현실 세계를 추상적으로 표현(ER 모델) - 논리적 모델
- 개념적 모델을 컴퓨터가 이해할 수 있도록 표현(관계, 계층, 네트워크 모델)
1. 계층형 데이터 모델
- 트리 형태의 수직적인 모델
- 1:N 대응 관계만 존재
- 상위 레코드 삭제시 연쇄 삭제가 일어남
- 개체들 간의 Cycle이 허용X
- 대표적인 DBMS는 IBM의 IMS가 있다.
2. 네트워크형 데이터 모델
- 계층형의 단점을 보완한 데이터 모델
- 상위 레코드를 Owner, 하위 레코드를 Member라 함
- 1:1, 1:N, N:M 구조를 허용
- CODASYL이란 회사에서 DBTG라는 데이터베이스를 출시하며 제안한 모델
- 하위계층에서 상위계층으로 이동이 자유로우며 여러 상위 계층으로의 이동도 자유롭다.
3. 관계형 데이터 모델
- 계층형, 네트워크형의 단점을 보완한 가장 이상적인 모델
- Table들로 구성된 DB
- 구현이 어렵다.
- 대표적인 DBMS는 오라클, MySQL, SQLite 등
* ER 모델
- 개념적 모델의 가장 대표적인 것
- 개체 타입과 각 관계 타입을 이용해 현실 세계를 개념적으로 표현
- 데이터를 개체, 관계, 속성으로 묘사
- E-R 다이어그램으로 표현
- 특정 DBMS를 고려한 것이 아님
* E-R 다이어그램
기호 |
이름 |
의미 |
□ |
사각형 |
개체 |
◇ |
마름모 |
관계 |
○ |
타원 |
속성 |
◎ |
이중 타원 |
다중값 속성 * 하나가 아닌 여러 값을 가질 수 있음 |
|
밑줄 타원 |
기본키 속성 |
○ ○ ○ |
복수 타원 |
복합 속성 |
|
관계 |
1:N, 1:1, N:M 등 대응수 기술 |
─ |
선, 링크 |
개체 타입과 속성 연결 |