Home 2. 데이터 모델링
Post
Cancel

2. 데이터 모델링

2.1 데이터 모델

데이터 모델은 현실 세계를 데이터베이스로 구축할 수 있도록 추상화한 것이다.

예) 에스프레소, 아메리카노 > 커피, 주스 > 음료, 간식 > 음식, 소품 > 상품

데이터 모델은 상세화 수준에 따라 개념 데이터 모델, 논리 데이터 모델, 물리 데이터 모델로 구분된다. 요구사항을 분석하여 개념 데이터 모델을 설계하고, 데이터베이스 모델에 따라 개념 데이터 모델을 논리 데이터 모델로 상세화한 후 DBMS에 따라 논리 데이터 모델을 물리 데이터 모델로 전환한다.

2.2 E-R 모델

Entity-Relationship Model은 엔티티와 관계로 데이터를 표현한다. 엔터티 타입은 인스턴스화된 엔터티의 집합이다. 엔터티는 속성으로 구성되고, 관게는 엔터티간의 연관이고 페어링의 집합이다. 페어링은 인스턴스 간의 연관이다.

E-R 모델, 관계형 모델, 오라클 데이터베이스의 유사한 용어로 다음과 같다.

E-R 모델관계형 모델오라클
엔터티릴레이션테이블
인스턴스튜블
속성속성

2.2.1 엔터티

엔터티는 개체로 인식할 수 있는 데이터의 집합이다. 추상화한 개체를 엔터티로 도출한다.

기본 식별자

기본 식별자는 엔터티에서 인스턴스를 고유하게 식별 할 수 있는 속성이다. 엔터티는 반드시 기본 식별자를 가져야 한다. 하나의 속성으로 구성된 식별자를 단일 식별자, 2개 이상의 속성으로 구성된 식별자를 복합 식별자라고 한다.

2.2.2 속성

속성은 엔터티에서 관리되는 데이터의 최소 단위다. 속성은 업무적으로 분리되지 않아야하며, 하나의 속성값만 가져야 한다.

도메인

도메인은 속성값의 범위를 나타내며, 물리 모델에서 데이터 타입과 제약 조건으로 변환된다.

2.2.3 관계

관계는 엔터티간의 업무적 연관이다 하나의 엔터티는 하나 이상의 엔터티와 관계를 가질 수 있고, 관계를 가진 엔터티와 또 다른 관계를 가질 수도 있다. 연관관계가 생기면 자식 엔터티는 부모 엔터티의 기본 식별자를 상속받고, 부모 엔터티로부터 상속받은 식별자를 외래 식별자(FK)라고 한다.

카디널리티

카디널리티는 하나의 부모 인스턴스가 몇 개의 자식 인스턴스와 페어링될 수 있는지를 나타낸다. 1:1, 1:M, M:M 관계가 존재한다.

옵셔널리티

옵셔널리티는 부모 인스턴스와 자식 인스턴스의 페어링 여부를 나타낸다. 페어링되어야 하면 필수 관계, 페어링되지 않아도 되면 선택 관계를 가진다.

관계 유형

관계 유형은 식별 관계와 비식별 관계로 구분된다. 부모 엔터티의 기본 식별자가 자식 엔터티의 기본 식별자 속성으로 상속되면 식별 관계, 일반 속성으로 상속되면 비식별 관계다. 비식별 관계는 부모 엔터티와 자식 엔터티의 느슨한 관계를 가진다.

2.2.4 예시 데이터 모델

20~21p

2.3 정규형

정규형은 데이터 이상 현상을 제거하기 위한 관계형 모델의 설계지침이다.

2.3.1 정규화

정규형을 위배한 릴레이션을 정규형으로 만드는 과정을 정규화라고 한다.

  • 1정규형 : 1정규형은 원자성과 관련이 있다. 다중 값이나. 반복 그룹을 갖는 경우 1정규형을 위반했다고 할 수 있다.
  • 2정규형 : 2정규형은 부분 종속과 관련이 있다. 부분 종속이란 일반 속성이 식별자의 일부 속성에만 종속되는 것이다.
  • 3정규형 : 3정규형은 이행 종속과 관련이 있다. 이행 종속은 일반 속성이 다른 일반 속성에 종속되는 것이다.

2.3.2 반정규화

반정규화는 성능 개선을 위해 의도적으로 데이터를 중복시키는 것이다. 정규형을 위배한 릴레이션은 데이터 무결성을 보장하기 어렵기 때문에 제한적으로 사용하는 편이 바람직하다.

2.4 물리 데이터 모델

|논리 데이터 모델|물리 데이터 모델| |—–|——| |엔터티|테이블| |속성|열| |도메인|데이터타입, NOT NULL 제약조건, CHECK 제약 조건| |기본 식별자|PK 제약 조건| |외래 식별자|FK 제약 조건|

물리 데이터 모델은 DDL문을 통해 데이터베이스 오브젝트로 생성된다.

This post is licensed under CC BY 4.0 by the author.

1. 데이터

3. 오라클 데이터베이스