[DataBase System] ch08 - 데이터 모델링

2023. 4. 18. 17:45DataBase/DB 문제풀이

[DataBase System] ch08 - 데이터 모델링

 

책정보, 데이터베이스 시스템 : 네이버 책 (naver.com)

 

데이타베이스 시스템 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

문제 풀이


1 ) 데이터 모델은 무엇인가? 그 구성요소를 중심으로 설명하라

 

- 컴퓨터에 저장할 데이터 구조를 논리적으로 표현하기 위해 사용하는 지능적 도구

- 구성 요소로는 다음과 같다

  • entity : DB에 표현하려는 것, 개념이나 정보 같은 구현하고자 하는 현실의 대상
  • attribute : 개체들의 공통적인 특성, 
  • relationship : entity간의 관계 및 attribute의 관계를 의미 

2 ) 개념적 데이터 모델과 논리적 데이터 모델, 그리고 물리적 데이터 구조와의 관계를 설명해 보라

  • 개념적 데이터 모델 : 속성들로 기술된 개체 타입과 이 개체 타입 간의 관계를 바탕으로 현실 세계를 표현
  • 논리적 데이터 모델 : 데이터 필드로 기술된 레코드 타입과 이 레코드 타입들 간의 관계를 이용하여 현실세계를 표현
  • 물리적 데이터 모델 : 표현이 된 논리적 데이터 모델을 컴퓨터에 저장하는 것

3 ) 다음을 간단하게 설명하라

 

  1. 개체 타입
    1. 개체의 이름과 애트리뷰트로 정의되고 애트리뷰트는 해당 개체의 특성을 기술한다.
  2. 개체 인스턴스
    1. 개체를 구성하고 있는 속성이 실제 값을 가지고 실체화된 개체를 의미
  3. 개체 집합
    1. 해당 개체 인스턴스들이 모여서 집합화 되는 것을 개체 집합이라 한다. DB에 실제로 저장되고 관리하는 것을 의미
  4. 관계 타입
    1. 관계성 타입이라 하기도 한다. 개체 타입의 모든 인스턴스들, 개체 집합들 사이의 대응(correspondence), 즉 사상(mapping)을 말한다.
  5. 관계 집합
    1. 개체 집합과 개체 집합에 실제로 나타나 있는 관계 인스턴스를 말한다.
  6. 널 애트리뷰트
    1. 어떤 개체 인스턴스가 어느 특정 애트리뷰트에 대한 값을 가지고 있지 않을 때 이를 명시적으로 표시하기 위해 사용
  7. 개체 관계
    1. 개체들 간의 관계를 의미한다.
  8. 복합 애트리뷰트
    1. 몇 개의 기본적인 단순 애트리뷰트로 분리될 수 있는 애트리뷰트 
  9. 약한 개체 타입
    1. 상위 개체 타입이 결정되지 않으면 개별 객체를 식별할 수 없는, 종속적인 개체타입을 의미
  10. 존재 종속
    1. 어떤 개체 b의 존재가 개체 a의 존재에 달려 있는 경우이다.
    2. 만약 개체 a를 삭제하면 개체 b도 삭제가 되는 경우
  11. 전체 참여
    1. 개체 A-B관계에서 개체 집합 A의 모든 개체가 이 A-B관계에 참여해야 되는 것을 의미한다.
  12. 부분 키
    1. 약한 개체 타입을 고유하게 식별할 때 사용되는 속성. 해당 부분 키를 통해 강한 개체 타입과 결합하여 튜플을 식별할 때 사용이 된다.
  13. 구별자
    1. 강한 개체가 주어졌을 때 이와 연관이 된 약한 개체들을 서로 구별할 수 있게 해주는 약한 개체 타입의 속성
  14. 식별 관계 타입
    1. 약한 개체를 강한 개체에 연관시켜 주는 관계를 의미한다.

4 ) E - R 다이어그램과 데이터 구조도의 차이점을 기술해 보라. 또 스키마 다이어그램은 무엇인가?

 

 -  E - R 다이어그램은 개체 관계 모델을 사용하여 현실 세계의 데이터와 사이의 관계를 사람이 이해할 수 있도록 표현, 데이터 구조도의 경우 데이터 사이의 관계성을 파악하여 논리적 구성 형태를 기술한다.

 

- 스키마 다이어그램은 DB의 스키마를 시각적으로 표현을 한 것이다.


5 ) 관계 데이터 모델에서 개체와 관계를 표현하는 방법이 같다.-라는 말을 예를 들어 설명해 보라

 

-


6 ) E - R Model의 기본 개념을 설명해 보라. 그리고 다음과 같은 현실 세계를 E - R 다이어그램으로 표현해 보라.

 

"Emp(사원)은 Eno(t사원번호), Name(이름), Addr(주소)로 구성되고

Dept(부서) Dno(부서번호), Dname(부서이름), Budget(예산)으로 구성된다. 사원은 한 부서만 위해 근무(Works-for)한다. 

근무 활동은 근무 시간(hours)으로 표현한다. 사원번호와 부서번호는 유일하다. 각 부서에는 부서를 관리(Manages)하는 한 사원이 있으며 이 부서를 관리하는 사원은 모두 다르다.


7 ) 부모-자식 관계와 오너-멤버 관계에서 함수성(functionality)을 정의하라. 레코드 인스턴스에 어떤 영향을 주는가?

 

- 하나의 부모가 여러 자식 레코드를 가질 수 있기에 함수성의 경우 1:n이라고 볼 수 있다. 이는 오너 - 멤버 관계에서도 마찬가지이다. 이러한 함수성은 레코드 인스턴스에 영향을 준다. 이는 부모 레코드에서 몇 개의 추가적인 자식 레코드를 가질수 있는지를 의미한다.


8 ) 관계, 계층, 네트워크 데이터 모델의 차이점과 장단점을 설명하라.

 

- 관계를 표현하는 방식에서 차이가 존재한다. 관계를 나타내는 방법이 테이블 형태로 조직화되어 관계가 맺어져 있는지, 혹은 계층 형태(트리)로 이루어져 있는지 혹은 네트워크 형태인지에 따라 달라진다. 

 

- 관계 데이터 모델의 경우 논리적/물리적 구조의 분리로 인해 데이터의 독립성이 높다는 점이 있고 단점으로는 복잡한 구조를 표현하기에는 어렵다는 점이 존재한다

 

- 계층 데이터 모델의 경우 계층 형태의 데이터를 쉽게 표현 가능. 다만 단점으로는 논리적/물리적 구조의 밀접한 연결로 인해 데이터의 독립성이 낮다는 점이 존재

 

- 네트워크 데이터 모델의 경우에는 데이터를 그래프로 구성한다. 그리고 오너 - 멤버의 형태로 데이터를 조직화한다. 복잡한 데이터 구조를 쉽게 표현할 수 있다는 장점이 있지만 이 또한 논리적/물리적 구조의 밀접한 연결로 인해 독립성이 낮다는 단점이 존재한다.