본 게시물은 데이터베이스 과목의 강의영상과 강의자료를 바탕으로 작성한 학습용 게시물입니다.
데이터의 세계
- 데이터에 대한 3개의 세계
# 현실 세계 (개체)
# 개념 세계 (개념) : 현실 세계의 개체를 추상화, 개념적 모델링을 한 세계 ex) E-R 다이어그램
# 컴퓨터 세계 (데이터) : 개념 세계의 개체 타입을 변환, 논리적 모델링을 한 세계
1. 개념적 모델링
: 추상화 수준이 높고 업무 중심적이며 포괄적인 수준의 모델링 진행
- 현실 세계를 추상적 개념, 개체 타입으로 표현
- 개념적 구조
- 개념적 설계
2. 논리적 모델링
: 업무에 대해 키, 속성, 관계 등을 정확히 표현
- 개념적 구조를 논리적 개념, 레코드 타입으로 표현
- 논리적 구조, 데이터모델
- 논리적 설계
3. 물리적 구조화
: 실제 DB에서 이식할 수 있는 성능, 저장 등 물리적인 성격 고려 후 설계
- 논리적 구조를 물리적 구조로 표현
- 물리적 설계
- 저장 장치에서의 데이터 표현
data modeling
# 데이터베이스 설계의 핵심 : 개념적 구조와 논리적 구조를 거쳐 실제 데이터를 저장할 수 있는 물리적 구조로 변환
# 개념적 데이터 모델링
- 애트리뷰트들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용해 현실 세계를 표현하는 방법
- ex) E-R model (가장 대표적인 모델)
# 논리적 데이터 모델링
- 데이터 필드로 기술된 레코드 타입과 이 레코드 타입들 간 관계를 이용해 개념 세계를 표현하는 방법
- ex) 관계 데이터 모델, 네트워크 데이터 모델, 계층 데이터 모델, 객체 지향 데이터 모델
entity type
# 개체 (entity) : 단독으로 존재할 수 있으며, 다른 것과 구별되는 객체
# 개체 타입 (entity type)
- 이름과 애트리뷰트들로 정의됨
- 개체 집합 : 한 개체 타입에 대한 개체 인스턴스들의 집합
# 애트리뷰트의 유형
- 단순 애트리뷰트 / 복합 애트리뷰트
- 단일 값 애트리뷰트 / 다중 값 애트리뷰트
# 단순 애트리뷰트 ( simple attribute)
- 더 이상 작은 구성원소로 분해할 수 없는 애트리뷰트
# 복합 애트리뷰트 (composite attribute)
- 몇 개의 기본적인 단순 애트리뷰트로 분해할 수 있는 애트리뷰트
- ex) 주소 (도, 시, 동, 우편번호 ... )
# 단일 값 애트리뷰트 (대부분의 애트리뷰트)
- 특정 개체에 대해 하나의 값을 가지는 애트리뷰트
- ex) "학생" 개체 타입의 name 애트리뷰트
# 다중 값 애트리뷰트
- 한 개체에 대해 몇 개의 값을 가지고 있는 애트리뷰트
- ex) "학생" 개체 타입의 hobby 애트리뷰트
relationship type
# 관계 타입 (relationship type)
- 개체 집합(타입)들 사이의 대응을 의미
- 개체들은 반드시 상호 관계를 맺고 있음
- 다른 개체와 관계를 맺고 있지 않은 개체는 의미x
# 개체 간의 사상 원소 수 (mapping cardinality)에 의한 분류
- 1 : 1 ( one to one : 일 대 일 )
- 1 : n ( one to many : 일 대 다 )
- n : 1 ( many to one : 다 대 일 )
- n : m ( many to many : 다 대 다)
Entity - Relationship model ( E-R model )
- 개념적 데이터 모델
- 현실 세계의 개념적 표현
- 개체 타입(집합)과 관계 타입(집합)을 기본 개념으로 현실 세계를 개념적으로 표현하는 방법
- 개체 집합 (entity set) : 한 개체 타입에 속하는 모든 개체 인스턴스 (entity instance)
- 관계 집합 (relationship set) : 한 관계 타입에 속하는 모든 관계 인스턴스 (relatonship instance)
E - R diagram
logical data model
# 개념적 데이터 모델 (conceptual data model)
- 개체-관계 데이터 모델
- 현실 세계를 추상적 개념인 개체 타입과 관계 타입으로 표현
# 논리적 데이터 모델 (logical data model)
- 개념적 구조를 데이터베이스로 구현하기 위한 중간 단계로 논리적 개념인 레코드(개체) 타입과 관계로 표현
- 네트워크 데이터 모델 (network data model)
- 계층 데이터 모델 (hierarchical data model)
- 관계 데이터 모델 (relational data model)
- 객체지향 데이터 모델 (object-oriented data model) - 객체 데이터 모델 (object data model)
- 객체-관계 데이터 모델 (object - relational data model - 확장 관계 데이터 모델 (extended relational data model)
# 데이터베이스
- 릴레이션 - 테이블의 집합
- 개체 릴레이션, 관계 릴레이션
# 릴레이션 스키마 (relation schema)
- 개체와 관계성을 모두 릴레이션(테이블)로 정의
'LECTURE > [2021-1] 데이터베이스' 카테고리의 다른 글
[데이터베이스] Database Index (0) | 2021.06.10 |
---|---|
[데이터베이스] E/R Model을 Relational Database로 변환 (0) | 2021.06.10 |
[데이터베이스] E-R modeling (0) | 2021.06.10 |
[데이터베이스] DB응용프로그래밍 : mySQL 및 python 기반 (0) | 2021.06.10 |