Chapter. 1 › attachment › nk0.pdf · Chapter. 1 파일시스템과데이터베이스 Database...

Post on 23-Jun-2020

0 views 0 download

Transcript of Chapter. 1 › attachment › nk0.pdf · Chapter. 1 파일시스템과데이터베이스 Database...

Chapter. 1

파일 시스템과 데이터베이스Database Systems: Design, Implementation, and Management, Fourth Edition, Rob and Coronel

1

2

데이터베이스데이터베이스 소개소개

• 데이터 vs. 정보

– 데이터는 정보를 만드는데 필요한 블록

– 정보는 데이터를 처리 함으로서 생성

– 정보는 데이터의 의미를 밝혀줌

– 좋은, 적시에, 적절한 정보는 의사결정에 중요한 역할을 함

– 훌륭한 의사 결정은 조직의 생존에 필수적임

3

데이터베이스데이터베이스 관리관리

• 데이터베이스는 공유되며 다음과 같은 자료를 포함하는통합된 컴퓨터 구조– 최종사용자 데이터– 메타데이터

• 데이터베이스 관리 시스템 (DBMS)– 데이터베이스 구조를 관리– 데이터에 대한 접근 제어– 질의 언어를 포함

4

DBMSDBMS의의 중요성중요성

• 데이터관리를 효율적이고 효과적으로 할 수 있도록 해줌

• 질의 언어를 이용하여 임의 질의에 대하여 빠르게 답을구할 수 있음

• 더 많은 양의 데이터와 잘 관리된 데이터를 잘 접근하여사용할 수 있도록 해줌

• 조직의 운영에 대한 통합적인 관점을 제공

• 비일관적인 데이터의 존재 가능성을 낮춤

DBMS DBMS 상호상호 작용작용

Figure 1.1

6

데이터베이스데이터베이스 설계설계

• 좋은 설계의 중요성– 부실한 설계는 원치 않는 데이터를 중복해서 저장할

수 있음– 부실한 설계는 나쁜 의사결정으로 유도될 수 있는 오

류를 생성할 수 있음

• 효과적인 접근– 데이터베이스 설계의 개념과 원리에 중점을 둠– 논리적 설계(logical design)의 중요성

7

데이터베이스의데이터베이스의 역사적역사적 배경배경

• 초기의 Application은 기록관리에 중점

• 정보에 대한 요구가 빠르게 증가

• 파일 시스템이 다음과 같은 필요성에 의하여 개발됨– 사용 목적에 따라 데이터를 조직화하여야 함– 데이터처리 전문가(Data Processing Specialists)가 수

동 파일 시스템을 전산화

8

파일파일(file) (file) 용어용어

• Data– 가공되지 않은 사실(Raw facts)

• Field– 특정 의미를 갖는 문자의 모임

• Record– 사람, 장소, 물건을 표현하기 위해 논리적으로 연결된

필드

• File– 관련된 레코드의 모임

간단한간단한 파일파일 시스템시스템

Figure 1.2

간단한간단한 파일파일 예예

간단한간단한 파일파일 예예

12

파일파일 시스템의시스템의 문제점문제점 (1)(1)

• 파일 시스템에서의 데이터 관리

– 제 3 세대 언어 (3GL) 를 이용하여 방대한 프로그래밍이 요구됨

– 시간 소모(Time consuming)

– 임시의 질의를 만드는 것이 불가능

– 정보의 섬(islands of information)을 만듦

13

파일파일 시스템의시스템의 문제점문제점 (2)(2)

• 데이터 독립(Data Dependence)– 파일에 있는 데이터의 특징을 변경하면 그 데이터

접근 프로그램도 수정되어야 함– 프로그램에 what과 how를 표현해야 함– 프로그래밍과 데이터관리 측면에서 파일 시스템

을 관리하기가 어려움

• 구조적 독립(Structural Dependence)– 파일 구조를 변경하면 관련된 프로그램도 변경되

어야 함

14

파일파일 시스템의시스템의 문제점문제점 (3)(3)

• 필드 정의와 이름 짖는 법(Naming Conventions)

– 유연한 레코드 정의는 보고서에 나타날 정보를 예측할 수 있도록 해줌

– 적절한 필드명의 선택이 중요

– 필드명의 길이에 초점을 둠

– 유일한 레코드 식별자를 사용

15

