ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2024 데이터베이스개론 정리 - 2. ER 모델 & EER 모델
    Database 2024. 4. 2. 18:28
    728x90

     

     

     

    2024 데이터베이스개론 정리 - 2. ER 모델 & EER 모델

     

     

     

    • 1. 데이터베이스 시스템 개요
    • 2. ER 모델 & EER 모델 
      • ER 모델 
      • EER 모델 
    • 3. 관계 데이터베이스 모델 (ER모델 to 관계 모델)
    • 4. 관계 데이터 연산 - 관계 대수와 관계 해석
      • 관계 대수 
      • 관계 해석
    • 5. SQL
      • 검색 
      • 테이블 정의, 조작, 뷰 
      • Stored Function, Stored Procedure 
      • Tigger
      • Transaction
      • DB 인덱스와 B Tree
    • 6. 함수적 종속성과 정규화 
      • 함수적 종속성
      • 정규화
    • 추가 
      • RDB VS NoSQL 

     

     


     

     

     

    Entity Relationship 모델 (ER 모델)

     

     

     

     

     

     

     

     

     

     

    Entity-Relationship (ER) 모델

    • 개체(Entity)와 개체 간의 관계(Relationship)를 이용하여 현실 세계를 개념적 스키마로 표현하는 개념
      적 데이터 모델
    • 핵심요소: (개체, 속성), 관계

     

     

     

    ER 모델에서 개체 타입과 키, 속성

    • 개체 타입(Entity Type)
      • 개체를 고유의 이름과 속성들로 정의한 것
    • 개체 인스턴스(Entity Instance)
      • 개체를 구성하고 있는 각 속성이 실제 값을 가짐으로써 실체화된 개체
    • 개체 집합(Entity Set)
      • 특정 개체 타입에 대한 개체 인스턴스들의 집합
    • 키(Key)
      • 각 개체마다 서로 다른 값을 가지는 속성 혹은 속성들의 집합(둘 이상의 속성들로 구성될 수 있음)
      • 예: 사원의 사회보장번호 등
    • 속성(Attribute)
      • 개체를 기술하는 특성
      • ‘어떤 것의 성격’에 해당
    • 속성 값(Attribute Value)
      • 각 개체는 자신의 속성에 해당하는 값을 가짐
    • 속성의 타입 
      • 단순 속성, 복합 속성, 다치 속성, 유도 속성 (다른 속성이나 사실(fact)에 의해 그 값이 유도될 수 있는 속성), 널 속성 (널(Null) 값이 허용되는 속성 )

     

     

     

     

     

    약한 개체 타입과 강한 개체 타입

    • 약한 개체 타입(Weak Entity Type) : 키가 없는 개체 타입
    • 약한 개체 타입과 구분하기 위해 키 속성을 가지는 개체 타입을 강한 개체 타입(Strong Entity Type)이라고 부
    • 약한 개체 타입의 키: 약한 개체 타입의 부분 키(Partial Key) + 식별 개체 타입의 키

     

     

    ER 모델에서  관계 타입

    • 관계 
      • 개체와 개체가 맺고 있는 연관성
    • 관계 타입 
      • 개체 타입과 개체 타입 간의 관계를 정의한 것 
    • 관계 집합 
      • 관계 인스턴스들의 집합 (관계 인스턴스 : 서로 연관된 특정한 개체 인스턴스 사이의 연관성)
    • 관계 타입에서의 제약 조건 
      • 카디널리티(Cardinality) 비율 제약 조건
      • 참여 제약조건(Participation Constraint)

     

    관계 타입에서의 제약조건  : 1) 카디널리티(Cardinality) 비율 제약 조건

    • 1:1 관계 : 하나의 개체 인스턴스가 하나의 개체 인스턴스에 대응
    • 1:N관계 : 하나의 개체 인스턴스가 다수의 개체 인스턴스에 대응
    • M:N관계 : 다수의 개체 인스턴스가 다수의 개체 인스턴스에 대응

     

     

     

    • 각 사원은 최대 하나의 부서에 소속되어야 하지만, 각 부서는 다수의 사원을 포함할 수 있음
    • 각 사원은 여러 개의 프로젝트들을 수행할 수 있으며, 각 프로젝트는 다수의 사원들이 함께 수행 함
    • 각 사원은 최대 하나의 부서를 관리할 수 있으며, 각 부서는 부서를 관리하는 한 명의 사원이 존재함

     

     

    ER 모델에서  관계 타입 : 2) 참여 제약조건(Participation Constraint)

    • 전체 참여(Total Participation): 모든 개체 인스턴스가 관계에 반드시 참여해야 하는 것을 의미
    • 부분 참여(Partial Participation): 개체 인스턴스 중 일부만 관계에 참여해도 되는 것을 의미

     

    • 모든 사원은 부서에 소속되어야 하고, 모든 부서는 사원을 포함해야 함
    • 모든 사원이 부서를 관리할 필요가 없지만, 모든 부서는 해당 부서를 관리하는 사원이 존재해야 함

     

     

     

     

     

     

    Enhanced Entity Relationship 모델 (EER 모델)

     

     

    Enhanced Entity Relationship 모델 (EER 모델)

    • ER 모델에서 다음과 같은 새로운 기능을 추가한 개념적 데이터 모델 
      • 서브 클래스 /  수퍼 클래스 
      • 상속 
      • 특수화 / 일반화

     

     

     

    서브 클래스 /  수퍼 클래스 

    • 일반적으로 하나의 개체 타입(Entity Type)은 여러 개의 의미 있는 부 개체 타입(Sub-Entity Type)으로 그룹화할 수 있음
    • 예시 
      • 사원 개체 타입을 다음과 같이 그룹화 
        • 사원 직무에 따라서 
        • 사원 급여 방식에 따라서 
        • ...
      • 각각의 부 개체 타입은 사원 개체 타입의 서브클래스(Subclass)라고 함 
      • 사원 개체 타입은 각각의 부 개체 타입의 수퍼클래스(Superclass)라고 함 
    • 서브클래스/수퍼클래스 관계를 IS-A 혹은 포함 관계라고도 함

     

     

    상속 (Inheritance)

    • 서브클래스는 수퍼클래스의 모든 속성뿐만 아니라 추가적인 속성을 가질 수 있다는 개념 
    • 서브클래스는 수퍼클래스의 모든 관계뿐만 아니라 추가적으로 자신만의 관계를 가질 수도 있음 
    • 종류 
      • 단일 상속 
        • 모든 서브클래스가 하나의 수퍼클래스를 가지는 경우에 해당
        • 클래스들의 계층구조를 형성
      • 다중 상속 
        • 하나의 서브클래스가 하나 이상의 수퍼클래스를 가지는 경우에 해당 

     

     

    특수화(Specialization)와 일반화(Generalization)

    • 특수화 
      • 클래스 내의 멤버 (개체 인스턴스)들 사이의 차이점을 발견하여 서브클래스의 집합으로 정의하는 과정
      • 하나의 클래스는 한 개 또는 그 이상의 특수화된 서브클래스들로 나뉘어짐 
    • 일반화 
      • 두 개 이상의 클래스들의 공통된 특징을 가지는 수퍼클래스를 정의하는 과정으로서 특수화의 역과정 
      • 초기의 클래스들은 일반화를 통해 생성된 수퍼클래스의 서브클래스가 됨 
    • 특수화/일반화에 적용 가능한 제약조건 2가지
      • 1. 상호중첩배제 제약 조건 (Disjointness Constraint)
        • 특수화 서브클래스는 반드시 중첩되지 않음을 명시 (D로 표시)
        • 상초중첩배제가 아닌 특수화는 서로 중첩될 수 있음 (O로 표시)
      • 2. 완전성 제약 조건 (Completeness Constraint)
        • Total : 수퍼 클래스에 속한 모든 멤버가 반드시 특수화/일반화 서브클래스의 멤버가 되어야 한다고 명시 (이중선으로 표시)
        • Partial : 수퍼클래스에 속한 한 멤버가 어느 서브클래스에도 속하지 않는 것을 허용 (단일선으로 표시)

     

    EER 모델 적용 예시

     

     

     

     

     

     

    728x90
Designed by Tistory.