코딩이 쉬워진다!/03. SQL

SQLD 정리 - 데이터 모델링의 이해

javajin 2022. 3. 4. 18:35
728x90
반응형
SMALL

01. 데이터 모델링의 이해

 1) 데이터 모델의 이해

 

- 모델과 모델링

모델은 일정한 표기법에 따라 표현한 모령, 축소형을 의미하고, 모델링은 모델을 만들어가는 일 자체를 나타낸다.

모델링은 현실 세계의 복잡하고 구체적인 것을 단순 명확하게 추상화한다.

 

-개념 논리 물리 데이터 모델

데이터 모델은 추상화 수준에 따라 아래의 세 가지 데이터 모델로 구분된다.

개념 : 추상화 수준이 높고 업무 중심적이고 표괄적인 수준의 모델링

논리 : 업무에 대한 키, 속성, 관계 등을 정확하게 표현

물리 : 데이터베이스 이식을 위해 성능, 저장 등 물리 요소를 고려하여 설계

 

2) 엔터티

엔터티는 인스턴스의 집합이다.

각 인스턴스들의 성격들을 구체적으로 설명하는 항목이 속성이고, 식별자는 엔터티의 여러 속성 중 각 인스턴스를 유일하게 식별할 수 있는 하나 이상의 속성을 의미한다.

 

엔터티의 정의

  • 변별할 수 있는 사물 - Peter Chen
  • 데이터베이스 내에서 변별 가능한 객체 - C .J Date
  • 정보를 저장할 수 있는 어떤 것 - James Martin

3) 속성

-관계

부모 엔터티의 식별자를 자식 엔터티의 식별자로 상속하면 '식별관계',  일반속성으로 상속하면 '비식별관계' 라고 한다.

부모 엔터티의 식별자가 아닌 일반속성을 자식 엔터티의 속성으로 정의한다면, 정상적인 관계속성이 아니다.

전혀 관련 없이 이름만 같은 속성이거나 부모속성을 반정규화 한 중복 속성일 수 있다.

정상적인 모델 표기법으로 두 속성의 관계를 정의하지 않았으므로 항상 값이 동일하다고 해석 하지 않는다.

 

부모 엔터티 기준으로 자식 엔터티를 필수관계로 정의한다면, 부모 인스턴스별로 자식 인스턴스를 반드시 등록해야 한다.

자식 엔터티를 선택관계로 정의한다면, 부모 인스턴스만 등록하고 자식 인스턴스는 등록하지 않아도 된다.

자식 엔터티 기준으로 부모 엔터티를 필수 관계로 정의한다면, 부모 인스턴스를 먼저 등록한 후 자식 인스턴스를 등록해야한다. 부모 엔터티를 선택 관계로 정의한다면, 부모 없이 자식 인스턴스만 등록할 수 있다.

 

4)관계

개념 모델 단계에서 정의한 m:m 관계는 논리 단계에서 관계엔터티로 재정의해야 한다.

즉, 양쪽 엔터티로부터 식별자를 상속받은 제3의 교차 엔터티를 정의해야한다.

 

부모 엔터티 기준으로 자식엔터티를 필수 관계로 정의한다면, 부모인스턴스 자식 인스턴스를 반드시 등록해야 한다.

자식 엔터티를 선택관계로 정의한다면, 부모 인스턴스만 등록하고 자식인스턴스는 등록하지 않아도 된다.

여기

5)식별자

 

-주식별자의 특징

유일성 : 엔터티의 모든 인스턴스를 고유하게 식별할 수 있어야 한다.

최소성 : 고유성을 만족하는 최소의 속성으로 구성되어야 한다.

불변성 : 주식별자의 속성이 변경되지 않아야 한다.

존재성 : 주식별자의 속성에 넣을 입력할 수 없다.

 

-식별관계정의

부모 엔터티의 식별자를 자식 엔터티의 식별자로 상속하는 '식별관계'를 표현하는 방식은 모델 표기법에 따라 다르다.

바커 표기법에서는 자식 쪽 관계선에 UID Bar를 표시한다.

IE 표기법에서는 관계선 전체를 실선으로 표시한다.

 

 

 

 

728x90
반응형
LIST