본문 바로가기

Database

Database - Basics of ER Model

왜 이 강의를 수강하는지?(Udemy)

from Database Management System from Scratch by Vignesh

 

1. 본인은 나름 싱가포르에서 어학연수 경험해봤기에 인도식 영어의 발음에 굉장히 익숙함

(인도식 억양에 굉장히 적응못하는 사람들이 은근 있음)

2. 컴공 다니는 느낌좀 나게 하려고 

(이분은 화이트보드에 필기를 하신다. 학교에서 수업듣는것 같음)
3. 그동안 Mysql이나 Postgres도 깔짝깔짝 써봤지만 좀 깊게 들어갈 필요가 있을것 같다.

 

간단한 개요는 이렇고...
본인 역시 노트에 선생님이 화이트보드에 필기하신걸 받아적는데

그걸 그대로 올리기는 어려워서 한국어로 번역하고 구글링으로 살을 붙여 업로드 해보려 한다.

 

Entity와 Attribute

 

 

데드바이 데이라이트 라는 게임이 있다.

게임을 설명하자면, 맵에 플레이어 vs 악마(1명) 가

 

플레이어는 탈출을 시도하고 악마는 인간들을 포획(?)하는 

일종의 서바이벌 게임이다.

 

이 악마를 맵에 풀어놓은 만악의 근원이 바로 엔티티

The entity인데

순수한 '악'이 게임상에 실재하는 존재라고 보면 된다.

(악마가 인간들을 잡아서 특정 장소에 데려다 놓으면

이 엔티티가 위에서 잡아간다. 어떻게 생긴지 자세히 묘사되지 않는다)

 

데이터베이스 상의 엔티티도 기본적 개념은 비슷한데

좀 더 명확하다.

 

사람이 생각하는 개념이나 정보의 단위를 엔티티라고 칭한다.

(Object라고 부르기도 한다. 우리가 아는 그 Object 맞다)

 

엔티티의 Property들을 속성(Attribute)라고 부른다.

관계(Relationship)는 엔티티간의 연결관계를 칭하는 뜻이다.

 

 

이 그림에서 엔티티 Student와 College는

StudyIn 이라는 관계로 맺어져 있고,

 

각 Student와 College 엔티티는 각각의 name,id 등의 Attribute들을 가지고 있다.

 

속성(Attribute)는 다음과 같이 구분된다

 

 속성의 분류 

분해 여부에 따른 속성의 종류

종류 설명
단일 속성 - 하나의 이미로 구성된 것으로 회원ID, 이름 등을 말합니다.
복합 속성 - 여러개의 의미가 있는것으로 대표적으로 주소가 있습니다.
- 주소는 시, 군, 동 등으로 분해될 수 있습니다.
다중값 속성 - 속성에 여러개의 값을 가질 수 있는 것으로 예를 들자면 상품리스트가 있습니다.
- 다중값 속성은 엔터티로 분해가 가능합니다.

 

특성에 따른 속성의 종류

종류 설명
기본 속성 - 비즈니스 프로세스에서 도출되는 본래의 속성을 말합니다.
- 예) 회원ID, 이름, 계좌번호, 주문 일자 등
설계 속성 - 데이터 모델링 과정에서 발생되는 속성입니다.
- 유일한 값을 부여합니다.

- 예) 상품코드, 사번 등
파생 속성 - 다른 속성에 의해서 만들어지는 속성을 말합니다.
- 예) 합계, 평균 등

 

출처 : https://coding-factory.tistory.com/871

 

사실 엔티티도 유형,개념,사건 엔티티 등으로 분류할수 있는데

그냥 궁금하면 검색해보면 되고

 

사실 Attribute가 훨씬 더 중요하다고 생각한다.

 

프로젝트에서 DB설계시 Attribute에 대한 개념이 잡혀있지 않으면

DB설계를 변경한다던지, 아니면 감도 못잡고 헤메는 경우가 있다.

 

'Database' 카테고리의 다른 글

Database - Relationship - Terminologies and types  (0) 2023.06.27