새소식

반응형
밥벌이/데이터베이스

개체-관계 모델(ER 모델)

  • -
반응형
  • ER 모델의 개요
    • ER 모델의 정의
      • ER 모델은 1976년 Peter Chen에 의해 발표된 모델링 도구
      • ER 모델은 데이터베이스 설계의 한 부분으로, 데이터베이스 요구 사항을 그래픽 형태로 표현
      • 3.개체 타입(Entity Type)과 관계 타입(Relationship Type)을 이용하여 현실 세계를 개념적으로 표현하는 기법
      • 현실 세계의 정보를 특정 DBMS와는 무관하게 개념적으로 설계
      • 최초에는 개체, 속성(Attribute), 관계의 개념만이 있었으나 점차 복합 속성과 일반화 계층이 추가
    • ER 모델의 특성
      • 그래픽 형태로 표현 : 데이터베이스 사용자들간의 의사소통이 원활해짐
      • 특정 DBMS 및 하드웨어 무관하게 설계 가능 : 설계 과정에 구현 사항을 반영하지 않음
      • Portable 하고 Compatible 함
      • 역공학(Reverse Engineering)의 적용이 가능
    • ER 모델의 장.단점
장점 단점
  • 그래픽 형태로 표현하여 이해가 쉬움
  • 특정 DBMS에 종속적이지 않음
  • 어떠한 데이터 모델에도 사상(Mapping)이 가능
  • 단순하고 일반적 모델에 적합
  • 복잡한 응용 분야에는 적용하기 어려움
    (GIS, 멀티미디어 응용 등)
  • 재사용, 상속, 다형성 개념이 없어 객체-지향 모델링은 적용이 어려움 → EER(Extended Entity Relation) 모델을 활용

   

  • ERD(ER Diagram)
    • ER 모델은 몇 가지 도형을 이용하여 현실 세계를 표현
      • ER 모델에서 사용하는 도형
구성요소 도형 주요내용
개체 타입   
  • 사람, 동물, 자동차 등과 같은 실제적인 객체 표현
  • 이름과 속성들로 정의
  • 이중 직사각형은 약한 개체를 표현
관계 타입   
  • 개체 타입들 간의 연관성을 표현
  • 1:1, 1:N 또는 N:1, N:M의 유형이 존재
속성   
  • 개체 또는 관계에 대한 특성을 기술하는 데이터 항목
  • 이중 타원은 다중값 속성, 점선 타원은 파생 속성
다중 값 속성   
  • 속성값이 여러 개 존재할 수 있는 속성
파생 속성   
  • 기존 속성값을 이용하여 새롭게 유도되는 속성
키 속성   
  • 각 개체를 유일하게 식별할 수 있는 속성
  • 부분키는 점선 밑줄로 표현
선(Link)    
  
  • 개체와 관계, 개체와 속성, 관계와 속성을 연결
  • 선 위에 역할(role)을 기재할 수 있음

   

  • ER 모델 구성 요소
    • 개체 및 개체 타입
      • 개체
        • 현실 세계의 객체로써 유형 또는 무형의 정보 대상으로 존재하며, 서로 구별될 수 있는 것
        • 개체는 현실 세계에 존재하는 실체를 의미하는 것으로, 하나 이상의 속성으로 구성
      • 개체 타입
        • 같은 특성들을 공유하는 같은 타입의 개체들의 집합
        • 같은 속성들을 갖고 있는 개체들의 집합
    • 관계 및 관계 타입
      • 관계
        • 여러 개체들 간에 존재하는 연관성
        • 관계도 하나 이상의 속성을 가질 수 있음
      • 관계 타입
        • 같은 관계들의 집합
        • 개체 타입들 간의 연관성
      • 차수
        • 관계에 참여하는 개체 타입들의 개수
        • 참여하는 개체 수에 따라 참여하는 개체가 2개이면 이항 관계, 3개 이면 삼항 관계, N개 이면 N항 관계라고 표현
관계 유형 개체 타입 / 관계 타입
단항 관계(Unary Relationship)
  • 개체 타입 : 사원
  • 관계 타입 : 관리
이항 관계(Binary Relationship)
  • 개체 타입 : 사원,부서
  • 관계 타입 : 소속
