Chapter2 데이터 모델
이 글은 기초가 든든한 데이터 베이스를 참조하여 작성했습니다.
1. 데이터모델
1.1 개념
- 데이터베이스의 구조를 단순화, 추상화하여 체계적으로 표현하는데 사용하는 도구로써 그래픽적으로 구현한다.
1.2 구성요소
- 데이터구조 : 데이터베이스에서 표현될 대상과 그들 간의 관계에 대한 명세, 주로 정적인 특징
- 연산 : 데이터 구조에 따라 실제 값들을 처리하는 작업에 대한 명세, 데이터 조작 기법, 동적인 특징
- 제약조건 : 무결한 데이터 저장을 위한 데이터 조작 한계에 대한 규정
1.3 종류
- 개념적 모델
- 데이터베이스의 논리적 구조를 명시
- 사용자가 인식하는 것과 유사하게 표현
- ex) ER(Entity - Relationship) 모델
- 논리적 모델
- 개념적 구조를 컴퓨터가 이해할 수 있는 논리적 데이터로 변환 시킨 것
- 컴퓨터와 사람 모두 인식 가능
- ex) 계층 데이터 모델, 네트워크 데이터 모델, 관계 데이터 모델
2. 개념적 데이터 모델
- 개체(entity)와 속성(attribute) 그리고 개체 간의 관계(relationship)를 이용하여 현실세계에 존재하는 데이터를 추상화하여 개념적 구조로 표현하는 기법
2.1 개체
- 사람과 사물 같이 유형의 정보를 가지고 현실세계에 물리적으로 존재하는 실체 혹은 개념, 사건 등과 같이 무형의 정보를 가지고 추상적/개념적으로 존재하는 실체
- 기본 개체 : 원래 업무에 존재하는 정보, 다른 게체와의 관계에서 독립적(부모 역할) ex) 회원, 도서, 출판사
- 중심 개체 : 기본 개체에서 발생, 데이터 양이 많다. ex) 주문, 배송
- 행위 개체 : 두 개 이상의 부모 개체에서 발생, 내용이 빈번하게 변경되거나 데이터 양이 증가 ex) 주문 내역
- ERD에서 개체 타입은 직사각형으로 나타냄
2.2 속성
- 개체의 특성이나 상태를 구체적으로 기술한 것
- 속성값 : 개체의 특성이나 상태가 현실화된 값
- ERD에서 타원으로 나타내고, 그 속성이 소속된 개체 타입에 실선으로 연결
- 식별자 : 개체 인스턴스를 다른 개체 인스턴스들과 구별할 수 있게 하는 하나 또는 그 이상의 속성
- ERD에서 속성 이름에 밑줄을 그려 표기
2.3 관계
- 개체와 개체가 맺고 있는 의미 있는 연관성
- ERD에서 마름모로 나타낸 후 그 관계 타입이 관련된 개체 타입에 실선으로 연결
- ex) 일대일, 일대다, 다대다 관계
3. 논리적 데이터 모델
3.1 계층 데이터 모델
- 데이터베이스의 논리적 구조를 트리(tree) 형태로 표현한 것
- 다대다 관계 직접 표현X
- 포인터 개념을 사용하기 때문에 속도가 빠르다
3.2 네트워크 데이터 모델
- 데이터베이스의 논리적 구조를 그래프(graph) 또는 네트워크 형태로 표현한 모델
- 화살표를 사용하여 일대다 관계만을 표현
- 포인터 개념을 사용하여 검색 속도가 빠르다
3.3 관계 데이터 모델
- 데이터베이스의 논리적 구조를 표(table) 형태로 표현한 데이터 모델
- 포인터가 아닌 속성 값을 사용
- 검색 속도는 포인터 보다는 느리지만, 개념이 쉽고 프로그램 개발이 빠르다.
'CS > [DATABASE]' 카테고리의 다른 글
Chapter12 정규화 (0) | 2022.01.27 |
---|---|
Chapter11 ER모델(Entity-Relationship Model) (0) | 2022.01.25 |
Chapter4 관계 대수 (0) | 2022.01.20 |
Chapter3 관계 데이터 모델과 제약조건 (0) | 2022.01.18 |
Chapter1 데이터베이스 시스템 (0) | 2022.01.11 |