(3) 논리적 데이터 모델
- 컴퓨터와 사용자 둘 다를 고려하는 데이터 모델
- 사용자가 이해할 수 있게 하면서 실제로 저장될 수 있는 구조
- 계층, 네트워크, 관계, 객체지향 데이터 모델
[4] 데이터 모델링
* 대규모 IT 시스템을 구상하는 단계에서 전체적인 것을 한 눈에 파악할 수 있도록 청사진이나 조감도 역할을 하는 것. 데이터베이스화 하려는 현실 세계를 어떻게 표현할 것인가의 문제.
@ 대상 업무 추상화
대상 업무를 분석해서 무엇을 엔티티로 추출할 것인지 추출한 엔티티를 어떻게 연관지을 것인지 알아내어
미리 약속된 기호로 도식화 하는 것
* 데이터 모델링
- 데이터베이스를 구축하고자 하는 대상에서 사용되는 데이터를 분석해서 제약조건을 체계적으로 정의하고
개념적인 도구를 이용해서 간결화하고 이해하기 쉽게 표현하는 것
- 데이터베이스 설계의 첫 단계
* 데이터 모델링의 중요성
- 데이터베이스 사용자 간에 의사소통이 용이
- 전체적인 조화와 균형 유지 가능
* 데이터 모델링의 종류
- 개념적 데이터 모델
- 논리적 데이터 모델
- 물리적 데이터 모델
(1) 개념적인 데이터 모델
- 고수준의 데이터 모델
- 전체 시스템에 대한 개념적인 정보 표시
- 시스템 구축시 가장 먼저 작성
- 개략적인 스케치로 세부 사항 결정 불필요
- 개체 관계 모델(ER Model ; Entity Relationship Model)
(2) 논리적 데이터 모델
- 표현 데이터 모델 또는 구현 데이터 모델
- 구축할 시스템의 이미지
(2-1) 논리적 데이터 모델 - 관계형 데이터 모델
(Relational Data Model)
- 데이터베이스의 구조를 2차원의 표를 이용하여 표현
- 간단하고 균등한 데이터 구조(현재 가장 많이 사용)
- 행 : 레코드, 튜플
- 열 : 속성, 애트리뷰트, 필드, 데이터 항목
- 표 : 릴레이션
(2-2) 논리적 데이터 모델 - 계층형 데이터 모델 (Hierachical Data Model)
- 하위 데이터들이 상위 데이터 하나를 갖는 모델
- 데이터의 관계를 트리 구조로 표시 (부모-자식 관계라고도 함)
- 데이터 접근은 항상 부모에서 자식으로 Top-Down (데이터의 위치가 중요)
- 세그먼트 : 필드의 집합
- 루트 : 맨 위에 있는 세그먼트
(2-3) 논리적 데이터 모델 - 네트워크 모델(Network Data Model)
- 데이터 구조가 복잡해지면서 계층형 데이터 모델로 표현하기 어려운 구조를 그래프 형태로 표현
- 설계가 어렵고 사용자가 이해하며 사용하기 어려움
- 하위에서 여러개의 상위 데이터를 가질 수 있음
(2-4) 논리적 데이터 모델 - 객체 지향형 (Object Oriented Data Model)
- 객체를 지향하는 개념과 데이터베이스 개념을 통합해서 가급적 실세계와 유사하게 데이터를 표현
- 재사용이 용이해서 유지보수가 편하다
- 확실히 정립된 개념이 아직 없음.
(3) 물리적 데이터 모델
- 컴퓨터 내부에서 데이터들이 실제로 어떻게 저장되는가를 표현