데 이 터 베 이 스 우송대학교 IT경영학부 Ch3. 데이터 모델링

Download Report

Transcript 데 이 터 베 이 스 우송대학교 IT경영학부 Ch3. 데이터 모델링

데이터베이스
Ch3. 데이터 모델링 및 설계
우송대학교
IT경영학부
Ch 3. 데이터모델링 및 설계
1. 데이터 모델 개념
(1) 정보 모델링과 데이터 모델링
1) 정보 모델링 (information modeling)
① 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조
(현실 세계에 대한 인식을 추상적 개념으로 표현)로 표현하는 과정
② 정보 모델링을 통하여 얻어진 결과를 정보 구조화라 함
③ 정보 구조를 구성하는 추상적 개념은 현실 세계의 객체에서
추상화된 개체(entity) 집합
2) 데이터 모델링 (data modeling)
① 현실세계에 존재하는 개체를 컴퓨터 세계의 데이터 구조로
기술하는 것
② 데이터 모델링의 과정
• 개체정의 → 식별자 정의 → 상세화 → 통합 → 검증
Page : 2
Ch 3. 데이터모델링 및 설계
현실 세계
데이터모델링
개체 1
개체 2
정보모델링
개체 3
Entity
관계
Entity
관계
Entity
관계
Entity
관계
개체 4
일치성
컴퓨터 세계
물리적으로 저장된
DataBase
교수코드
이름
담당과목
성별
KOR
한가인
국문학
여
ENG
데니스
영문학
남
COM
김동현
전산학
남
데이터 구조화
Page : 3
Ch 3. 데이터모델링 및 설계
(2) 데이터 모델
1) 데이터 모델의 개념
① 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스
설계과정에서 데이터의 구조를 표현하기 위해 사용되는 도구
② 현실 세계의 데이터 구조를 컴퓨터 세계의 데이터 구조로 기술하는
개념적인 도구
③ 단순화, 추상화를 제공하기 위해 사용
④ 데이터베이스의 구조를 묘사하기 위해 사용되는 개념들의 집합
⑤ 데이터베이스의 구조는 데이터의 타입, 데이터 간의 관계, 데이터를
유지하기 위해 필요 제약들을 의미
2) 개념적 데이터 모델
① 속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용하여
현실 세계를 표현하는 방법
② 대표적인 개념적 데이터 모델로 E-R 모델이 있음
Page : 4
Ch 3. 데이터모델링 및 설계
3) 논리적 데이터 모델
필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용하여
현실 세계를 표현하는 방법
4) 하위수준(물리적) 데이터 모델
레코드의 형식, 순서, 접근 경로와 같은 정보를 사용하여 데이터가
컴퓨터에 저장되는 방법을 묘사
5) 데이터 모델의 구성요소
① 논리적으로 표현된 추상적인 개념 데이터 구조
② 구성요소의 연산
③ 구성요소의 제약 조건
6) 데이터 모델, 스키마, 인스턴스의 관계
모델 → 스키마 → 인스턴스
Page : 5
Ch 3. 데이터모델링 및 설계
(3) 데이터 모델의 구성 요소
속성
개체
개체 Set
번호
이 름
연락처
001
홍길동
010-123-4567
002
임꺽정
02-1234-4567
003
황진이
041-123-4567
Page : 6
개체 타입
개체 인스턴스
Ch 3. 데이터모델링 및 설계
1) 개체 타입 (Entity type)
A set of attributes that have the same entities.
(같은 개체를 가지는 속성 들의 집합)
2) 개체 인스턴스 (Entity instance)
개체를 구성하고 있는 각 속성들이 값을 지녀 하나의 개체를 나타내는
것으로 개체 어커런스라고도 함
3) 개체 세트 (Entity set)
개체 인스턴스의 집합
Page : 7
Ch 3. 데이터모델링 및 설계
1. 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하는 과정을
무엇이라 하는가? (0303)
가. 데이터 모델링(data modeling)
나. 정보 모델링(information modeling)
다. 데이터 구조화(data structuring)
라. 정보 구조화(information structuring)
2. 데이터 모델에 대한 설명으로 부적합한 것은? (9910, 0109)
가. 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정
에서 데이터의 구조를 표현하기 위해 사용되는 도구이다.
나. 데이터 모델은 현실 세계를 데이터베이스로 표현하는 과정에서 개념적인 구조,
논리적인 구조, 물리적인 구조를 표현하기 위해 사용된다.
다. 개념적 데이터 모델은 속성들로 기술된 개체타입과 이 개체 타입들 간의 관계를
이용하여 현실 세계를 표현하는 방법이다.
라. 논리적 데이터 모델은 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계
를 이용하여 현실 세계를 표현하는 방법이다.
Page : 8
Ch 3. 데이터모델링 및 설계
3. 하위 수준(물리적)의 데이터 모델에 관한 설명으로 가장 올바른 것은? (0003)
가. 데이터에 대한 추상적인 개념을 제공한다.
나. 엔티티, 속성, 관계 등의 개념을 사용한다.
다. 레코드의 형식, 순서, 접근 경로와 같은 정보를 사용하여 데이터가 컴퓨터에
저장되는 방법을 묘사한다.
라. 데이터를 테이블 형태로 표현한다.
4. 데이터 모델의 구성요소가 아닌 것은? (0010)
가. 논리적으로 표현된 데이터 구조
나. 구성요소의 연산
다. 구성요소의 제약 조건
라. 물리적 저장 구조
5. 데이터 모델의 구성요소가 아닌 것은? (0409)
가. 데이터 구조 및 정적 성질을 표현하는데 사용되는 구조(Structure)
나. 각 데이터 개체집합 구성요소 사이의 대응성을 나타내는 관계(Relationship)
다. 데이터의 인스턴스에 적용 가능한 연산 명세와 조작 기법을 표현하는데 사용
되는 연산(Operation)
라. 데이터의 논리적 제한 명시와 조작의 규칙이 되는 제약 조건(Constraint)
Page : 9
Ch 3. 데이터모델링 및 설계
6. 데이터 모델, 스키마, 인스턴스 간의 관계로 옳은 것은? (0010)
가. 모델 -> 스키마 -> 인스턴스
나. 스키마 -> 모델 -> 인스턴스
다. 인스턴스 -> 모델 -> 스키마
라. 모델 -> 인스턴스 -> 스키마
7. What is the entity type definition correctly? (0003)
가. a set of attributes that have the same entities
나. a set of entities that have the same domains
다. a set of attributes that have the same domains
라. a set of entities that have the same attributes
Page : 10
Ch 3. 데이터모델링 및 설계
2. 개체-관계(E-R) 모델
(1) E-R 모델
1) E-R 모델의 특성
① E-R 다이어그램으로 표현하며 P.Chen 이 제안
② 개체 타입과 이들 간의 관계 타입을 이용해 현실 세계를 개념적
으로 표현한 방법
• 관계 타입의 차원 (Relationship Type)
⇨ 관계 타입과 관련된 개체 타입의 개수
③ E-R 다이어그램은 E-R 모델을 그래프 방식으로 표현한 것
④ 데이터를 엔티티, 관계, 속성으로 묘사함
⑤ 개념적 설계에 가장 많이 사용되는 모델
Page : 11
Ch 3. 데이터모델링 및 설계
⑥ 최초에는 entity, relationship, attribute와 같은 개념들로 구성되었
으나 나중에 일반화 계층 같은 복잡한 개념들이 첨가되어 확장된
모델로 발전
⑦ 정보모델링 과정에서 개념 세계의 정보구조로 표현하기 위한 규약
⑧ 각 개체 집합은 여러 개의 속성으로 표현되며, 각 속성은 현실 세계의
객체들이 갖는 특성
Page : 12
Ch 3. 데이터모델링 및 설계
(2) E-R 다이어그램
1) 구성 요소
기 호
의미
기 호
의미
개체
기본키 속성
관계
복합 속성
속성
개체 타입과
속성 연결
예)
Page : 13
Ch 3. 데이터모델링 및 설계
2) 개체 (Entity)
① 컴퓨터가 취급하는 파일의 레코드에 대응
② 실세계에서 개념적 또는 물리적으로 존재하는 실제 사용을 의미
3) 관계 (Relation)
① 두 개 이상의 개체 사이에 존재하는 연관성
② 관계의 형태
• 1 : 1 관계 ( 일 대 일) : 개체 집합 A의 각 원소가 개체 집합 B의
원소 1개와 대응
Page : 14
Ch 3. 데이터모델링 및 설계
<그래픽 표기법>
<새발(crow-feet) 표기법>
(한 명의 교수는 한 과목만 강의해야 하고,
한 개의 과목은 한 교수에 의해서만 강의되어짐)
Page : 15
Ch 3. 데이터모델링 및 설계
• 1 : N 관계 (일 대 다): 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러
개와 대응할 수 있고, 개체 집합 B의 각 원소는 개체 집합 A의 원소 1개와
대응
<그래픽 표기법>
<새발(crow-feet) 표기법>
(한 명의 학생은 여러 과목을 수강할 수 있고,
한 개의 과목은 여러 학생에 의해 수강되어질 수 있음)
Page : 16
Ch 3. 데이터모델링 및 설계
• N : M 관계 (다 대 다)
- 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응할 수 있고,
개체 집합 B의 각 원소는 개체 집합 A의 원소 여러 개와 대응할 수 있음
- many to many
An entity in an entity set A is associated with any number of
entities in an entity set B, and an entity in B is associated with
any number of entities in A.
(개체 집합 A의 한 개체는 개체 집합 B의 여러 개체들과 연관되고,
개체 집합 B의 한 개체는 개체 집합 A의 여러 개체와 연관된다.)
Page : 17
Ch 3. 데이터모델링 및 설계
<그래픽 표기법>
<새발(crow-feet) 표기법>
(한 명의 학생은 여러 과목을 수강할 수 있고,
한 개의 과목은 여러 학생에 의해 수강되어질 수 있음)
Page : 18
Ch 3. 데이터모델링 및 설계
• 새발 (crow-feet) 표기법
- O : 0을 의미
- | : 1을 의미
-
: 이상을 의미
예)
(한 명의 사원은 0개 또는 한 개의 부서에 소속될 수 있고,
한 개의 부서는 1명 이상의 사원을 소속할 수 있음)
(한 명의 사원은 한 개의 부서에 소속되어야 하며,
한 개의 부서는 0명 이상의 사원을 소속할 수 있음)
Page : 19
Ch 3. 데이터모델링 및 설계
③ 확장 ER 모델
• 개체를 구성하는 속성들은 작은 원으로 표시
• 속성 중에서 기본적 속성(기본키) 검고 작은 원으로 표시
• 복합식별자는 관련 소석들을 선으로 묶고, 묶은 선 끝부분을 남은 원으로
• 관계와 개체를 연결하는 선 위에는 (최소 대응수 최대 대응수)로 표시
- 최소 대응수 : 관계에 참여하는 최소한의 개체 인스턴스
* 0 : 참가해도 안 해도 무관
* 1 : 최소 하나의 관계
* n : 여러 개 관계
- 최대 대응수 : 관계에 참여하는 최대 개체 인스턴스
* 1 : 최대 1개
* n : 여러 개
Page : 20
Ch 3. 데이터모델링 및 설계
예)
4) 속성 (Attribute)
엔티티를 묘사하는데 사용될 수 있는 특성을 의미
Page : 21
Ch 3. 데이터모델링 및 설계
1. 개체에 대한 설명 중 옳은 것은? (9910)
가. 컴퓨터가 취급하는 파일의 레코드에 대응된다.
나. 하나의 개체는 하나의 속성만을 가진다.
다. 한 속성이 취할 수 있는 모든 값을 의미한다.
라. 개체는 단독으로는 존재하지 못한다.
2. 개체-관계 (E-R) 모델에 대한 설명으로 잘못된 것은? (9908, 0405)
가. E-R 다이어그램으로 표현하며 P.Chen 이 제안했다.
나. 일대일(1:1) 관계 유형만을 표현할 수 있다.
다. 개체 타입과 이들 간의 관계 타입을 이용해 현실 세계를 개념적으로
표현한 방법이다.
라. E-R 다이어그램은 E-R 모델을 그래프 방식으로 표현한 것이다.
3. 개체-관계 (Entity-Relationship) 모델을 최초로 제안한 사람은? (0106, 0503)
가. P.Chen
나. E. F Codd
다. Bill Gates
라. Lawrence J. Ellison
Page : 22
Ch 3. 데이터모델링 및 설계
4. 개체-관계 (E-R) 모델 의 그래픽 표현으로 옳지않은 것은? (0605)
가. 개체타입-사각형
나. 속성-원형
다. 관계타입-마름모
라. 연결-삼각형
5. 개체-관계 (Entity-Relationship) 모델의 E-R다이어그램에서 개체 타입을
나타내는 기호는? (0609)
가. 사각형
나. 타원
다. 선
라. 오각형
6. 개체 집합 X와 Y가 있을 때, 구성되는 사상 원소 수(mapping cardinality) 의
경우가 아닌 것은? (0003)
가. 일 대 일 (1:1)
나. 일 대 다 (1:n)
다. 다 대 다 (n:m)
라. 다 대 일 (n:1)
Page : 23
Ch 3. 데이터모델링 및 설계
7. 사람과 도시 사이의 거주관계에서 사람은 반드시 하나의 도시에 거주해야만 하며,
하나의 도시에는 다수의 사람이 거주한다고 할 때 이를 E-R 다이어그램으로 정
확히 표현한 것은? (9904)
8. 다음 설명이 의미하는 것은? (0409)
An entity in an entity set A is associated with any number of entities in an
entity set B, and an entity in B is associated with any number of entities in A.
가. one to one
나. one to many
다. many to one
라. many to many
Page : 24
Ch 3. 데이터모델링 및 설계
9. 다음의 E-R다이어그램은 대학교에서 어떤 학과가 어느 단과대학에 소속 되는
지의 관계를 모델링한 것이다. 아래의 다이어그램을 관계 모델의 릴레이션으로
표현한 것들 중 가장 적합한 것은? (단, 릴레이션 표현에서 밑줄 친 애트리뷰
트는 기본키를 의미한다.) (9910)
가.
나.
다.
라.
학과 (학과코드,
학과 (학과코드,
학과 (학과코드,
학과 (학과코드,
소속 (학과코드,
학과이름, 단과대학명) 대학 (단과대학명, 학장이름)
학과이름) 대학 (단과대학명,학장이름, 소속학과)
학과이름, 단과대학명, 학장이름)
학과이름) 대학 (단과대학명, 학장이름)
단과대학명)
Page : 25
Ch 3. 데이터모델링 및 설계
3. 논리적 데이터 모델
(1) 논리적 데이터 모델의 정의
1) 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용
하여 현실 세계를 표현하는 방법
2) 관계의 표현 방법으로 관계 데이터 모델, 계층 데이터 모델, 네트워크
데이터 모델 등으로 구분됨
(2) 관계형 데이터 모델
1) 데이터베이스를 테이블 릴레이션 의 집합으로 표현
⇨개체와 관계 모두 테이블로 표현
2) 사용자 파일의 레코드들 사이의 논리적인 관계를 2차원의 테이블
집합으로 나타낸 구조
Page : 26
Ch 3. 데이터모델링 및 설계
Connection sales rep. number
Table name : 영업사원
Table name : 고객
고객번호
고객이름
고객전화번호
영업번호
영업번호
영업사원이름
영업량
100123
홍길동
02-111-2222
1435
1121
이몽룡
3245120
100124
이수일
02-111-3333
1121
1435
아무개
5117892
100125
연흥부
02-111-4444
1278
1278
김서울
2111564
100126
심순애
02-111-5555
1435
100127
김철수
02-111-6666
1436
100128
박순이
02-111-7777
1278
100129
이한국
02-111-8888
1121
Page : 27
Ch 3. 데이터모델링 및 설계
(3) 계층형 데이터 모델
1) 개체 집합에 대한 속성 관계를 표시하기 위해 개체를 노드로 표현하고
개체 집합들 사이의 관계를 링크로 연결한 형태
2) 계층형 모델의 특징
① 데이터 구조도가 부자관계(parent-child relationship) 를 나타내는
트리 (tree) 형태의 자료 구조
② 하나의 루트 레코드 타입과 다수의 종속 레코드 타입으로 구성된
순서 트리
③ 부모 레코드가 되지 못한 레코드 타입은 계층 정의 트리의 단말
노드임
④ 두 레코드 타입 간에는 하나의 관계만 허용됨
Page : 28
Ch 3. 데이터모델링 및 설계
예)
최종 부품
큰 부품 A
큰 부품 B
Part B
Part A
Part F
Part C
Part G
Page : 29
Part D
Part E
Ch 3. 데이터모델링 및 설계
(4) 네트워크(망)형 데이터 모델
1) 네트워크 모델의 특징
① 데이터베이스의 논리적 구조 표현을 그래프 형태로 표현
② 일대다(1: n) 관계에 연관된 레코드 타입들을 각각 오너(owner),
멤버(member) 라고 하고, 이들의 관계를 오너-멤버 관계라고도
일컫는 데이터 모델
③ CODASYL DBTG 모델이라고도 함
④ 상위 하나의 레코드에 대하여 하위의 레코드가 복수 대응하고,
하위 하나의 레코드에 대해서 상위레코드도 복수 대응함
2) 네트워크 데이터 모델과 계층 데이터 모델의 공통적인 속성
① 개체의 표현 방법
② 다대다 관계의 직접 표현 불가
Page : 30
Ch 3. 데이터모델링 및 설계
고 객
영업사원
1:M
상 품
1:M
운송장부
1:M
1:M
Owner
1
Member
M
납입금액
1:M
수송회사
Page : 31
Ch 3. 데이터모델링 및 설계
(5) 객체지향 데이터 모델
1) 데이터베이스를 객체/상속 구조로 표현
2) 캡슐화(Capsulation), 상속(Inheritance), 다형성(Polymorphism)의
의 개념을 가지는 데이터 모델
Page : 32
Ch 3. 데이터모델링 및 설계
1. 논리적 데이터 모델에 대한 설명으로 옳지 않은 것은? (0106)
가. 관계형 데이터 모델 - 데이터베이스를 테이블의 집합으로 표현한다.
나. 네트워크 데이터 모델 - 데이터베이스를 그래프 구조로 표현한다.
다. 계층적 데이터 모델 - 데이터베이스를 계층적 그래프구조로 표현한다.
라. 객체지향 데이터 모델 - 데이터베이스를 객체/상속 구조로 표현한다.
2. 데이터 모델에 관한 설명으로 가장 적합한 것은? (0503)
가. 현실 세계를 데이터베이스에 표현하는 중간과정으로 데이터 구조를 논리적
으로 표현하는 것이다.
나. 논리적 데이터 모델의 대표적 모델로는 개체-관계 모델 이 있다. (개념적 모델)
다. 데이터베이스 설계 과정에서 데이터의 논리적, 물리적 구조를 표현하는 도구
이다. (데이터 구조 표현 도구)
라. 데이터 모델을 기술할 때는 구조만 기술하여야 한다. (연산, 제약조건)
3. 데이터 모델 중 성격이 다른 것은? (9908)
가. 개체-관계(E-R) 모델
나. 관계 모델
다. 계층 모델
라. 네트워크 모델
4. 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델의 가장 큰 차이점은
무엇인가? (0509)
가. 개체의 표현 방법
나. 속성의 표현 방법
다. 관계의 표현 방법
라. 데이터 저장 방법
Page : 33
Ch 3. 데이터모델링 및 설계
5. 계층 데이터 모델의 특징에 대한 설명으로 옳은 것은? (9908)
가. 데이터 구조도가 그래프 형태이다. (망형)
나. 오너-멤버 (owner-member) 관계라고 한다. (망형)
다. 데이터 구조도가 트리(tree) 형태이다.
라. 데이터 구조도는 사이클 (cycle) 을 허용한다. (망형)
6. 계층 데이터 모델에서 두 레코드 간에 직접 표현 방법을 제공하지 않는 것은?
(9910, 0203)
가. 1:1 관계
나. 1:n 관계
다. m:n 관계
라. 두 개의 1:n 관계
7. 네트워크 데이터 모델과 계층 데이터 모델의 공통적인 속성으로만 짝지어진 것
은? (0007)
㉠ 개체의 표현 방법
㉡ 관계의 표현 방법
㉢ 다대다 관계의 직접 표현 불가
㉣ 스키마의 구조도
가. ㉠ ㉡
나. ㉠ ㉢
다. ㉠ ㉡ ㉣
라. ㉡ ㉢ ㉣
Page : 34