파일파일 시스템의시스템의 문제점문제점 (4)(4)

• 데이터 중복

– 같은 데이터가 서로 상충되는 버전으로 존재

– 통제되지 않은 중복 데이터의 결과• 데이터 이상(Data anomalies)

– 수정(Modification)

– 삽입(Insertion)

– 삭제(Deletion)

• 데이터 비일관성(Data inconsistency)

– 데이터 무결성 결여(Lack of data integrity)

16

데이터베이스데이터베이스 시스템시스템

• 데이터베이스는 단일 저장소에 논리적으로연관된 데이터로 구성

• 파일 시스템에 대해 장점을 제공

– 비일관성, 데이터 이상, 데이터 종속, 구조적 종속문제를 제거

– 데이터구조, 관계, 접근 경로를 저장

데이터베이스데이터베이스 vs. vs. 파일파일 시스템시스템

Figure 1.5

데이터베이스데이터베이스 시스템시스템 환경환경

Figure 1.6

19

데이터베이스데이터베이스 시스템시스템 종류종류

• 단일사용자 vs. 다수사용자 데이터베이스– Desktop– Workgroup– Enterprise

• 중앙집중 vs. 분산 데이터베이스

• 사용 형태– 생산이나 트랜잭션 처리용 (transactional)– 의사결정 지원 이나 데이터 웨어하우스(data

warehouse)

20

DBMS DBMS 기능기능

• 데이터 사전관리(Data dictionary)

• 데이터 저장소관리(Data storage management)

• 데이터 변형과 표현(Data transformation and presentation)

• 보안 관리(Security Management)

• 다수사용자 접근 경로(Multiuser access control)

• 백업과 회복 관리(Backup and recovery management)

• 데이터 무결성 관리(Data integrity management)

• 데이터베이스 언어 및 응용 프로그래밍 인터페이스 (Database language and application programming interfaces)

• 데이터베이스 통신 인터페이스 (Database communication interfaces)

21

DBMS DBMS 기능기능

• 데이터 사전관리(Data dictionary)

• 데이터 저장소관리(Data storage management)

• 데이터 변형과 표현(Data transformation and presentation)

• 보안 관리(Security Management)

• 다수사용자 접근 경로(Multiuser access control)

• 백업과 회복 관리(Backup and recovery management)

• 데이터 무결성 관리(Data integrity management)

• 데이터베이스 언어 및 응용 프로그래밍 인터페이스 (Database language and application programming interfaces)

• 데이터베이스 통신 인터페이스 (Database communication interfaces)

22

데이터베이스데이터베이스 모델모델 (1)(1)

• 데이터베이스 내에서 데이터 구조와 관계를 표현하기위해 사용되는 논리적 구조의 집합

– 개념 모델(Conceptual models)

• 데이터 표현에 대한 논리적 성격을 나타냄

– 구현 모델(Implementation models)

• 데이터가 어떻게 데이터베이스에 저장되는 지에대한 것을 강조

23

데이터베이스데이터베이스 모델모델 (2)(2)

• 개념 모델에서의 관계(relationship)– One-to-one (1:1)– One-to-many (1:M)– Many-to-many (M:N)

• 데이터베이스 모델의 구현– 계층형(Hierarchical )– 네트웍형(Network)– 관계형(Relational)

24

계층형계층형 데이터베이스데이터베이스 모델모델 (1)(1)

• 나무를 거꾸로 그려서 논리적으로 표현– 각 부모는 여러 자식을 가질 수 있음– 각 자식은 하나의 부모만을 가짐

Figure 1.7

25

계층형계층형 데이터베이스데이터베이스 모델모델 (2)(2)

• 장점– 개념적으로 단순함(Conceptual simplicity)– 데이터베이스 보안과 무결성 제공– 데이터 독립 제공– 효율성

• 단점– 구현이 복잡함– 표준이 없고 관리하기가 어려움– 구조적 독립성을 제공하지 못함– 응용프로그래밍과 사용이 복잡함– 구현의 한계

26

네트웍형네트웍형 데이터베이스데이터베이스 모델모델 (1)(1)• 각 레코드는 여러 개의 부모를 가질 수 있음

– 집합으로 구성– 각 집합은 오너레코드(owner)와 멤버레코드 (member)를 가짐– 멤버는 여러 개의 오너를 가질 수 있음

Figure 1.8

27

