-
2024 데이터베이스개론 정리 - 2. ER 모델 & EER 모델Database 2024. 4. 2. 18:28728x90
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 : 수퍼클래스에 속한 한 멤버가 어느 서브클래스에도 속하지 않는 것을 허용 (단일선으로 표시)
- 1. 상호중첩배제 제약 조건 (Disjointness Constraint)
728x90'Database' 카테고리의 다른 글
2024 데이터베이스개론 정리 - 5. SQL (문법/Stored Procedure/Transaction & Deadlock/Index & B+Tree) (0) 2024.04.02 2024 데이터베이스개론 정리 - 4. 관계 데이터 연산 - 관계 대수와 관계 해석 (0) 2024.04.02 2024 데이터베이스개론 정리 - 3. 관계 모델 (ER모델 to 관계 모델) (0) 2024.04.02 2024 데이터베이스개론 정리 - 1. 데이터베이스 시스템 개요 (0) 2024.04.02