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. 비식별자관계 고려
- 부모엔티티에 참조값 없어도 자식엔티티의 인스턴스 생성될 수 있는 경우
- 부모엔티티가 자식엔티티와 독립된 경우
- 여러 엔티티 통합되면서 각각 엔티티가 갖고 있던 여러개의 개별관계가 통합되는 경우
- 자식엔티티 주식별자를 부모엔티티와 별도로 생성하는게 유리한 경우
'SQLD' 카테고리의 다른 글
[프로그래머스 SQL고득점 키트 JOIN]없어진 기록 찾기 (0) | 2023.02.08 |
---|---|
[프로그래머스 SQL고득점 키트 JOIN]조건에 맞는 도서와 저자 리스트 출력하기 (0) | 2023.02.08 |
1과목 PART2. 데이터 모델과 성능 (문제) (2) | 2022.09.28 |
1과목 PART2. 데이터 모델과 성능 (0) | 2022.09.28 |
1과목 PART1. 데이터 모델링의 이해 (0) | 2022.09.28 |
댓글