네트웍형네트웍형 데이터베이스데이터베이스 모델모델 (2)(2)

• 장점– 개념적 단순성– 여러 종류의 관계를 처리할 수 있음– 데이터 접근의 유연성 제공– 데이터베이스 무결성을 향상– 데이터 독립– 표준 제공이 가능

• 단점– 시스템의 복잡성(System complexity)– 구조적 독립을 제공하지 못함

28

관계형관계형 데이터베이스데이터베이스 모델모델 (1)(1)

• 사용자는 자료 저장소를 테이블의 집합으로 인식

• 테이블은 행과 열의 연속으로 표현됨

• 테이블은 공유된 개체 특성의 관계를 이용하여 관련 되어 있음• 장점

– 구조적 독립성 제공– 향상된 개념적 단순성– 데이터베이스 설계, 구현, 관리, 사용의 용이성 증대– SQL을 이용한 임의의 질의 능력 제공– 강력한 데이터베이스 관리 시스템

• 단점– 하드웨어와 시스템 소프트웨어의 오버헤드 부담– 부실한 설계 및 구현이 될 가능성이 있음– 정보의 섬(islands of information) 문제를 야기시킬 우려가 있음

관계형관계형 데이터베이스데이터베이스 모델모델 (2)(2)

Figure 1.9

30

개체개체 관계관계 데이터베이스데이터베이스 모델모델 (1)(1)• 관계형 데이터 모델 개념을 보완• 개체 관계 다이어그램(entity relationship diagram (ERD))으로 표현• 개체, 속성, 관계에 기초하여 표현

Figure 1.10

31

개체개체 관계관계 데이터베이스데이터베이스 모델모델 (2)(2)

• 장점– 극도의 개념적 단순성– 시각적 표현– 효과적인 의사소통 도구– 관계형 데이터베이스 모델과의 통합이 가능

• 단점– 제한적인 제약의 표현 : 예)학점 (0.0-4.0), 조종사 비행시간(10시

간)– 제한적인 관계의 표현 : 예)속성간의 관계– 데이터 조작언어의 부재– 정보 내용의 손실 : 너무 복잡해서 속성을 생략

데이터데이터 모델의모델의 발전발전

Figure 1.12

33

데이터베이스데이터베이스 모델과모델과 인터넷인터넷

• 인터넷 시대의 데이터베이스의 특징

– 유연하고, 효율적이며, 안전한 인터넷 접근

– 개발, 사용, 지원이 용이

– 복잡한 데이터 형과 관계를 지원

– 다양한 데이터 소스와 구조와의 자연스러운 인터페이스 제공

– 단순한 개념적 데이터베이스 모델

– 다양한 데이터베이스 설계, 구현, 응용개발 도구 제공

– 강력한 DBMS GUI를 통한 DBA 업무 경감

34

Chapter. 2

관계형 데이터베이스 모델

35

학습학습 내용내용

• 관계형 데이터베이스 모델은 데이터의 논리적인관점을 취한다는 것

• 관계형 데이터베이스의 기본 구성원소는 개체, 속성, 그리고 개체간의 관계로 구성된다는 것

• 개체와 개체의 속성이 어떻게 테이블로 만들어 지는가에 대한 내용

• 관계형 데이터베이스 연산자, 데이터 사전, 시스템카탈로그에 대한 내용

• 어떻게 데이터 중복이 관계형 데이터베이스 모델에서 처리되는 지에 관한 내용

• 왜 색인화(indexing)가 중요한가?

36

데이터의데이터의 논리적인논리적인 관점관점 (1)(1)

• 관계형 데이터베이스에서는

– 설계자가 물리적인 관점보다는 논리적인 표현방법에 초점을 맞춤

– 테이블의 장점을 이용

• 구조적/데이터 독립성

• 관련된 레코드가 독립된 테이블에 저장

• 논리적 단순성

– 효율적인 설계 전략을 세울 수 있음

37

데이터의데이터의 논리적인논리적인 관점관점 (2)(2)

• 개체와 속성

– 개체는 데이터가 수집되어야 할 사람, 장소, 사건, 물건을 의미

– 속성은 개체의 성격을 의미

• 테이블

– 관련된 개체 혹은 개체 집합을 포함

– 관계라고 부르기도 함

– 행과 열로 구성

38

테이블의테이블의 특징특징

