관계형 데이터 모델링 1

개념적 데이터 모델링

업무 파악


기획

데이터 모델링이란 데이터베이스를 통해 현실의 문제를 해결하는 것이다. 따라서 컴퓨터를 이해하는 것 만으로는 부족하고 업무 이해를 깊게 해야 가능하다. 그러기 위해서는 실무자들과 정확한 소통이 필요하다. 기획자와 구현자는 프로그램에 대한 UI(User Interface)를 함께 그려보며 서로 원하는 부분을 공유하고 동기화 하는 것도 좋다.

간단하게 UI를 구성해볼 수 있는 사이트

OvenApp.io

개념적 데이터 모델링


소개

개념적 모델링이란, 파악한 업무에서 개념을 뽑아내는 것을 말한다. 개념적 모델링을 할 경우 다음과 같은 효과를 얻을 수 있다. 먼저, 현실에서 개념을 추출하는 일종의 필터를 준다. 문제에서 구현해야 하는 것들을 구조화 할 수 있는 능력을 갖는 것이다.

관계형 데이터베이스 다운 개념의 구조

rdb1.png Entity Relationship Diagram

관계형 데이터베이스는 개체 관계 구조 (ERD : Entity Relationship Diagram)에서 시작된다. ERD는 정보, 그룹, 관계라는 3가지 구성 요소로 이루어 진다.

가령, 글을 올리고 댓글을 다는 사이트를 만든다고 가정하고 ERD를 만든다면 여러가지 형태로 나타낼 수 있다.

rdb2.png

rdb1.png

다른 형태도 있을 수 있지만 위 같은 두 가지 형태로도 표현할 수 있다. 하지만 RDB에서는 후자를 택해야 한다. 왜냐면 RDB는 내포관계를 허용하지 않기 때문이다.

rdb1.png

내포하는 관계를 표로 표현할 경우 간단하게 표현할 수 없어 데이터 관리에 어려움이 있다.

rdb1.png

하나하나 나눠서 표로 표현할 경우 중복이 발생하기 때문에 시스템 효율에 좋지 않다.

rdb1.png

entity마다 표를 만들게 된다면 그룹화를 할 수 있고 원하는 정보에 해당하는 표만 봄으로서 컴퓨터의 자원을 아낄 수 있다는 장점이 있다.

출처

관계형 데이터 모델링 - 4.2. 관계형 데이터베이스 다운 개념의 구조

ERD의 구성요소

개념적 모델링에서 정보들은 Entity, 정보의 속성은 Attribute, 연관성을 표현한 것을 Relation 이다.

후에 Entity는 표가 되고 Attribute는 표의 column이 되고 Realtion은 논리적 모델링에서 나오게 되는 FK가 된다.

Entity Relational Diagram Helper

erd.yah.ac

Discussion and feedback