본문 바로가기
SQLD

1과목 PART1. 데이터 모델링의 이해 (문제)

by 새싹감자 2022. 9. 28.

1. 모델링 특징

- 단순화, 추상화, 정확화

- 시스템 구현만을 위해X

 

2. 모델링 필요 이유

- 업무기초정보를 일정한 표기법에 의해 표현

- DB 생성해서 사용하려고

- 데이터모델링 자체로 업무 분석에 의미가 있음

- 별도의 표기법X

 

3. 모델링 유의사항

- 중복성

- 비유연성

- 비일관성

 

4. 모델링 유의사항 특성

- 비유연성 설명

 

5. 모델링 개념

- 개념적 : 추상화수준 높은 모델링

- 논리적 : 시스템 속성-관계 표현

- 물리적 : 실제 DB에 이식, 성능 고려

 

6. DB 스키마 구조 3단계

- 외부 스키마 : 개개인 사용자가 보는 개인적 DB 스키마

- 개념 스키마 : 모든 사용자 관점을 통합한 전체 DB

- 내부 스키마 : 물리적 장치에서 데이터가 실제적 저장

 

7. ERD 보는법

- 기본키, 외래키로 부모테이블/자식테이블 구별

- 부모-자식 관계가 1:0~M관계 기호

 

8. ERD 설명

- ERD 작성 순서 : 엔티티 도출 → 엔티티 배치 → 관계설정 → 관계명기술

- 엔티티 왼쪽 상단

 

9. 엔티티

- 병원 1개, 이름, 주소는 엔티티 속성

- 즉, 환자가 엔티티로 가장 적절

 

10. 엔티티 특징

- 엔티티 반드시 속성 가짐

- 엔티티 최소 1개 관계 있음 (통계성, 코드성 엔티티는 생략 가능)

- 인스턴스 2개 이상의 집합

- 업무에서 필요하지 않으면 엔티티X

 

11. 엔티티 특징

- 다른 엔티티와 관계 가짐

- 유일한 식별자에 의해 식별가능

- 업무에 이용되어야함

- 엔티티 반드시 속성 가짐

 

12. 기본 엔티티 특징

- 자신의 고유한 주식별자 가짐

- 다른 엔티티한테 주식별자 상속 안받음

 

13. 엔티티 명명법

- 약어 사용 금지

- 현업 용어 사용

- 유일한 이름

- 생성의미대로 부여

 

14. 속성 정의

- 의미상 더 이상 분리되지 않는 최소 데이터 단위

 

15. 속성 특징

- 엔티티 자세한 정보

- 엔티티 2개 이상 속성 가짐

- 속성은 1개의 속성값 가짐

- 속성도 집합

 

16. 속성 사례

- 일반예금은 코드로 구분하고 코드값만 포함 맞음

- 원금, 예치기간은 업무로부터 나온 기본속성

- 이자는 계산된 파생속성, 이자율은 기본속성

- 예금분류는 업무를 규칙화한 설계속성

 

17. 파생속성 특징

- 성능을 빠르게 하기 위해 원래 속성의 값을 계산하여 저장한 속성

 

18. 도메인 개념

- 속성이 가질 수 있는 값의 범위 (몇 자리 문자열)

 

19. 속성 명명법

- 약어 사용 금지

- 서술식 용어 금지

- 전체 데이터모델에서 유일한 속성명

- 해당업무에서 사용하는 이름 부여

 

20. 관계 특징

- 관계 - 존재에의한관계 / 행위에의한관계 구분, ERD 구분X 표기

- UML - 연관관계 / 의존관계, UML 구분O 표기 (실선 / 점선)

 

21. 관계 특징

- 관계 - 존재에의한관계 / 행위에의한관계

- 관계 표기법 - 관계명, 관계차수, 관계선택성

- 존재에의한관계 ex) 부서/사원 테이블의 소속

- 행위에의한관계 ex) 주문/배송 테이블의 배송근거

 

22. 관계차수 정의

- 1:1, 1:M과 같이 관계의 기수성 나타내는 것

 

23. 관계 체크사항

- 2개의 엔티티 사이에 연관규칙?

- 2개의 엔티티 사이에 정보조합 발생?

- 관계연결에 대한 규칙?

- 관계연결을 가능하게 하는 동사?

 

24. 관계 체크사항

- 2개의 엔티티 사이에 연관규칙?

- 2개의 엔티티 사이에 정보조합 발생?

- 관계연결에 대한 규칙?

- 관계연결을 가능하게 하는 동사?

 

25. 주식별자 지정 시 고려사항

- 주식별자에 의해 엔티티 내 모든 인스턴스들이 유일하게 구분되어야 함

- 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수

- 지정된 주식별자의 값은 자주 변하지 않아야 함

- 주식별자가 지정되면 반드시 값이 들어와야 함

 

26. 식별자 분류

주식별자 / 보조식별자

- 엔티티 내에서 대표성을 가지는가?

 

내부식별자/외부식별자

- 엔티티 내에서 생성되는가?

 

단일식별자/복합식별자

- 속성 1개인가 아님 2개 이상인가?

 

본질식별자/인조식별자

- 업무에 의해 or 인위적으로 만들어지는가?

 

식별자 '사번'은

대표성이 있으므로 주식별자

속성 1개이므로 단일식별자

내부에서 생성되므로 내부식별자

업무에 의해 만들어지므로 본질식별자

 

27. 식별자 특징

- 명칭/내역 등은 동명이인, 같은내역때문에 식별자로 부적절

 

28. 식별자 특징

- 해당 업무에서 자주 이용되는 속성을 주식별자로 지정

- 명칭/내역 등은 동명이인, 같은내역때문에 식별자로 부적절

- 복합으로 주식별자 구성할 경우 너무 많은 속성 포함시키지 않기

- 자주 변하지 않는 것을 주식별자로 지정

 

29. 비식별자관계 기준

- 관계가 강하면 식별자관계, 관계가 약하면 비식별자관계

- 자식 주식별자 영향 받으면 식별자관계, 자식 주식별자 영향 받지 않으면 비식별자 관계

- 모든 관계가 식별자관계로 연결되면 SQL 문장 길어지고 복잡해져서 비식별자관계 고려

- 부모엔티티 주식별자를 계속 상속시키려면 식별자관계, 자식 주식별자 독립하려면 비식별자 관계

 

30. 비식별자관계 고려

- 부모엔티티에 참조값 없어도 자식엔티티의 인스턴스 생성될 수 있는 경우

- 부모엔티티가 자식엔티티와 독립된 경우

- 여러 엔티티 통합되면서 각각 엔티티가 갖고 있던 여러개의 개별관계가 통합되는 경우

- 자식엔티티 주식별자를 부모엔티티와 별도로 생성하는게 유리한 경우

 

댓글