Basic Knowledge/Database

231009 월) 데이터 모델

roofTopCaat 2023. 10. 9. 21:03

데이터 모델링의 개요

현실의 데이터를 DB로 표현하기 위한 모델을 만드는 것으로, 개념적 데이터 모델과 논리적 데이터 모델을 거쳐 디스크에 저장될 수 있는 물리적 형태로 변환하는 DB 설계 과정이다

 

데이터 모델링의 종류

1) 개념적 모델링

 

 - 시스템이 어떻게 구성되며 어떤 비즈니스 규칙이 사용될 것인지를 거시적으로 보여준다. 

 - 현실 세계에 대한 인간의 이해를 돕기 위해 데이터를 추상적 개념으로 표현한다

 - Entity-Relationship이라는 개념적 데이터 모델을 사용, 모델링 결과를 마름모, 타원, 직선등의 다이어그램으로 표현한다

E-R다이어그램

 

2) 논리적 모델링

 

 - 개념적 모델링을 통해 얻은 개념적 구조를 DBMS가 지원하는 논리적인 데이터 모델로 변환시키는 과정이다

 - 데이터 간의 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분된다

 

 

3) 물리적 모델링

 

 - 논리적 모델링을 통해 얻은 구조를 실제 디스크에 저장될 수 있도록 물리적으로 변환시키는 과정이다

 - 이 과정에서 테이블 / 인덱스 / 파티션 등의 구조가 정의되고 DB의 성능과 확장성을 고려하게 된다

 

 

데이터 모델의 구성요소

 

1) Entity (개체)

 

현실 세계의 객체로써 유/무형의 정보로 존재하고 서로 구별될 수 있다

데이터베이스에 표현되는 것으로 개념, 정보단위의 대상체이다

파일 시스템 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 수행한다 

 

출처 :  [SQLD : Ⅰ. 데이터 모델링의 이해] 1-2. 엔티티와 인스턴스, 표기법 (tistory.com)

 

2) Attribute (속성)

 

데이터의 최소 논리 단위로서 파일 구조상 데이터 항목 또는 데이터 필드에 해당한다

Entity를 구성하는 항목이다

 

음식점 번호 (속성)(개체타입) 점포명 (속성) (개체타입) 분류 (속성) (개체타입) 지역 (속성) (개체타입)
45001 (인스턴스 개체) 목포백반 (인스턴스 개체) 한식 (인스턴스 개체) 서울 (인스턴스 개체)
45002 (인스턴스 개체) 해동반점 (인스턴스 개체) 중식 (인스턴스 개체) 경기 (인스턴스 개체)
45003 (인스턴스 개체) 마루 (인스턴스 개체) 일식 (인스턴스 개체) 충남 (인스턴스 개체)

 

3) Relation (관계)

 

Entity 간의 관계 또는 Attribute 간의 관계이다

 

음식점 ( 번호 , 점포명 , 분류 , 지역 )

손님 ( 나이, 이름 )

 

여기서 둘의 관계는 공급자와 소비자의 관계이다

 

관계의 형태

 

일 대 일 ( 1 : 1 ) : 집합 A의 각 원소가 B의 각 원소와 일 대 일로 대응되는 관계

 

일 대 다 ( 1 : N ) : 집합 A의 각 원소가 B의 원소 여러 개와 대응하지만, 반면 B는 A의 원소 한 개하고만 대응되는 관계

 

다 대 다 ( N : M ): A와 B의 원소들이 서로 여러개씩 대응되는 관계

 


참고

https://velog.io/@greendev/4%ED%9A%8C%EC%B0%A8-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%AA%A8%EB%8D%B8%EB%A7%81-%EA%B0%9C%EC%9A%94

https://coding-factory.tistory.com/218

https://brunch.co.kr/@yoongg59/5

[DB] 📚 데이터 모델 🕵️ 정리 (tistory.com)

 

'Basic Knowledge > Database' 카테고리의 다른 글

231007 토) DBMS / RDBMS / NoSQL  (0) 2023.10.07
231001 일) 데이터베이스, 데이터 기초  (0) 2023.10.01