본문 바로가기

데이터베이스

모델링 개념

훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com

 

모델링 기초


모델링
데이터 모델링이란 주어진 개념으로부터 논리적인 데이터 모델을 구성하는 작업을 말하며,
일반적으로 이를 물리적인 데이터베이스 모델로 환원하여
고객의 요구에 따라 특정 정보 시스템의 데이터베이스에 반영하는 작업을 포함한다.
후자의 의미로 흔히 데이터베이스 모델링으로 불리기도 한다.
- 위키백과 -

프로그래밍에서 모델링은 간단하게 말해서 db스키마를 만드는 작업을 의미합니다.

모델링 -> 스키마 생성 -> SQL 생성

 

또한 모델링은 현실 세계를 추상화, 단순화, 명확화 하여 DB에 맞게 표현하는 것을 의미합니다.


모델링 3단계

 

1. 개념 모델링 (outline 설계)

EA: DB만이 아니라 DB가 속한 전체 서비스의 큰 그림 (EA설계가 EAP)

ISP: EA를 기술적으로 구체적으로 접근하는 방법

들을 설계함과 동시에 이들로부터 어떤 테이블, 어떤 속성이 필요할지 설계

결과물: 개념적 ERD

 

2. 논리 모델링

개념 모델링을 통한 청사진을 바탕으로 DBMS가 지원하는 논리적 데이터 모델로 변환시키는 것

테이블, 외래 키, 관계, 상세 속성, 정규화(중복제거), M:N관계 해소, 참조 무결성 규칙 정의 등

결과물: 정밀한 ERD

 

3. 물리 모델링

논리 모델링을 통한 정보를 바탕으로

실제 DB(MySQL, Oracle)에 맞춰 테이블 스키마, 인덱스 등 정의

 

예시 (피터 첸의 표기법)

개념 모델링 이후
논리 모델링 이후
물리 모델링 이후

 


 

ER 모델링 (개념-관계 모델링)

위 모델링에서 계속 언급된 ERD에 대해서 알아보겠습니다.

ERD (Entity relationship diagram)

entity -> 기본 테이블 (1차) 더 이상 쪼개질 수 없는 기본적으로 존재해야 하는 테이블

relationship -> 관계 테이블 (2차) 유도된 테이블. 테이블간 관계를 표현하는 것.

위의 예시에서는

employee, department table이 entity table이고

dept_emp table이 relationship table입니다.

<표기법>

1. 피터 첸의 표기법
entity 사각형

relationship 다이아

attribute 원

2. 까마귀 발 표기법
테이블 종류를 구별하지 않고 사각형으로 표기

대응수 (Cardinality)
1:N M:N 1:1

1:1 일대일 (부부관계에서 남과 여는 일대일 관계이다.)

1:N 일대다, 다대일 (부모-자식관계에서 부모는 하나이나 자식은 여럿일 수 있다.)
M:N 다대다 (친구관계 내 친구도 여럿이고, 나도 여럿의 친구이다.)

<표기법>

1. 피터 첸의 표기법
숫자 그대로 표기

2. 까마귀 발 표기법
그림으로 표기

까마귀 발 표기법에 대해서 조금 더 자세히 알고싶으신 분들은

이곳을 참고하시면 됩니다.

codedragon.tistory.com/4187

 

까마귀발(Crow-feet) 표기법 – 기호, 관계

    기호 개체(□) 간의 관계는 기호(|, ○. ∈)와 실선, 점선으로 구분된다. 까마귀 발 부호는 관계의 다(Many) 쪽을 보여주는 데 사용되고, 타원(Oval), 해쉬 마크 및 까마귀발의 다양한 조합들을 표

codedragon.tistory.com


오늘은 모델링 개념에 대해서 알아보았습니다.

'데이터베이스' 카테고리의 다른 글

(MySQL) Index 개념과 종류  (0) 2021.05.12
트랜잭션 ACID  (0) 2021.05.12
MySQL 트랜잭션 개념과 예제  (0) 2021.04.14
MySQL DCL 예제  (0) 2021.04.07
MySQL DDL 예제  (0) 2021.04.07