현실세계를 추상화,단순화,명확화해서 데이터 모델로 만드는 것이 데이터모델링이다.
모델링의 세 가지 관점 - 데이터/프로세스/상관 관점이 있다고 알고 있으면 된다.
간단하게 "가명구문다구" 만 외워주면 된다.
데이터 모델링을 잘 하지 못 하면 파급효과가 크다.
간결한 표현이며 데이터 품질이 좋아야 한다.
개념적 -> 논리적 -> 물리적 모델링 순서로 진행해주어야 한다.
데이터 독립성
데이터 내부간의 독립성 유지
결국 3단계는
외부 - 사용자
개념 - 통합
내부 - 물리
고객 - 엔터티
고객(인스턴스) : 홍길동, 이순신 등...
프로젝트 개발자는 데이터 모델링은 반드시 알고 있어야 한다.
1-2 엔터티
엔터티는 인스턴스들의 집합이다.
식별자 특정 데이터를 콕 집을 수 있어야 한다.
두 개 이상이라는 집합개념이 있어야 한다.
날씨의 속성이 존재하지 않아 엔터티가 될 수 없다.
출판사는 다른 엔터티와 관계가 없기에 엔터티가 될 수 없다.
---
1-6 연습문제
문제 1 - 4번
=> 데이터 모델링을 할 때 어떻게 모델링 할지가 중요하지 프로그램 구성은 나중에 해도 된다.
> 모델링의 세 가지 관점
1) 데이터 관점 :업무가 어떤 데이터와 관련이 있는지 또는 데이터간의 관계는 무엇인지 모델링하는 방법
2) 프로세스 관점 : 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야하는지 모델링하는 방법
3) 상관 관점 : 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법
문제 2 - 2번
=> TAR 파일
> 데이터 모델링의 세 가지 요소
- 업무가 관여하는 어떤 것(Things)
- 어떤 것이 가지는 성격(Attributes)
- 업무가 관여하는 어떤 것 간의 관계(Relationships)
문제 3 - 3번
=> 발생시점에 따라서는 행위, 중심, 기본이고 / 유무형에서 유형, 개념, 사건으로 나뉜다.
문제4 - 2
=> 속성들을 묶어서 파생 속성을 만들어 낼 수 있다.
> 속성의 분류
1) 특성에 따른 분류
- 속성은 업무분석을 통해 바로 정의한 속성을 기본속성(Basic Attribute)
- 원래 업무상 존재하지는 않지만 설계를 하면서 도출해내는 속성을 설계속성(Designed Attribute)
- 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성을 파생속성(Derived Attribute)이라고 한다
2) 엔터티 구성방식에 따른 분류
- 엔터티를 식별할 수 있는 속성을 PK(Primary Key)속성,
- 다른 엔터티와의 관계에서 포함된 속성을 FK(Foreign Key)속성,
- 엔터티에 포함되어 있고 PK, FK 에 포함되지 않은 속성을 일반속성이라 한다.
문제 5 - 4
=> 반드시 속성이 있어야 한다.
> 엔터티의 개념
- 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당한다.
- 엔터티는 업무상 관리가 필요한 관심사에 해당한다.
- 엔터티는 저장이 되기 위한 어떤 것(Thing)이다.
> 엔터티와 인스턴스
> 엔터티 특징
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.(예. 환자, 토익의 응시횟수, …)
- 유일한 식별자에 의해 식별이 가능해야 한다.
- 영속적으로 존재하는 인스턴스의 집합 이어야 한다.(‘한개’가 아니라 ‘두 개 이상’)
- 엔터티는 업무 프로세스에 의해 이용되어야 한다.
- 엔터티는 반드시 속성이 있어야 한다.
- 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.
문제 6 - 1
> 도메인
- 각 속성은 가질 수 있는 값의 범위가 있는데 이를 그 속성의 도메인(Domain)이라 한다
- 학생이라는 엔터티가 있을 때 학점이라는 속성의 도메인은 0.0 에서 4.0 사이의 실수 값이며 주소라는 속성은 길이가 20 자리 이내인 문자열로 정의
- 각 속성은 도메인 이외의 값을 갖지 못한다
용어사전
속성사전
시스템카탈로그
문제7 - 2
=> 관계차수는 관계의 기수성을 나타내는데 1:1 / 1:M / M:M 관계가 있다.
문제 8 - 4
=> 명사가 아닌 동사이다.
문제 9 - 3
=> ???
문제 10 - 3
고객 엔터티의 식별자는 고객번호이고 고객은 주문한다.
주문에서 고객번호가 주 식별자로 사용하지 않고 주문번호 하나를 딴 다음에 식별자로 이용해서 고객번호는 FK로서 존재한다. 부모 엔터티의 식별자가 자식엔터티의 일반적인 속성으로 사용된다.
'자격증들 > 23) SQLD, SQLP' 카테고리의 다른 글
SQLD 2 - 데이터 모델과 성능 (0) | 2023.05.23 |
---|---|
SQLP 3 - 세그먼트 관리 (0) | 2023.05.23 |
SQLP 2 - 데이터 저장 영역 관리 (0) | 2023.05.22 |
SQLP(1) - 설치, 오라클 데이터베이스 서버 구조 (0) | 2023.05.22 |
SQLD 0 - oracle DB 설치 (0) | 2023.05.11 |