Coding Planet

[DB Modeling] 개념적 데이터 모델(E-R 다이어그램), 개념적 데이터 모델, 논리적 데이터 모델 본문

DB, SQL

[DB Modeling] 개념적 데이터 모델(E-R 다이어그램), 개념적 데이터 모델, 논리적 데이터 모델

jhj.sharon 2023. 3. 8. 16:06
반응형

2. 개념적 데이터 모델

 

 

  • 현실 세계에 존재하는 데이터를 의미 있는 엔티티, 속성, 관계를 정의하는 추상화 과정
  • 현실 세계에 존재하는 엔티티를 인간이 이해할 수 있는 정보구조(Information Structure)로 표현하는 과정
  • 현실 세계를 추상화하여 개념적으로 표현하여 이해하기 쉽게 할 뿐 아니라 의사소통을 원활하게 해주는 과정을 의미
  • 정보 모델링이라고도 함
  • 개체 관계 모델(E-R : Entity-Relationship Model) : 기술된 엔티티 타입과 이 엔티티 타입들 간 의 관계를 이용하여 현실 세계를 표현하는 가장 대표적인 개념적 데이터 모델

 

  1. 주식별자(Primary Identifier)
  • 엔티티에 소속된 인스턴스들을 구별하는 기준 역할을 하는 속성.
  • 주식별자는 하나가 아닌 여러 속성일 수 있다. (복합키)
  • 엔티티의 속성 중 주식별자 속성이 없다면 새로운 속성을 만들어준다. (인위적 주식별자)
  • 주식별자는 유일성, 최소성, 불변성, 존재성의 특징을 갖는다.

1-1. 주식별자의 특징

  • 유일성: 주식별자에 의해서 엔티티 내에 모든 인스턴스들을 유일하게 구현(중복x)
  • 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
  • 불변성: 주식별자가 한 번 특정 엔티티에 지정되면 그 식별자의 값은 변하지 않아야함.
  • 존재성: 주식별자가 지정하면 반드시 데이터가 존재해야함 (NOT Null)

 

2. 외래 식별자(Foreign Identifier)

  • 연관 있는 엔티티 간의 연결고리 역할을 하는 속성
  • 관계가 있는 두 엔티티를 부모, 자식 엔티티로 구분한 후 부모의 주식별자와 공통 속성이 자식에게도 존재하면 해당 속성을 외래식별자로 지정. 존재하지 않으면 부모의 주식별자 속성을 자식에게 추가한 후 외래식별자로 지정.

 

 

** E-R 다이어그램

  • 엔티티와 이들 간의 관계를 알기 쉽게 미리 약속된 도형을 사용하여 일목요연하게 표현

 

  • 표기법

 

 

 

 

1. ERD 표기법(관계)

  • 카디널리티와 참여도에 따른 관계의 종류
    • 카디널리티: 두 개의 엔티티 간 관계에서 엔티티에 속해 있는 인스턴스들을 수적으로 표시한것
    • 참여도: 참여도에는 필수, 선택 두 종류가 존재. 어떤 기준이 되는 엔티티가 있을 때 반드시 대응되는 엔티티가 존재해야 한다면 필수, 존재할 수 도 하지 않을 수도 있다면 선택

 

2. ERD 표기법 (식별-비식별 관계)

  • 식별 관계(Identifying Relationship)
    • 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자의 일부가 되는 관계
    • PFK로 표시된다. (외래 식별자가 주식별자의 역할도 한다.)
    • 실선으로 관계를 표시한다
  • 비식별 관계(Non-Identifying Relationship)
    • 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자 역할을 하지 못하고 단순히 새로운 속성으로 추가되는 관계
    • FK로 표시된다. (단지 외래식별자의 역할만 한다.)
    • 점선으로 관계를 표시한다.

 

 

 

 

 

3. 논리적 데이터 모델

 

  • 개념적 데이터 모델은 DBMS가 직접 이해할 수 없기 때문에 컴퓨터가 이해할 수 있도록 논리적 데이터 모델로 변환해야 하는데 이를 논리적 데이터 모델이라고 한다.
  • 개념적 설계에서 추출된 실체와 속성들의 관계를 관계형 데이터베이스 이론에 맞게 구조적으로 설계하는 단계인데, 이를 스키마의 설계라고 한다.
  • 정확한 업부 분석을 통한 자료의 흐름을 분석하여 실체와 속성들의 관계를 구조적으로 설계하여야 한다.
  • 논리적 데이터 모델은 데이터 모델링이라고도 함
  • 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델 등이 있음

 

 

계층 데이터 모델 -데이터를 저장하는 단위인 엔티티의 구조가 상하 종속적인 관계로 구성
-ex)교수 - 학생- 수강과목
네트워크 데이터 모델 - CODASYL이 제안(CODASYL DBTG 모델이라고도 함)
- 그래프를 이용해서 데이터 논리구조를 표현한 데이터 모델
- 상위와 하위 레코드 사이에서 다대다(N:M) 대응 관계를 만족하는 구조
관계 데이터 모델  - 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델
 - 표(Table)를 이용해서 데이터 상호관계를 정의하는 구조

 

 

 

반응형
Comments