– 행과 열로 구성된 이차원 구조(Two-dimensional structure)

– 행(tuples)은 단일 개체를 나타냄

– 열은 속성을 나타냄

– 행과 열의 교차점은 단일 값을 나타냄

– 테이블은 반드시 각 행을 유일하게 식별할 수 있는 속성을 가져야 함

– 열 값은 모두 같은 데이터 형식을 가져야 함

– 각 열은 속성도메인(attribute domain)이라 불리는 값의 범위를 가짐

– 행과 열의 순서는 DBMS에게 아무 의미가 없음

39

키키 (1)(1)

• 다른 속성을 결정하는 하나 또는 그 이상의 속성의집합– 키 속성(Key attribute)– 복합 키(Composite key) : 두 개 이상의 속성으로 구

성된 키

• 완전 함수 종속(Full functional dependence)– 함수종속 : 속성 A가 속성 B를 결정하면 B는 A에 종속– (A->B)로 표현 (예 STU_HRS -> STU_CLASS)

• 개체 무결성(Entity integrity)– 유일성(Uniqueness)– 키는 널(null)값을 가질 수 없음

40

키키 (2)(2)• 슈퍼키(Superkey)

– 각 개체를 유일하게 식별

• 후보키(Candidate key)– 최소 슈퍼키(Minimal superkey)

• 주키(Primary key)– 한 행에 있는 다른 모든 속성을 유일하게 식별할 수 있는

후보키

• 이차키(Secondary key)– 데이터 검색을 위해서 사용되는 속성 (예 : 고객의 이름과

전화번호 : 이름은 키가 아니지만 검색을 하기 위해서 사용)

• 외래키(Foreign key)– 다른 테이블에 있는 주키와 일치되는 값을 가지고 있는 속

테이블테이블 예예

Figure 2.1

간단한간단한 관계형관계형 데이터베이스데이터베이스

Figure 2.2

43

무결성무결성 규칙규칙(Integrity Rules)(Integrity Rules)

• 개체 무결성(Entity integrity)– 모든 개체는 유일해야 한다는 규칙– 각 개체는 유일한 키값을 가져야 함– 예 : CUS_CODE는 널값을 가지지 않음

• 참조 무결성(Referential integrity)– 외래키는 널값 혹은 주키값을 가져야 함– 다른 테이블에 있는 외래키 값과 일치되는 값을

가지고 있는 행을 삭제하는 것이 불가능– 예 : CUSTOMER 테이블의 AGENT_CODE는

AGENT 테이블의 AGENT_CODE 값과 일치하여야한다

무결성무결성 법칙법칙 예예

Figure 2.3

45

관계형관계형 데이터베이스데이터베이스 연산자연산자

• 관계형 대수는 테이블 조작을 위한 연산자를 결정

• 주요 연산자– SELECT– PROJECT– JOIN

• 기타 연산자– INTERSECT– UNION– DIFFERENCE– PRODUCT– DIVIDE

46

UnionUnion

• 모든 행들을 조합

Figure 2.4

47

IntersectIntersect• 두 개의 테이블에 동시에 존재하는 행의 결과만 생성

Figure 2.5

48

DifferenceDifference

• 다른 테이블에 없는 행만을 결과로 생성

Figure 2.6

49

ProductProduct• 두 테이블로부터 만들어 질 수 있는 모든 가

능한 쌍(pair)

Figure 2.7

50

SelectSelect

• 특정 조건을 만족하는 행의 부분 집합

Figure 2.8

51

ProjectProject

• 선택된 속성에 대한 모든 값

Figure 2.9

52

JoinJoin

• 두개 이상의 테이블로부터 정보를 조합

Figure 2.10

Figure 2.11

53

자연조인자연조인(Natural Join) (Natural Join) 처리과정처리과정

• 공통된 속성에 대해 같은 값을 가진 행을 선택하여 연결– 3단계 처리과정

• Product : 한 테이블을 생성• Select : 적절한 행을 선택• Project : 중복되는 열을 제거하고 각 속성에 대해

중복되는 값을 제거

Figure 2.12

11단계단계 : : PRODUCTPRODUCT

Figure 2.13

2, 32, 3단계단계 : : SELECT & PROJECTSELECT & PROJECT

Figure 2.14

Figure 2.15

56

기타기타 조인조인• 동등조인(EquiJOIN)

