[Database] 데이터 모델링

DaeHoon·2022년 2월 3일
0

database

목록 보기
1/3

데이터베이스 생명주기

  • 데이터모델링은 요구분석과 설계 단게에서 이루어진다.

데이터 모델링

  • 현실 세계의 작업이나 사물을 데이터베이스로 표현하는 작업.
  • 데이터베이스는 Entity들의 집합과 Entity 사이의 관계로 모델링이 된다. 이를 Entity-Relationship(E-R) Model이라고 한다.

개념적 모델링

  • 요구사항을 수집하고 분석한 결과를 바탕으로 Entity간 관계를 정의하여 E-R Diagram을 만드는 과정

논리적 모델링

  • E-R Diagram을 통해 속성 정의, 데이터 정규화 등 relational schema를 만드는 과정

물리적 모델링

  • 정의한 relational schema를 바탕으로 모델의 물리적 구조를 정의 및 구현하는 과정

데이터베이스 생명주기와 모델링의 관계

E-R Model

  • 모든 사물을 개체(Entity)와 개체 간의 관계 (Relationship)으로 표현
  • 현실 세계에서 개체들을 도출하고 이 사이의 관계를 기술하는 것
  • 우리는 위와 같은 E-R 모델로 개념적 모델링(E-R Diagram 생성)을 할 수 있다.

개체와 개체타입

  • 개체(Entity) : 사람, 사물, 장소 등 어떠한 정보를 가지고 있는 독립적인 실체
  • 개체 타입(Entity Type): 데이터들의 공통 속성
  • 개체 집합(Entity Set): 비슷한 속성의 개체 타입이 집합으로 묶임
  • E-R Diagram에서 직사각형으로 표시

속성

  • 속성(Attribute) : 개체(Entity)가 가진 성질
  • 타원으로 표기하고, 속성이 개체를 유일하게 식별할 경우 밑줄

관계와 관계 타입

  • 관계(Relationship): 개체(Entity) 사이의 연관성을 나타냄

관계의 대응수(Mapping Cardinality)

  • 관계집합에서 각 개체들이 참여할 수 있는 대응의 개수.
  • 개체의 최솟값을 표시하기 위해 E-R 다이어그램에서는 (최소값, 최대값)으로 표기한다.

ex) 학과와 학생의 관계는 1개의 학과의 여러 명의 학생이 있울 수 있다. 그리고 학생이 한 명도 없는 학과가 존재 할 수 있다.(0,*) 학생은 반드시 하나의 학과를 가져야 한다. (1,1)

참여 제약 조건 (Participation Constraints)

  • 전체 참여 (Total participation): 관계(Relationship)에 개체 집합 (Entity Set)의 모든 개체가 참여. (최솟값, 최댓값)에서 최솟값이 1 이상.
  • 부분 참여 (Partial participation): 일부의 개체만 참여. 참여 안하는 개체가 있을 수 있다. (최솟값, 최댓값)에서 최솟값이 0 이상.

약한 개체 타입과 식별자(Weak Entity Type & Identifier)

  • 약한 개체 타입(Weak Entity Type): primary key가 없는 Entity Type. 상위의 개체 집합이 결정되지 않으면 개별로 개체를 식별할 수 없다. 즉 식별할 수 있는 다른 개체 타입에 종속적이다
  • 약한 개체 타입의 존재 유무는 식별이 가능한 다른 개체에 따라서 결정된다.

    ex) 가족과 직원이라는 두 개의 개체가 부양이라는 관계를 맺고 있다. 그런데 그 직원이 부양하는 가족이 있다고 할 때 직원이 없으면 부양가족도 존재할 수 없으므로 가족은 약한 개체(Weak Entity)가 된다.

이를 통해 Relational Schema를 만들면
직원(직원번호, 이름, 직책)
가족(직원번호, 이름, 관계)
기울어진 attribute가 Primary Key가 된다. 가족은 직원을 의존하기 때문에 직원의 Primary Key를 참조해서 자신의 식별자와 함께 Primary Key를 만든다.


참고자료 : 배우는 오라클로 배우는 데이터베이스 개론과 실습 ppt

profile
평범한 백엔드 개발자

0개의 댓글