데이터베이스 개론 - 3 (ER - Entity Relationship Model)

김대한·2022년 9월 14일
0

데이터베이스 개론

목록 보기
3/14

ER Model

company database 4가지 요구사항이 존재

용어 정의

  1. ER model : 요구 사항으로부처 얻어낸 정보들을 entity, attribute, relation으로 기술하는 데이터 모델

  2. entity : DB에 표현하려는 것으로 현실 세계의 대상체

    • 객체, 단독으로존재하며 동일한 객체는 존재하지 않는다
    • Weak Entity
      약한 엔티티란 키(key) 속성이 없고 다른 엔티티 유형에 따라 식별되는 종류입니다. 약한 엔티티는 부분
      (partial key)와 관련된 특정 엔티티의 조합으로 식별됨. 예를 들어 회사 데이터베이스에서 회사원의 가족과 관련된 부분을 예시로 들 수 있음. 누구의 부양 가족인지 확실하게 알 수 가 없고 해당하는 key attribute가 없다.
  3. attribute : 가장 작은 논리적 단위로 데이터 항목, 데이터 필드에 해당

    • 단순, 복합

      • simple : 더이상 분해할 수 없는 하나의 값을 가짐 eg)이름
      • composite : 여러개의 요소로 분해할 수 있는 속성 eg)주소
    • 단일값, 다중값

      • single value : 1개의 값
      • multi valued : 같은 성질의 값 2개 이상을 가짐 ex)전화번호는 여러개 일 수 있다
    • 저장, 유도

      • stored : derived 계산을 위한 속성
      • derived : 다른 attribute를 통해 계산할 수 있는 유도된 attribute
    • complex : composite + multi-value

attribute 예시)


여기서 ssn이 key attribute이며, phone의 경우 multi-value, 유도의 경우 점선으로 표시

  1. entity type : entity가 가지는 공통 되는 basic attribute의 의미, type은 set과 달리 변하지 않는다.
  2. entity set : entity의 집합, 데이터 베이스에 따라 달라질 수 있음

entity 예시)

여기서 entity는 '학생'이며 학생이라는 객체는 3개의 attribute '학번, 이름, 학과'를 가지고 있다. 위와 같은 entity instance의 모임을 entity set이라고 하며 entity의 attribute인 '학번, 이름, 학과'가 entity type이 된다.

  1. relationship : 관계 타입이란 동일한 유형의 관계들을 모아 그룹화 한 것이다. 앞서 언급한 Jhon Smith라는 엔티티가 Product X 프로젝트에서 일하는 직원이라면 그러한 직원을 모아 WORKS_ON 관계 타입을 형성할 수 있다. 관계 타입의 경우 degree는 참여 엔티티 타입의 수가 된다. 관계에 대한 스키마 설명이자, 관계 이름과 참여 엔티티 유형을 식별하며, 관계 제약 조건을 관계 타입에서 다룬다. 관계 타입은 A-B 엔티티 사이에 한개만 존재하는 것이 아니라 여러개 존재할 수 있다. 예를 들어 프로젝트와 직원 사이에는 일하는이라는 관계가 있을 수 있으나, 관리하는이라는 관계 또한 존재할 수 있다.

  2. relationship set : relationship에 대한 집단으로 데이터베이스에 표시된 현재의 관계 인스턴스 집합이다. 즉, 관계 유형들의 현재 상태를 의미한다.

  3. relation type은 데이터를 설명하는 데이터의 구조 즉 스키마를 의미한다.

relation과 relationship의 차이점

결론적으로 DBMS에서 Relation과 Relationship의 차이점은
Relation 은 관계형 모델 데이터베이스의 테이블
Relationship 은 관계형 모델 데이터베이스의 두 테이블이 서로 연결되는 방식을 가리킨다는 점이다.

Relation constraint

1. 카디널리티 비율 제약조건 ( Cardinality Ratio Constraint )

관계를 맺는 두 Entity Type에 대해, 한 개체가 얼마나 많은 다른 개체와 관련될 수 있는지를 나타내는 제약조건을 뜻합니다.

  1. 일대일(1 : 1) : 두 개 Entity Type의 개체들은 서로 일대일로 대응
  2. 일대다(1 : N) : 하나의 개체가 다른 Entity Type의 많은 개체들과 관련되지만, 그 역은 성립하지 않음
  3. 다대다(N : M) : 하나의 개체가 다른 Entity Type의 많은 개체들과 관련되며, 역이 성립 참여 제약조검

2. 참여 제약조건 ( Participation Constraint )

관계를 맺는 두 Entity Type에 대해 한 개체의 존재가 다른 개체의 존재에 의존하는지 여부를 나타내는 제약조건을 뜻합니다.

  1. 전체 참여 ( Total Participation ) : 하나 또는 그 이상의 개체가 참여
  2. 부분 참여 ( Partial Participation ) : 선택적인 참여

ER 그리는 법

ER notation


위에서부터 entity, attribute, relation constraint에 관한 ER notation을 나타냄

Reference

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lyshyn&logNo=221123941635

profile
나는 고양이야 다만 개같을 뿐이지

0개의 댓글