– 테이블의 특정 열을 비교하여 동등조건을 갖는 테이블의 행을 연결

– 중복되는 열을 제거하지 않음– 조인 기준이 반드시 명시적으로 정의되어야 함

• 세타조인(Theta JOIN)– 동등연산자가 아닌 연산자를 사용하여 특정 열을

비교하는 동등조인

• 외부조인(Outer JOIN)– 일치되는 쌍은 유지– 다른 테이블에서 일치되지 않는 값은 널로 남겨둠– Right와 left가 있음

외부외부 조인조인 예예

Figure 2.16

58

DivideDivide

• 두 개의 열을 가진 테이블과 하나의 열을가진 테이블에서 적용 가능

Figure 2.17

59

데이터데이터 사전과사전과 시스템시스템 카탈로그카탈로그

• 데이터 사전(Data dictionary)– 데이터베이스 내에서 발견되는 모든 테이블에 관한

상세한 정보를 제공– 메타데이터(Metadata)– 속성 이름과 특징을 보유

• 시스템 카탈로그(System catalog)– 상세한 데이터 사전(Detailed data dictionary)– 시스템에서 생성한 데이터베이스– 데이터베이스 특징과 내용을 저장– 이 테이블은 다른 테이블과 마찬가지로 질의될 수 있

음– 데이터베이스 문서를 자동적으로 생성

데이터데이터 사전사전 예예

61

관계형관계형 데이터베이스에서의데이터베이스에서의 관계관계(Relationships)(Relationships)

• 관계의 분류– 1:1– 1:M– M:N

• E-R Model – ERD Maps– Chen– Crow’s Foot

62

ERDERD 기호기호

• 네모는 개체를 나타냄

• 다이아몬드는 개체간의 관계를 나타냄

• 관계의 “1” 쪽(side)– Chen Model에서는 ‘1’로 나타냄

– Crow’s Foot Model에서는 선으로 나타냄

• 관계의 “Many” 쪽– Chen Model에서는 문자 “M” and “N”으로 나타

– Crow’s Foot Model에서는 세 갈퀴를 가진 발로나타냄

1:M1:M 관계관계 예예

Figure 2.18

1:M1:M 관계관계 예예

Figure 2.19

M:NM:N 관계관계 예예

Figure 2.20

M:NM:N 관계관계 예예

Figure 2.21

M:NM:N 관계를관계를 두개의두개의 1:M1:M 관계로관계로 변환변환 (1)(1)

Figure 2.22

M:NM:N 관계를관계를 두개의두개의 1:M1:M 관계로관계로 변환변환 (2)(2)

Figure 2.23

M:NM:N 관계를관계를 두개의두개의 1:M1:M 관계로관계로 변환변환 (3)(3)

Figure 2.24

M:NM:N 관계를관계를 두개의두개의 1:M1:M 관계로관계로 변환변환 (4)(4)

Figure 2.25

71

데이터데이터 중복중복

• 외래키는 중복을 줄일 수 있음

• 어떤 중복은 바람직함

– 제어된 중복이라고 함

– 속도를 높여줌

– 정보요구 때문

72

색인색인(Indexes)(Indexes)

• 위치에 대한 포인터를 가짐(Points to location)

• 데이터의 검색을 빠르게 해줌

Figure 2.26

73

Chapter. 3

개체관계(E-R) 모델링

74

기본기본 모델링모델링 개념개념

• 예술과 과학(Art and science)

• 현명한 판단은 강력한 설계 도구와 결합되었을 때 그 효과를 발휘

• 모델의 정의

– “직접 관찰될 수 없는 것을 시각화하여 보여주는데 사용되는 설명 혹은 비유법” Webster’s Dictionary

• 데이터 모델

– 실세계 데이터구조에 대한 비교적 간단한 표현

데이터데이터 모델모델 : : 데이터데이터 추상화의추상화의 정도정도

76

추상화추상화 정도정도 (1)(1)

• 개념적(conceptual)– 데이터에 대한 전체적인 관점(Global view)

– 주요 데이터 항목에 대한 식별과 설명에 대한 기초

– ERD는 개념적 데이터모델을 나타내는데 사용

– 하드웨어와 소프트웨어는 서로 독립적

• 내부적(internal)– DBMS에 의해서 보여지는 데이터베이스의 표현

– 개념적 모델을 특정 DBMS에 적용