삼항 관계(Temary Relationship)
  • 개체 타입 : 공급자, 부품, 프로젝트
  • 관계 타입 : 공급
  • 카디널리티(Cardinality)
    • 관계에 참여하는 개체의 개수
    • 특정 개체와 관련된 대상 개체의 최대 인스턴스 수
    • 이항 관계에서 카디널리티의 예
      • 1:1 관계 : 관계에 참여하고 있는 두 개체 타입이 모두 한 개씩의 개체를 가질 수 있는 관계
      • 1:N 관계 : 관계에 참여하고 있는 개체 타입 중 한 개체 타입은 여러 개의 개체를 가질 수 있고, 다른 한 개체 타입은 한 개의 개체를 가질 수 있는 관계
      • N:M 관계 : 관계에 참여하고 있는 두 개체 타입 모두 여러 개의 개체를 가질 수 있는 관계
    • 카디널리티 표현 방법1
    •    
    • 카디널리티 표현 방법2
    • 관계에 개체들이 의무적으로 참여하는지의 여부
      • 의무적(Mandatory) 관계 : 개체 어커런스가 연관된 개체에 해당되는 어커런스를 반드시 요구하는 경우
      • 선택적(Optional) 관계 : 개체 어커런스가 연관된 개체에 해당하는 어커런스를 반드시 요구하지 않는 경우
    • 최대(Maximum) 카디널리티와 최소(Minimun) 카디널리티를 이용한 카디널리티의 표현 방법
    •    
  • 속성
    • 속성은 개체 또는 관계에 대한 특성이나 상태를 기술하는 데이터 항목
    • 속성이 가질 수 있는 모든 가능한 값들의 집합을 도메인(Domain)이라고 함
    • 속성의 분류
      • 단순 속성(Simple Attribute) : 더 이상 작은 단위(다른 속성)로 나누어지지 않는 속성
      • 복합 속성(Composite Attribute) : 더 작은 단위로 나누어 질 수 있는 속성, 즉 여러 개의 속성들로 표현되는 속성
      • 단일값 속성(Single-valued Attribute) : 속성값이 원자값인 것으로 하나의 값만 존재
      • 다중값 속성(Multi-valued Attribute) : 속성값이 여러 개 존재할 수 있는 것
      • 파생 속성(Derived Attribute) : 기존 속성값을 이용하여 유도해 낼 수 있는 속성
      • NULL 값 속성(NULL-valued Attribute) : null 값을 갖는 속성
      • 키 속성(Key Attribute) : 객체를 유일하게 식별할 수 있는 속성
           
  • 존재 종속(Existence Dependence)
    • 한 개체(약한 개체)의 존재가 다른 개체(강한 개체)의 존재에 종속
      • 이때 강한 개체가 삭제되면 약한 개체도 함께 삭제되어야 함
      • 존재 종속의 관계를 강한 개체(일반 개체)와 약한 개체, 부모 개체와 자식 개체 등으로 정의
    • 강한 개체 타입(Strong Entity Type)
      • 타 개체 존재 여부와 상관없이 존재할 수 있는 개체
      • 기본키가 있는 개체
    • 약한 개체 타입(Weak Entity Type)
      • 존재 종속이 성립하는 개체 타입으로서 기본키가 있는 개체
      • 관계를 갖는 강한 개체 타입(키 속성 존재)과 연관시켜서 식별
      • 부양 가족 개체의 경우 자신을 소유하는 직원에 종속되어, 직원이 존재하는 경우 함께 존재하게 되며, 직원이 삭제되는 경우 함께 삭제
      • 약한 개체의 부분키(Partial Key)는 주어진 강한 개체에 대해 하나의 약한 개체를 유일하게 식별할 수 있는 최소 개의 속성으로 구성되며, 구별자(Discriminator)라고도 함
        예) 강한 개체 타입 : 사원(사번, 이름, 봉급, 부서), 사번 : 기본키    
      • 약한 개체 타입 : 부양가족(이름, 나이, 성별), 이름 : 부분키
  • 존재 종속은 개체의 종속 관계를 표현합니다. 강한 개체 타입과 약한 개체 타입의 차이점을 비교하면서 두 개체 타입을 이해
반응형

'밥벌이 > 데이터베이스' 카테고리의 다른 글

SQL(Structured Query Language)  (0) 2010.09.03
시스템 카탈로그(System Catalog) / 데이터 사전(Data Dictionary)  (0) 2010.09.03
확장(Extended) ER모델  (0) 2010.08.26
UML  (0) 2010.08.26
역공학  (0) 2010.08.26
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.