데이터 모델링
데이터 모델링과 데이터 모델의 개념
[데이터 모델링]
현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
- 개념적 데이터 모델링 : 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮긴다.
- 논리적 데이터 모델링 : 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현한다.
[데이터 모델]
데이터 모델링의 결과물을 표현하는 도구로, 개념적 데이터 모델과 논리적 데이터 모델이 있다.
- 개념적 데이터 모델 : 현실 세계를 사람의 머리로 이해할 수 있도록 개념적 모델링의 결과물인 개념적 구조로 표현하는 도구다.
- 논리적 데이터 모델 : 개념적 구조를 노리적으로 모델링하여 논리적 구조로 표현하는 구조다.
개체ㅡ관계 모델 (Entity-Relationship Model, ER 모델)
개체와 개체간의 관계를 이용해 현실 세계를 개념적 구조로 표현하는 개념적 데이터 모델이다.
[개체 Entity]
- 현실 세계에서 구분이 가능하고, 관찰할 수 있는 정보의 단위
- ER 다이어그램에서는 직사각형으로 표현된다.
[속성 Attribute]
- 개체의 특성이나 성질을 나타내는 정보
- ER 다이어그램에서는 타원으로 표현되며, 해당 타원은 개체의 직사각형에 연결된다.
- 속성에는 여러 유형(단순 vs 복합, 단일 값, 다중 값, 유도된 속성 등)이 있을 수 있다.
[관계 Relationship]
- 두 개 이상의 개체 간의 연관성을 나타낸다.
- ER 다이어그램에서는 마름모로 표현되며, 관계에 참여하는 개체와 선으로 연결된다.
- 관계에도 속성을 가질 수 있다.
[개체ㅡ관계 다이어그램 Entity-Relationship Diagram, ERD]
- 개체-관계 모델을 시각적으로 표현하는 도구로, ERD는 데이터베이스의 구조와 그 구조 내 관계를 그래픽으로 나타내어, 데이터베이스 설계 과정에서 요구사항 분석과 개념적 설계 단계를 돕는다.
논리적 데이터 모델(Logical Data Model)
데이터베이스의 구조와 조직을 추상화하여 표현하는 모델로, 개념적 데이터 모델이 현실 세계의 객체와 관계를 고수준에서 모델링 하는것에 반해, 논리적 데이터 모델은 데이터베이스 내의 데이터 구조와 관계, 제약 조건 등을 상세하게 정의한다.
[관계 데이터 모델 Relational Data Model]
- 가장 널리 사용되는 모델로, 데이터를 2차원 테이블(또는 관계)의 형태로 표현한다.
- 각 테이블은 행과 열로 구성되며, 행은 레코드(또는 튜플)를, 열은 속성(또는 릴레이션)을 나타낸다.
- 데이터의 무결성을 보장하기 위해 기본 키(Primary key)와 왜래 키(Foreign key) 개념을 사용한다.
- SQL 표준화된 언어를 통해 데이터 조작 및 질의가 가능하다.
[계층 데이터 모델 Hierarchical Data Model]
- 데이터를 계층적인 구조로 표현하며, 트리 구조로 데이터 간의 관계를 나타낸다.
- 각 레코드는 하나의 부모 레코드와 하나 이상의 자식 레코드를 가질 수 있다.
- 이 모델은 네트워크 데이터 모델보다 덜 유연하며, 데이터베이스 구조 변경이 어렵다는 단점이 있다.
- IMS(Integrated Management System)와 같은 시스템에서 사용된다.
[네트워크 데이터 모델 Network Data Model]
- 계층 데이터 모델을 확장한 형태로, 다대다 관계를 나타낼 수 있는 그래프 구조를 사용한다.
- 한 레코드가 여러 부모 레코드를 가질 수 있다. 이로 인해 복잡한 관계를 표현할 수 있지만, 이를 관리하는 데 어려움이 존재한다.
- CODAYL(Data Description Language) 방식을 사용하여 데이터를 정의하고 조작한다.
출처 : 데이터베이스 개론 3판, 김연희 저자 한빛아카데미
데이터베이스 개론 | 김연희 - 교보문고
데이터베이스 개론 |
product.kyobobook.co.kr
'DB > 데이터베이스 개론' 카테고리의 다른 글
[DataBase] 관계 데이터 연산 (0) | 2023.10.19 |
---|---|
[DataBase] 관계 데이터 모델(Relational Data Model) (0) | 2023.10.19 |
[DataBase] 데이터베이스 시스템 (0) | 2023.10.09 |
[DataBase] 데이터베이스 관리 시스템 (0) | 2023.10.08 |
[DataBase] 데이터베이스 기본 개념 (0) | 2023.10.07 |