– 소프트웨어에 의존적

77

추상화추상화 정도정도 (2)(2)• 외부적(External)

– 데이터 환경에 대한 사용자 관점– 내부관점에 대한 부분집합– 응용 프로그램 개발을 쉽게 해줌– 설계자의 일을 쉽게 해줌– 개념적 모델이 적절한지를 확인할 수 있음– 설계시의 보안제약을 수행하도록 해줌

• 물리적(Physical)– 추상화의 최하위레벨– 소프트웨어와 하드웨어에 종속적– 물리적 저장장치와 접근방법에 대한 정의가 필요

78

개체관계개체관계 (E(E--R) R) 모델모델

• 개념적 관점을 나타냄

• 주요 구성원소

– 개체(entity)

• 한 행이 아니라 전체 테이블에 해당

• 사각형으로 표현

– 속성(attribute)

– 관계(relation)

79

속성속성 (1)(1)

• 개체의 특징• 도메인은 가능한 값의 집합• 주키는 밑 줄 쳐서 나타냄

80

속성 (2)

• 간단한 속성– 더 이상 나눠질 수 없음– 나이, 성별, 혼인여부

• 복합 속성(Composite)– 추가의 속성으로 나눠질 수

있는 속성– 주소는 street, city, zip으로

나눠짐

• 단일값 속성(Single-valued)– 하나의 값 만을 가짐– 사람은 하나의 주민등록 번

호를 가짐

• 다중치 속성(Multi-valued)– 많은 값을 가질 수 있음– 사람은 여러 개의 학위를

가질 수 있음

• 유도 속성(Derived)– 알고리즘으로 부터 유도됨– 나이는 생년월일로부터 계

산될 수 있음

81

관계관계

• 개체간의 관계

• 연결된 개체를 참여자(participants) 라고 함

• 양쪽에서 연산이 가능

• 연결정도(Connectivity)는 관계의 종류를 표시– 1:1, 1:M, M:N

• 카디날리티(Cardinality)

• 한 개체와 관계된 개체의 수를 표시

ERDERD에서에서 연결정도와연결정도와 카디날리티카디날리티

83

관계의관계의 강약강약 정도정도(Strength)(Strength)• 존재 종속(Existence dependence)

– 한 개체의 존재여부는 관계된 개체가 있을 때에만 가능– 존재 독립 개체는 관계된 개체로부터 분리 가능

예) EMPLOYEE는 DEPENDENT(부양가족)이 있음

• 약 개체(non-identifying) – 한 개체는 다른 개체에 대해 존재 종속적– 관계된 개체의 주키가 부모 개체의 주키 원소를 포함하지

않음

• 강 개체(identifying) – 한 개체가 다른 개체에 존재 독립적– 관계된 개체의 주키가 부모 개체의 주키 원소를 포함

84

약약 개체개체

• 다른 개체에 대해 존재 종속적• 부모 개체로부터 부분 혹은 전체적으로 유도

된 키를 가짐

약약 개체개체 표현표현 방법방법

86

관계관계 참여참여

• 선택적(Optional)

– 개체 occurrence가 관계된 개체에 해당되는occurrence를 요구하지 않는 경우

– ERD에서 선택적 개체에 작은 원을 그려서 표시

• 필수적(Mandatory)

– 개체 occurrence가 관계된 개체에 해당되는occurrence를 요구하는 경우

– ERD에 선택적 기호가 없으면 필수적임

87

관계관계 정도정도(degree)(degree)

• 관계된 개체의 수를 표시

• 단항(Unary)– 단일 개체– Recursive– 같은 개체 집합 내에서 occurrence가 존재

• 이항(Binary)– 두 개체가 관계되어 있음

• 삼항(Ternary)– 세 개체가 관계되어 있음

관계의관계의 세가지세가지 유형유형

재귀적재귀적 관계관계 예예

재귀적재귀적/ / 이진이진 관계관계 예예

삼진삼진 관계관계 예예

92

복합복합 개체개체(Composite Entities) (1)(Composite Entities) (1)

• M:N 관계에서 다리 역할을 하는데 사용• 다리 개체(Bridge entities)는 연결에 필요

한 각 개체로부터의 주키로 구성

복합개체복합개체 (2)(2)

복합개체복합개체 (3)(3)

복합복합 개체개체 (4)(4)

96

개체개체 SupertypeSupertype과과 SubtypeSubtype

