Data Science 02 - Data Modelling

Daniel·2021년 11월 9일
0

DataScience

목록 보기
1/1
post-thumbnail

데이터 모델링?

현실 세계에 존제하는 데이터를 컴퓨터 세계의 데이터베이스로 변환하는 과정이다.

1. 개념적 데이터 모델링 (Conceptual Modelling)

사람이 쉽게 이해 할 수 있도록 현실 세계를 개념적으로 모델링 하여 개념적 구조로 표현
ex.) 개체-관계 모델

개체-관계 데이터 모델 (Entity-Relationship model, E-R model)


Peter Chen이 제안한 모델.
개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현.
핵심요소로 개체, 속성, 관계가 있다.
현실의 세계를 개념적으로 모델링한 결과물을 그림으로 표현.

개체 (Entity)

현실 세계에서 사람이나 사물과 같이 구별되는 모든것.
저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물,등...
다른 개체와 구별되는 이름을 갖고 있고, 각 개체만의 고유한 특성이나 상태, 즉 속성을 하나이상 갖고 있음.

개체 타입 (Entity Type)
개체를 고유의 이름과 속성들로 정의.
파일구조의 Record Type에 대응됨.

개체 인스턴스 (Entity Instance)
개체를 구성하고 있는 속성이 실제 값을 가짐으로 실체화된 개체.
Entity Occurrence라고도 함.
파일구조의 Record Type에 대응됨.

개체 집합 (Entity Set)
특정 개체 타입에 대체한 개체 인스턴스들의 집합.

속성 (Attribute)

개체나 관계가 갖고있는 고유의 특성.
의미 있는 데이터의 가장 작은 논리적 단위.
파일 구조의 Field와 대응됨.
타원으로 표현.

속성의 종류 (Attribute Types)
Null Attribute: Null 값 허용.
Key Attribute: 각 개체 인스턴스를 식별하며 값이 다 다름. 두개 이상으로 구성 가능.

관계 (Relationship)

개체와 개체가 맺고 있는 의미 있는 연관성.
개체 집합들 사이의 대응 관계 or Mapping을 의미.

관계 유형 (Relation Types)
1:1 관계
개체 A와 B에서 각 하나의 인스턴스와 서로 관계를 맺음.

1:n 관계
개체 A의 하나의 인스턴스와 개체 B의 여러 개의 인스턴스와 관계를 맺음.

n:n 관계
여러개의 개체 A와 B 인스턴스들이 서로 관계를 맺음.

2. 논리적 데이터 모델링

개념적 구조를 논리적으로 모델링하여 논리적 구조로 표현
ex.) 관계 모델

관계 데이터 모델 (Relationship Data Model)


개념적 구조를 논리적 구조로 표현하는 논리적 모델.
하나의 개체에 대한 데이터를 하나의 realtion에 저장.

Relation
하나의 개체에 관한 데이터를 2차원 제이블의 구조로 저장한 것.

Attribute
Relation의 열.

Tuple
Relation의 행.

Domain
하나의 속성이 가질수 있는 모든 값의 집합.
값을 입력 및 수정할 때 적합성 판단의 기준이 됨.
일반적으로 속성의 특성을 고려한 데이터 타입으로 정의.

Degree
하나의 relation에서 속성의 전체 개수.

Cardinality
하나의 relation에서 tuple의 전체 개수.

Relation Schema

Relation의 논리적 구조.
Relation의 이름과 relation에 포함된 모든 속성의 이름으로 정의.
Relation Intension라고도 함.
정적인 특징이 있음.

Relation Instance

어느 한 시점에 relation에 존재하는 tuple들의 집합.
Relation Extension라고도 함.
동적인 특징이 있음.

Database Schema

Database의 전체 구조.
Database를 구성하는 relation schema의 모음.

Database Instance

Database를 구성하는 relation instance의 모음.

Relation의 특성

Tuple의 유일성.
하나의 relation에는 도잉ㄹ한 tuple이 존재할 수 없음.

Tuple의 무순서.
하나의 relation에서 tuple 사이의 순서는 무의미.

속성의 무순서.
하나의 relation에서 속성 사이의 순서는 무의미.

속성의 원자성.
속성 값으로 원자 값만 사용할 수 있음.

Key

Relation에서 tuple들을 유일하게 구별하는 속성 또는 속성들의 집합.
Uniqueness와 Minimality의 특성을 갖는다.

Key Types

Super Key
유일성을 만족하는 속성들의 집합.
ex.)고객아이디, (아이디, 이름), (이름, 주소) 등

Candidate Key
유일성과 최소성을 만족하는 속성들의 집합.
ex.)고객아이디, (이름, 주소) 등

Primary Key
후보키 중에서 기본적으로 사용하기 위해 선택한 키.
ex.)고객아이디

Alternate Key
기본키로 선택되지 못한 후보키.
ex.)고객이름, 주소

Foreign Key
다른 relation의 기본키를 참조하는 속성 또는 속성들의 집합.
Relation들 간의 관계를 표현.

무결성 제약조건 (Integrity Constraint)

데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙.
데이터의 결함이 어ㅂㅅ는 상태, 즉 정확하고 유효하게 유지하는 것.

Entity Integrity Constraint

기본키를 구성하는 모든 속성은 null값을 가질 수 없는 규칙.

Referential Integrity Constraint

외래키는 참조할 수 없는 값을 가질 수 없는 규칙.

profile
My study blog 🧑🏻‍💻

0개의 댓글