데이터 모델링

POOHYA·2022년 3월 24일
0

데이터 모델의 요소

Entity (개체)

데이서베이스에 저장하고 싶은 데이터의 주체, 즉 row

Entity Type (개체 종류)

Entity를 일반화하였을때, 즉 Table

Attribute (속성)

Entity에 대해서 실제로 저장하려는 내용/특징, 즉 column

Relationshilp (관계)

Entity들 사이 생기는 연결점

데이터 모델링의 목적

저장하고자하는 데이터에서 Entity, Attribute, Relationship, Constraint파악
데이터베이스를 어떻게 만들고, 수정할 건지에 대한 계획을 세우는 작업
실제로 만든 계획을 반영하는건 모델링에 포함되지 않는다

Relational Model

Relation(테이블)과 Relationship(외래키)를 사용해 표현하는 모델
가장 익숙하고 실제 데이터베이스를 만들때 편리하지만
로우가 없어도 데이터 구조를 알수 있고
테이블 사이의 관계를 한눈에 알 수 없다는 단점이있다.

Entity Relational Model (ERM)

개체와 관계중심으로 모델링

데이터 모델 스펙트럼

개념모델(Conceptual Model)

주로 큼직한 entity들과 간단한 연결 관계만을 나타낸다
attribute를 구체화하지 않음

논리모델(logical Model)

entity들과 realationship 그리고 attribute를 나타내고 이중 pk, fk도 표시한다

물리모델(Physical Model)

가장 구체적이며 데이터베이스를 구축할 수 있을 정도로 자세한 정보가 담겨있다
각 attribute의 변수이름, 타입, 인덱스 등을 표시함

모든 명사는 entity 후보다
모든 동사는 relationship 후보다
하나의 값으로 표현할 수 있는 명사는 attribute 후보다
단, 여러값을 가질 수 있다면 entity 후보다

Cardinality

B entity 한 개가 A entity 몇 개와 연결될 수 있는지를 나타내는 개념

1:1

하나의 A에 하나의 B가 있고 반대로 하나의 B에 하나의 A만 존재한다
ex) 주민등록증, 부부관계

1:N

하나의 A에 여러개의 B가 있을수 있고 하나의 B에 대에서는 하나의 A만 있다
ex) 유저의 평가, 선생님의 수업

N:N

하나의 A에 여러개의 B가 있고 반대로 하나의 B에 여러개의 A만 존재한다
ex) 찜하기, 학생의 수강중인 수업

카디널리티 ERM에서 나타내기

Crow's foot 표현법

profile
김효주

0개의 댓글