• 일반화 계층(Generalization hierarchy )

– 상위레벨의 슈퍼타입 개체와 하위 레벨의 서브타입 개체간의 관계를 표시

– 슈퍼타입은 공유된 속성을 가짐

– 서브타입은 유일한 속성을 가짐

– Disjoint 관계• 유일한 서브타입

• 중복되지 않음

• ‘G’로 표시

– 중복되는 서브타입은 ‘Gs’ 기호를 사용

중복되는중복되는 서브타입에서브타입에 대한대한 일반화일반화 계층계층

EMPLOYEE/PILOTEMPLOYEE/PILOT

99

EE--RR 모델링모델링 기호의기호의 비교비교 (1)(1)

• 도구를 쉽게 사용할 수 있도록 개발된 표현 방법

• Chen– 개념적 설계를 데이터베이스 설계분야에 적용시킨 것

• Crow’s Foot– 모든 카디날리티를 나타낼 수 없음

• Rein85– Crow’s Foot과 비슷– 고도의 추상화를 하는데 사용

• IDEF1X– 1970년대 후반에 ICAM 연구시 탄생– 적은 수의 기호를 사용

EE--RR 모델링모델링 기호의기호의 비교비교 (2)(2)

101

EE--RR 다이어그램의다이어그램의 개발개발

• 반복적 프로세스

– 1단계: 개발된 조직의 운영에 대한 일반적인 서술

– 2단계: 그래픽하게 표현되고 검토된 기본 E-R 모델 작성

– 3단계: 새로 발견된 E-R 구성원소를 포함한 수정

• 설계자와 사용자가 E-R 다이어그램이 완전하다고 판단할 때까지 반복

ERDERD에서에서 Supertype/SubtypeSupertype/Subtype 관계관계 (1)(1)

ERDERD에서에서 Supertype/SubtypeSupertype/Subtype 관계관계 (2)(2)

첫번째첫번째 ERDERD 부분부분 완성완성

두두 세번째세번째 ERDERD 부분부분 완성완성

네번째네번째 다섯번째다섯번째 ERDERD 부분부분 완성완성

여섯번째여섯번째 일곱번째일곱번째 ERDERD 부분부분 완성완성

여덟번째여덟번째 ERDERD 부분부분 완성완성 (1)(1)

여덟번째여덟번째 ERDERD 부분부분 완성완성 (2)(2)

EE--RR 모델모델 구성구성 원소원소

완성된완성된 ERDERD

ArtistArtist 데이터베이스데이터베이스 ERDERD와와 테이블테이블

테이블테이블 간의간의 관계에관계에 관한관한 일반적인일반적인 규칙규칙 (1)(1)

M:N, Both Sides Optional

M:N, Both Sides Mandatory

테이블테이블 간의간의 관계에관계에 관한관한 일반적인일반적인 규칙규칙 (2)(2)

M:N, One Side Optional

1:M, Both Sides Mandatory

테이블테이블 간의간의 관계에관계에 관한관한 일반적인일반적인 규칙규칙 (3)(3)

1:M, Both Sides Optional

1:M, Many Side Optional, One Side Mandatory

테이블테이블 간의간의 관계에관계에 관한관한 일반적인일반적인 규칙규칙 (4)(4)

1:M, One Side Optional, One Side Mandatory

1:1, Both Sides Mandatory

테이블테이블 간의간의 관계에관계에 관한관한 일반적인일반적인 규칙규칙 (5)(5)

1:1, Both Sides Optional

1:1, One Side Optional, One Side Mandatory

테이블테이블 간의간의 관계에관계에 관한관한 일반적인일반적인 규칙규칙 (6)(6)

Weak Entity, Foreign Key Located in Weak Entity

Multivalued Attributes (New Table in 1:M Relationship, Foreign Key CAR_VIN in the New

Table

119

데이터베이스데이터베이스 설계에설계에 도전도전 : : 상충되는상충되는 목표목표

• 데이터베이스는 설계 표준에 맞도록 설계되어야함

• 속도를 높이기 위해서는 설계 시 타협을 해야 하는경우가 있음

• 적시에 필요한 정보의 요구는 데이터베이스 설계의 초점이 될 수 있음

• 기타 사항– 보안(Security)– 성능(Performance)– 공유 접근(Shared access)– 무결성(Integrity)