database analysis design with erd l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
DATABASE Analysis & Design with ERD PowerPoint Presentation
Download Presentation
DATABASE Analysis & Design with ERD

Loading in 2 Seconds...

play fullscreen
1 / 137

DATABASE Analysis & Design with ERD - PowerPoint PPT Presentation


  • 638 Views
  • Uploaded on

DATABASE Analysis & Design with ERD. 2001.09.22 Lecturer : Kim Hyung Su Internet System Administrator (ISA) IT freelancer. What we ’ re going to do …. Database Review Database theory DBMS(DataBase Management System) Data Dependency Normalization & ERD Normalization

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'DATABASE Analysis & Design with ERD' - ira


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
database analysis design with erd

DATABASE Analysis & Design with ERD

2001.09.22

Lecturer : Kim Hyung Su

Internet System Administrator (ISA)

IT freelancer

what we re going to do
What we’re going to do…
  • Database Review
  • Database theory
  • DBMS(DataBase Management System)
  • Data Dependency
  • Normalization & ERD
  • Normalization
  • ERD (Entity-Relationship Diagram)
  • Database Modeling Processes
  • Database Design Process I
  • Analysis of Requirement
  • Conceptual Design (ERD 1)
  • Exercise

Presented by Hyung Su Kim (ISA)

what we re going to do continued
What we’re going to do…(Continued)
  • Database Design Process II
  • Logical Design (ERD 2)
  • Physical Design & Development
  • Exercise
  • Example materials & Other Issues
  • Information Technologies relevant to DB
  • Q&A

Presented by Hyung Su Kim (ISA)

slide4

Chapter 1

Database Review

  • 1. Database Theory
    • Database System
    • Database vs. File System
    • Database 의 구성요소
  • 2. DBMS (DataBase Management System)
    • DBMS의 정의
    • DBMS의 처리 모형
    • DBMS의 기능
    • DBMS의 종류
  • 3. Data Dependency
    • Data Dependency의 정의
    • Database의 변이성
    • 데이터 종속성의 종류

Presented by Hyung Su Kim (ISA)

1 database theory
1. Database Theory

Database : 어느 한 조직의 여러 응용 시스템들이 공유할 수 있도록

통합, 저장한 운영 데이터의 집합

Database

Presented by Hyung Su Kim (ISA)

1 database theory continued
1. Database Theory(Continued)

Database System

Database system

data

hardware

software

user

programmers

End users

DB Designer

DBA

Presented by Hyung Su Kim (ISA)

1 database theory continued7
1. Database Theory(Continued)

Store

Database vs. File System

Integrated Data

Share

Stored Data

DB

Operational Data

Shared Data

DB

Integrated

DB

Operation

DB

DB

DB

Integrate

Presented by Hyung Su Kim (ISA)

database
Database 의 구성요소

개체 (Entity) : Database가 표현하려는 유형, 무형의 정보대상

학생, 교수

속성 (Attribute) : 개체를 구성하는 특성, 상태

학번, 이름, 전공, 성적….

관계 (Relationship) : 개체집합과 개체집합 간의 관계를 표현

수강신청(과목, 학생), 강의(교수, 학생)

Presented by Hyung Su Kim (ISA)

2 dbms database management system
2. DBMS(DataBase Management System)
  • DBMS의 정의

Definition 1

(물리적 정의) 대량의(large amount), 영속적이며 (persistent),

신뢰성(reliable)있으며, 공유되는(shared) 데이터의 관리를 위한

software

Definition 2

(논리적 정의)DBMS란 많은 양의 데이터를 체계적으로

공유(systematic sharing) 하고 결합 해 주는(integrating) Software

Presented by Hyung Su Kim (ISA)

2 dbms continued

Application 1

Application 2

Application 3

DBMS

Database

DB 1

DB 2

DB 3

2. DBMS (Continued)

응용프로그램과 데이터의 중재자로서, 모든 응용 프로그램들이 데이터베이스를 공용할 수 있도록 관리해주는 소프트웨어시스템.

Presented by Hyung Su Kim (ISA)

2 dbms continued11

8

1

2

7

6

이용자 프로그램

수행단위 1

이용자 프로그램

수행단위 N

스키마 및

저장스키마

2

DBMS

9

시스템버퍼

3

운영체제

(OS)

서브 스키마 N

서브 스키마 1

5

4

통신영역 1

통신영역 N

데이터베이스

이용자 작업영역

(UWA) N

이용자 작업영역

(UWA) 1

2. DBMS (Continued)
  • ①데이터요구
  • ②데이터요구 분석
  • ③물리적 I/O 작업 요구
  • ④데이터 획득
  • ⑤데이터 이동
  • ⑥UWA로 이동
  • ⑦상태정보 전달
  • ⑧데이터 사용
  • 시스템 버퍼 관리
  • DBMS의 처리 모형

Presented by Hyung Su Kim (ISA)

2 dbms continued12
2. DBMS (Continued)
  • DBMS의 기능
  • 데이타 저장과 개발 및 유지보수 측면에서 중복성의 통제
  • 다사용자 간의 데이타의 공유
  • 권한없는 사용자의 데이타 접근을 통제
  • 다양한 사용자에게 다양한 형태의 인터페이스를 제공
  • 데이타 사이에 존재하는 복잡한 관련성을 표현
  • 데이타베이스의 무결성을 보장
  • 벡업과 복구 기능을 제공

Presented by Hyung Su Kim (ISA)

2 dbms continued13

고 객

1

N

N

점 포

주 문

1

N

주문항목

2. DBMS (Continued)
  • 계층형 데이터베이스 시스템(Hierarchical Database System)
  • DB 설계 시Tree 형태의 자료구조도(Data structure Diagram)
  • Ex) IMS(Information Management System), 1968, IBM
  • DBMS의 종류(1)

Presented by Hyung Su Kim (ISA)

slide14

네트워크 데이터베이스 시스템(Network Database System)

  • DB설계 시 Network 형태의 자료구조도
  • CODASYL(Conference on Data Systems Language) DBTG(Data Base Task Group), 1971 처음 모델제시
  • Ex) IDMS (Computer Associates), IDS II(Honeywell Information Systems), DMS/1100(UNIVAC)
  • DBMS의 종류(2)

고 객

출 고

1

1

N

N

주 문

1

N

주문항목

Presented by Hyung Su Kim (ISA)

slide15

FK 주문번호 주문항목

PK 고객번호 고 객

1

N

N

1

PK 주문번호 주 문 FK 고객번호

  • 관계형 데이터베이스 시스템(Relational Database System)
  • DB 설계 시 개체-연관도 (ER-Diagram)
  • Ex)SQL/DS (1981, IBM), DB2(1983, IBM), Oracle, SQL Server, Sybase…
  • DBMS의 종류(3)

Presented by Hyung Su Kim (ISA)

slide16

종업원 클래스

주소 클래스

구성관계

성 명

도, 시

주 소

군, 구

직 종

계승관계

직원 클래스

용역 클래스

  • 객체지향 데이터베이스 시스템(Object-Oriented Database System)
  • DB설계 시  UML(Unified Modeling Language) 등 이용
  • Ex) Jasmine (Fujitsu, 1998)
  • DBMS의 종류(4)

Presented by Hyung Su Kim (ISA)

slide17

객체-관계 통합 데이터베이스 시스템(Object-Relationship Database System)

  • 객체지향 데이터베이스의 장점과 관계형 데이터베이스의 장점을 취하여 하나의 시스템으로

통합된 모델- (최근 RDB의 추세)

  • DBMS의 종류(5)

Presented by Hyung Su Kim (ISA)

slide18

상용 DBMS

Data Model

  • DBMS의 종류(6)

계층형(Hierarchical Modeling) ex) IMS

그물형(Network Modeling) ex) IDMS, ADABAS, TOTAL

관계형(Relational Modeling) ex)ORACLE, INRORM,DB2,SYBASE

INGRES, SQL SERVER

객체형(Object Oriented Modeling) ex)OBJECT STORE, OBJECTIVITY,

UNISQL, Odysseus

의미형(Semantic Modeling)

Presented by Hyung Su Kim (ISA)

3 data dependency
3. Data Dependency
  • Data Dependency의 정의

데이터들간에 존재하는 관계성 또는 제약조건

데이터 종속성

  • 데이터 종속성 분석의 의미

정보의

무 손실 표현

탄탄한 DB 스키마의 구성

중복성 감소

Presented by Hyung Su Kim (ISA)

3 data dependency continued
3. Data Dependency(Continued)
  • 데이터베이스 변이성

한 테이블에서 불필요하거나 중복되는 속성이 존재함에 따라 생성되는 이상현상(Anomaly)

수강 릴레이션

1) 삭제이상

3) 갱신이상

2) 삽입이상

학번 600인 학생이 4학년이다.

Presented by Hyung Su Kim (ISA)

3 data dependency continued21
3. Data Dependency(Continued)
  • 데이터베이스 변이성의 원인

여러 종류의 사실들을 하나의 릴레이션으로 표현 하려하기 때문

문제의 해결

애트리뷰트들간의 종속성 분석

기본적으로 하나의 종속성은 하나의 릴레이션으로!

Normalization

Presented by Hyung Su Kim (ISA)

slide22

데이터 종속성의 종류

함수 종속성(Functional Dependency: FD)

어떤 릴레이션 R에서 애트리뷰트 X의 값 각각에 대해 애트리뷰트 Y의 값이 오직 하나만 연관되어 있을 때 Y는 X에 함수 종속 이라 한다.

FD A  B: A의 특정한 값에 대해 오직 하나의 B값이 존재.

과목코드  과목명: 한 과목코드 값에 대해 오직 하나의 과목명 존재

학생이름  학년: 한 학생의 값에 대해 하나의 학년 값 존재

교수이름  연구실: 교수이름이 주어지면 연구실 속성값 결정

Presented by Hyung Su Kim (ISA)

slide23

데이터 종속성의 종류

다치(다중 값) 종속성( Multi-Valued Dependency : MVD)

① 한 세트의 속성 값들과 다른 세트의 속성 값들 사이에 존재하는 종속성

R(A,B,C) : A  B: 속성 A의 값에 대해 속성 B와 속성 C의 값은 서로 독립적이다.

예) 업무분장(부서,직원,프로젝트)

Presented by Hyung Su Kim (ISA)

slide24

데이터 종속성의 종류

조인(결합) 종속성( Join Dependency : JD)

① 독립된 함수 종속성을 갖는 속성들끼리 결합하여 비 상실결합,

즉 결합된 속성간에도 함수 종속성이 형성되는 특성

예) 직원(직원번화, 성명, 사무실번호) * 사무실(사무실번호, 전화번호)

Presented by Hyung Su Kim (ISA)

normalization erd

Chapter 2

Normalization & ERD
  • 1. Normalization
    • 정규화의 단계
    • 정규형의 필요성
    • 제 1 ~제 3 정규형, 보이스 코드 정규형
    • 고급 정규형
  • 2. ERD
    • ERD의 소개
    • 개체, 연관, 값 타입
    • ERD의 기본적인 표현
    • 기수성
  • 3. Database Design Process

Presented by Hyung Su Kim (ISA)

1 normalization
1. Normalization
  • 정규형(Normal Form)

관계형 데이터베이스 릴레이션의 정형적 형태

  • 정규화(Normalization)

릴레이션들이 특정 정규형(1NF,2NF,3NF etc.)에서 정의한 조건들을 충족시킬 수 있도록 릴레이션을 설계하는 과정

Presented by Hyung Su Kim (ISA)

1 normalization continued
1. Normalization(Continued)

비정규 릴레이션

중복되는 속성 및 Group 속성 제거

모든 Domain값을 원자값으로

  • 정규화의 단계

함수적 종속성 제거 (부분함수 종속성 제거,

·특정 항목이 기본 Key의 일부분에 대해 통제 받는 구조제거)

1NF

2NF

이행함수 종속제거

·X→Y Y→Z인 경우 X→Z는 불가

기초적 정규화

3NF

결정자 제거

·결정자 후보 Key가 아닌 함수종속제거

진보된 정규화

(사용자의 요구상황에

따른 정규화 진행)

BCNF

다치종속제거 (Key들간 종속성 제거)

4NF

후보 Key를 통한 Join 종속제거

5NF

Presented by Hyung Su Kim (ISA)

1 normalization continued28
1. Normalization(Continued)

자료구조의 안전성 최대화

  • 정규화의 필요성

자료의 불일치성 최소화:

Data의 일관성 유지

자료의 갱신 및 삭제에 따른

이상현상 (Anomalies) 제거

저장공간 최소화

저장장소 중복제거

Presented by Hyung Su Kim (ISA)

1 normalization continued29
1. Normalization(Continued)
  • 정규화 절차의 핵심적 사안
  • 하나의 릴레이션에는 하나의 주제(theme)만이 포함되도록 함
  • (이상 현상은 한 릴레이션의 여러 개의 주제가 섞여 발생하는 것으로 볼 수 있음 )
  • 한 릴레이션에는 그 릴레이션의 기본 키에 의해 결정되는
  • 속성만을 포함시키도록 함
  • 더 이상의 이상 현상이 발생하지 않음이 증명된 정규형

Presented by Hyung Su Kim (ISA)

1 normalization continued30
1. Normalization(Continued)
  • 속성들 중에 반복 그룹이 있다.
  • 모든 속성들이 원자값(Atomic Value)을 갖지 못한다.
  • 한 개 이상의 속성들이 배열로 선언되어 있다.
  • 기본 키가 없다.
  • 비정규형

Presented by Hyung Su Kim (ISA)

1 normalization continued31
1. Normalization(Continued)

정규화의 기본 아이디어

서로 독립적인 관계는

별개의 릴레이션으로 표현

제 1 정규형 조건

제 2 정규형 조건

제 3 정규형 조건

1NF

2NF

3NF

Presented by Hyung Su Kim (ISA)

slide32

제 1 정규형 (First Normal Form)

  • 어떤 릴레이션 R의 모든 도메인이 원자값(Atomic Value)만으로 되어 있다면 제 1 정규형에 속한다.

제 1 정규형의 예) 수강지도 릴레이션

Presented by Hyung Su Kim (ISA)

slide33

학번

지도교수

성적

학과

과목번호

  • 제 1 정규형 (First Normal Form)

수강지도 릴레이션의 함수 종속성

키가 아닌 속성들이 기본 키에 완전 함수 종속되지 못하고 부분 함수 종속

 삽입, 삭제, 갱신 이상(Anomlay) 발생

Presented by Hyung Su Kim (ISA)

slide34

제 1 정규형 (First Normal Form)

2. 삭제이상

학번이 200인 학생이 교과목 C123을 취소하였다.

3. 갱신이상

학번이 400인 학생의 지도교수가 P3로

변경되었다.

1. 삽입이상

학번이 500인 학생의 지도교수가 P4이다

Presented by Hyung Su Kim (ISA)

slide35

제 1 정규형 (First Normal Form)

문제의 해결

부분 함수 종속성의 제거

지도 교수

학 번

학 번

성 적

과목 번호

학 과

지도 릴레이션

수강 릴레이션

Presented by Hyung Su Kim (ISA)

slide36

제 2 정규형 (Second Normal Form)

  • 어떤 릴레이션 R이 1NF이고 키에 속하지 않은 애트리뷰트 모두가 기본 키에 완전 함수 종속이면, 제 2 정규형에 속한다.

제 2 정규형의 예) 수강 릴레이션과 지도 릴레이션

지도

수강

Presented by Hyung Su Kim (ISA)

slide37

제 2 정규형 (Second Normal Form)

지도 및 수강 릴레이션의 함수 종속성

지도 교수

학 번

학 번

성 적

과목 번호

학 과

지도 릴레이션

수강 릴레이션

이행적 함수 종속(Transitive FD)

R.AR.B와 R.BR.C가 성립하면 R.AR.C가 성립(이행적 함수 종속)

 삽입, 삭제, 갱신 이상(Anomlay) 발생

Presented by Hyung Su Kim (ISA)

slide38

제 2 정규형 (Second Normal Form)

2. 삭제이상

학번이 200인 학생이 지도교수 P2의 지도를 취소하였다.

지도

1. 삽입이상

P4인 지도교수는 화공과에 속한다.

3. 갱신이상

P1교수의 학과가 전자과로 변경되었다.

Presented by Hyung Su Kim (ISA)

slide39

제 2 정규형 (Second Normal Form)

문제의 해결

이행적 함수 종속성의 제거

지도 교수

지도 릴레이션

학 번

학 과

학 번

지도 교수

지도 교수

학 과

학생지도 릴레이션

지도교수 학과

Presented by Hyung Su Kim (ISA)

slide40

지도 교수

학 과

P1

P2

P3

P1

컴퓨터

전 기

컴퓨터

컴퓨터

  • 제 3 정규형 (Third Normal Form)
  • 어떤 릴레이션 R이 2NF이고 키에 속하지 않은 모든 애트리뷰트들이 기본 키에 이행적 함수 종속이 아닐 때 제 3 정규형에 속한다.

제 3 정규형의 예) 학생 지도 릴레이션과 지도교수 학과 릴레이션

학생지도

지도교수 학과

Presented by Hyung Su Kim (ISA)

3 third normal form
제 3 정규형 (Third Normal Form)

복수의 후보 키를 가지고 있거나

후보 키들이 복합 애트리뷰트들로 구성되었거나

후보 키들이 서로 중첩되는 경우에

제 3 정규형의 정의를 적용할 수 없다.

  • 보이스/코드 정규형 (BCNF)

Presented by Hyung Su Kim (ISA)

slide42

지도 교수

학 과

P1

P2

P3

P1

컴퓨터

전 기

컴퓨터

컴퓨터

보이스/코드 정규형 (BCNF)
  • 릴레이션 R의 모든 결정자(determinant) 가 후보 키(candidate key)이면 릴레이션 R은 보이스/코드 정규형에 속한다.

BCNF의 예) 수강 릴레이션(2NF과정을 통해 생성)

BCNF의 예) 학생지도 릴레이션

지도교수 학과(3NF과정을 통해 생성)

Presented by Hyung Su Kim (ISA)

slide43

3NF

BCNF

보이스/코드 정규형 (BCNF)

3NF와 BCNF의 포함관계

3NF이지만 BCNF가 아닌 릴레이션의 문제는 ?

Presented by Hyung Su Kim (ISA)

slide44
보이스/코드 정규형 (BCNF)

3NF이지만 BCNF가 아닌 릴레이션의 문제는 ?

수강과목 릴레이션

  • 제약조건
  • 각 과목에 대해 한 학생은 오직 한교수의 강의만 수강
  • 각 교수는 한 과목만 담당
  • 한 과목은 여러 교수가 담당할 수 있다.

Presented by Hyung Su Kim (ISA)

slide45

학 번

교 수

과 목

보이스/코드 정규형 (BCNF)

3NF이지만 BCNF가 아닌 릴레이션의 문제는 ?

후보 키 : <학번, 과목>, <학번, 교수>

기본 키 설정 : <학번, 과목> 교수

Or <학번, 교수> 과목

키에 속하지 않는 애트리뷰트가 없다2NF

이행종속이 없다3NF

결정자인 교수 애트리뷰트는 후보 키가 아니다.BCNF(X)

기타 함수 종속 : 교수  과목

수강과목 릴레이션의 함수 종속 다이어그램

Presented by Hyung Su Kim (ISA)

slide46
보이스/코드 정규형 (BCNF)

3NF이지만 BCNF가 아닌 릴레이션의 문제는 ?

2. 삭제이상

학번이 100인 학생이 자료구조 과목을 취소하였다.

3. 갱신이상

P1교수의 과목이 자료구조로 변경되었다.

1. 삽입이상

교수 P5가 자료구조론을 담당하였다

Presented by Hyung Su Kim (ISA)

slide47
보이스/코드 정규형 (BCNF)

문제의 해결

원인: “교수” 애트리뷰트와 같은

결정자 이면서 후보 키가 아닐 경우

 수강교수 릴레이션과 과목교수 릴레이션으로 분할

수강교수 릴레이션

과목교수 릴레이션

교 수

과 목

학 번

교 수

Presented by Hyung Su Kim (ISA)

slide48
고급 정규형

제 4 정규형 (Fourth Normal Form)

  • 릴레이션 R에 MDV(다치 종속) AB가 존재할 때 R의 모든 애트리뷰트들도 또한 A에 함수 종속(즉, R의 모든 애트리뷰트 X에 대해 AX이고 A가 후보 키)이면 릴레이션 R은 4NF에 속한다.

제 5 정규형 (Fifth Normal Form)

  • 릴레이션 R에 존재하는 모든 조인 종속(JD)이 릴레이션 R의 후보 키를 통해서만 성립된다면 릴레이션 R은 제 5 정규형(5NF) PJ/NF(Projection-Join Normal Form)에 속한다.

Presented by Hyung Su Kim (ISA)

1 normalization summary
1. Normalization(Summary)

(1) 원래의 1NF 릴레이션에 부분 함수 종속을 제거하기 위해 프로젝션.

2NF

(2) 2NF 릴레이션에 이행 함수 종속을 제거하기 위해 프로젝션.

3NF

(3) 3NF 릴레이션에 결정자가 후보 키가 아닌 함수 종속을

제거하기 위해 프로젝션

BCNF

(4) BCNF 릴레이션에 함수 종속이 아닌 다치 종속을 제거하기 위해 프로젝션.

4NF

(5) 4NF 릴레이션에 후보 키를 통하지 않는 조인 종속을 제거하기 위해 프로젝션.

5NF

Presented by Hyung Su Kim (ISA)

slide50

어느 단계까지 정규화를 시켜야 하나…

제 5 정규형까지 ?

학생주소 릴레이션 (학번, 이름, 주소, 전화번호)

존재하는 함수종속: 학번 이름, 주소, 전화번호

전화번호주소

학생 전화(학번, 이름, 전화번호)

전화 주소(전화번호,주소)

? 과연 유용한가

Presented by Hyung Su Kim (ISA)

2 erd entity relationship diagram
2. ERD(Entity-Relationship Diagram)

개체 연관도(Entity-Relationship Diagram)

- 1976. Peter Chen, MIT University

1. Entity & Entity Type

개 체 ( Entity)

실제 세계에 존재하는 어떤 대상물

파 6075

Mrs. Robinson

Samsung K12-I

Seoul National Univ.

Presented by Hyung Su Kim (ISA)

1 entity entity type
1. Entity & Entity Type

개 체 타입( Entity Type)

한 그룹의 개체들이 서로 비슷한 속성을 가지고 있을 때 그러한 개체들이 묶여진 형태

자동차

학교

학생

컴퓨터

Presented by Hyung Su Kim (ISA)

2 relationship relationship type
2. Relationship & Relationship Type

연 관(관계 : Relationship)

개체와 개체간에 존재하는 어떤 관계

SMITH

DEAN

COOPER

TAYLOR

CSULA

UCLA

연관

개체

개체

학생

(개체타입)

대학

(개체타입)

Presented by Hyung Su Kim (ISA)

2 relationship relationship type54
2. Relationship & Relationship Type

연관 타입(Relationship Type)

공통적인 특성을 가진 연관들을 집합적으로 표현한 형태

Relationship

Relationship Type

재 학

<SMITH-CSULA>

<DEAN-CSULA>

<COOPER-CSULA>

Presented by Hyung Su Kim (ISA)

3 attribute
3. Attribute

속 성(Attribute)

개체가 가지고 있는 특성

학생 ( 학번, 이름, 주소, 학과)

증명 속 성

개체를 설명하는 속성 중에 유일하게 구별하는 즉, 유일하게 증명하는 기능을 가진 속성

학생 ( 학번, 이름, 주소, 학과)

학생-과목 (학번, 과목, 성적)

개체의 증명속성

연관의 증명속성

Presented by Hyung Su Kim (ISA)

4 value value type
4. Value & Value Type

값(Value)

개체와 연관의 속성들이 가지게 되는 특정 데이터

학 생(100, 박한식, 서울 강남구 논현동, 경영정보학과)

Value

값 타입(Value Type)

개체와 혹은 연관의 속성들을 표현하는 값들이 공통적으로 가지는 일련의 부호적 특성

학 생(학번, 이름, 주소, 학과)

Value Type

숫자, 문자, 문자, 문자

Presented by Hyung Su Kim (ISA)

5 erd
5. ERD의 기본적 표현

개체타입(Entity Type)

관계타입(Relationship Type)

지 도

학 생

교 수

이름

학과

학번

교수명

과목

교수명

연구실

학번

소속

문자

코드

문자

코드

코드

숫자

문자

코드

숫자

속성(Attribute)

값 타입(Value Type)

Presented by Hyung Su Kim (ISA)

6 cardinality
6. Cardinality

기수성(Cardinality)

개체들이 연관되어 있는 형태를 나타내는 개념으로서 하나의 개체가 참여하는 연관과 함께 참여하고 있는 다른 개체와의 수치적 관계

  • 일대일 기수성 (1:1)
  • 일 대 다수 및 다수 대 일 기수성 (1:N or N:1)
  • 다수 대 다수 기성성 (N:N)

Presented by Hyung Su Kim (ISA)

6 cardinality59

수 행

직 원

프로젝트

6. Cardinality
  • 일대일 기수성 (1:1)

1

1

  • 한 직원은 최대 한 프로젝트를 위해
  • 일할 수 있으며
  • 한 프로젝트는 최대 한 직원에 의해서
  • 수행된다.

Presented by Hyung Su Kim (ISA)

6 cardinality60

수 행

수 행

직 원

직 원

프로젝트

프로젝트

6. Cardinality
  • 일대 다수 및 다수 대 일 기수성 (1:N or N:1)

1

N

1

N

  • 1 : N
  • 한 직원은 하나 이상의 프로젝트에서 일할 수 있고,
  • 한 프로젝트는 최대 한 직원만이 참여할 수 있다.
  • N : 1
  • 한 직원은 최대 한 프로젝트에서 일할 수 있고,
  • 한 프로젝트는 한 명 이상의 직원에 의해서 수행될 수 있다.

Presented by Hyung Su Kim (ISA)

6 cardinality61

수 행

직 원

프로젝트

6. Cardinality
  • 다수 대 다수 기수성 (N : N)

N

N

  • 한 직원은 최대 한 프로젝트에서
  • 일할 수 있고,
  • 한 프로젝트는 한 명 이상의 직원에 의해서 수행될 수 있다.

Presented by Hyung Su Kim (ISA)

3 database design process

고객

발주

수취

수취인

배달결과

대금납입

주문

배달지시

배달원

사용

의뢰

근무

패키지

제공

화원

보유

구성

운영

가입

회사

운영자

3. Database Design Process

1. Database Modeling

정해진 기호와 규칙을 적용하여

정보처리 업무를 정확하고

이해하기 쉬운 모델로 만드는 것

Presented by Hyung Su Kim (ISA)

slide63
2. 전체 시스템 개발과정

기획

요구사항 분석, 설계자료 분석, 시스템기능 분석

 업무흐름도(IDEF 0)

업무파악

Data Modeling, 시스템에서 사용될 데이터 분석

 ERD(IDEF 1X), Data Dictionary

분석

정보모델링

Business Logic 즉, 자료처리의 흐름을 정의

 Context Diagram, IDEF 0, DFD, Process Spec.

프로세스모델링

프로세스와 데이터의 관련성 분석

 CRUD Matrix

프로세스/데이터 연관분석

프로세스와 데이터의 물리적 설계단계

 Pseudo Code, I/O 항목, 물리적 스키마

설계

Program(Logic) 및 Database 개발

 Program, Database

구현

유지, 보수 단계

 기획단계로 Feed back

운영

Presented by Hyung Su Kim (ISA)

slide64
3. 전체 시스템 개발 과정 속에서의 DB 구현과정

기획

업무파악

  • DB 요구사항분석
  • 개념적 설계
  • 논리적 설계
  • 물리적 설계
  • 데이터베이스 구현

정보모델링

프로세스모델링

프로세스/데이터 연관분석

설계

구현

운영

Presented by Hyung Su Kim (ISA)

slide65

Chapter 3

Database Design Process I

  • Analysis of DB requirements
    • Database 요구사항 분석의 절차
    • 문의통합방식(QIM)
    • 요구사항 수집 및 분석
  • Conceptual Design
    • 개요
    • 개체 추상화의 방식
    • 개념적 설계 단계에서의 핵심사안
  • Exercise
  • 배경
  • 요구사항분석
  • 개념적 DB 모델링

Presented by Hyung Su Kim (ISA)

slide66
Analysis of DB requirements

사용자의 요구조건을 수집 후 공식적인

요구 명세를 작성하고 이에 따른

개체와 연관 타입을 설정하는 단계

Presented by Hyung Su Kim (ISA)

1 analysis of db requirements
1. Analysis of DB requirements

DATABASE 요구사항 분석의 절차

  • 응용분야 및 사용자 그룹 식별
  • 요구사항 수집 및 분석(QIM)
  • 공식 요구 명세작성(HIPO, SADT, DFD)
  • 개체타입 정의
  • 연관타입 정의

Presented by Hyung Su Kim (ISA)

slide68
요구사항 수집 및 분석(QIM)
  • 문의통합방식(QIM: Query Integration Method)

1983, 정 일 주 박사

데이터베이스를 사용할 사용자들이 질문을 제시하고 그 질문에 내포된 개체연관 구조를 찾아내어 이를 통합하는 방식

1) 이용자 문의  2) 가시적 문의로 변환

 3) 문의통합  4) 개체 및 연관 타입 정의

나의 항공료는 얼마입니까?

이용자 문의의 예

항공편 KE012의 비행 시간은

얼마입니까?

Presented by Hyung Su Kim (ISA)

slide69

요구사항 수집 및 분석(QIM)

1993년 2월11일, LAX공항에서 JFK공항까지

비행하는 항공편의 요금은 얼마입니까?

변환된 가시적 문의의 예

김포공항에서 출발하는 항공편 KE012의

출발시간은 언제이며 그 항공편이 부산 공항에

도착하는 시간은 언제입니까?

사용된 개체 및 관계들의 도출 :

나, LAX공항, JFK공항, 김포공항, 부산공항,

항공편 KE012, 날짜, 도착시간, 요금

문의 통합

승객(성명, 주민번호, 여권번호…)

항공편(항공편 명, 날짜, 시간, 요금…)

공항(공항 명, 소재지…)

여행(항공편 명, 승객이름, 행선지…)

….

개체 및 연관 타입 도출

Presented by Hyung Su Kim (ISA)

2 conceptual design
2. Conceptual Design
  • 요구사항 분석을 통해 나온 명세(결과)를 가지고

개략적인 데이터베이스의 모델을 나타내기 위한

추상적 ERD를 생성하는 단계

승 객

항공편

공항

Presented by Hyung Su Kim (ISA)

2 conceptual design71
2. Conceptual Design

개체(Entity) 추상화의 방식

대학원생

학부생

일반화

학 생

집단화

학 번

이 름

학 과

Presented by Hyung Su Kim (ISA)

2 conceptual design continued

개념적 설계 단계에서의 핵심사안

2. Conceptual Design(continued)
  • 이 단계의 ERD는 Database에 포함될 개체, 연관, 속성으로 이루어져 있다.
  • 구현될 대상 Database의 개괄적인 모습을 ERD로 표현하려는 데에 집중
  • 대상 시스템의 모든 개체와 연관 타입을 이 단계에서 확정
  • 개체 및 연관 타입의 속성들은 확정하려 하지 않는다.
  • 개념적 설계단계에서 생성된 ERD는 DBMS에 독립적

Presented by Hyung Su Kim (ISA)

2 conceptual design continued73

항공편

ID

개념적 설계의 예

소속

항공사

여행

승 객

항공편

출발지

목적지

승객ID

승객

이름

행선지

여행

시간

이용

공항

공항ID

공항

이름

도시

2. Conceptual Design(continued)

Presented by Hyung Su Kim (ISA)

3 exercise

학사 관리 시스템

?

3. Exercise

Presented by Hyung Su Kim (ISA)

analysis of db requirements
Analysis of DB requirements

1. 배 경

H 대학은 최근 학생수가 증가함에 따라 여러 가지 문제점에 봉착하게 되었다.

특히 다수의 학생들이 자신의 과에 속한 과목만을 듣게 되는 것이 아니라

의 일환으로 다양한 전공의 과목을 수강함에 따라 학생들의 수강정보를

기존의 서류기록으로는 유지 관리할 수 없게 되었다.

또한 교수 역시 수많은 학생들의 지도관계에 있어서 수많은 학생들의 정보를

일일이 기억할 수 없기 때문에 교수면담과 학사관리가 비효율적이라는

사실을 알게 되었다.

이러한 문제를 해결하기 위해 H대학은 “ITRG 정보시스템” 에 새로운

학사관리 시스템의 개발을 의뢰하였다.

H대학은 이 시스템으로 원활한 학사관리가 이루어지기를 바란다.

Presented by Hyung Su Kim (ISA)

slide76

2. 응용분야 및 사용자 그룹 식별

과 사무실

지도학생 정보관리

지도과목 정보관리

교수

교수-학생 정보관리

학생정보관리

과목

학사 관리 시스템

수강신청 관리

지도교수정보 조회

수강과목정보관리

개설과목등록

담당교수정보관리

수강학생정보 관리

학생

Presented by Hyung Su Kim (ISA)

slide77

3. QIM을 이용한 요구사항 수집 및 분석

이용자 문의

나의 수강 과목은 무엇입니까?

나의 담당 지도 교수는 누구입니까?

어느 과목의 지도 교수는 누구입니까?

내 성적은 어떻게 됩니까?

학생

내가 가르치는 과목은 무엇입니까?

내가 담당하는 학생은 총 몇 명입니까?

지난 학기 학생들의 성적은 어떻게 됩니까?

이 과목을 담당하는 다른 교수는 누구입니까?

교수

수강생이 총 100명을 넘는 과목은 무엇입니까?

어떤 과목의 A학점을 받은 학생의 총수는 몇 명입니까?

지난 해 어느 교수의 지도 과목은 총 몇 개입니까?

과 사무실

Presented by Hyung Su Kim (ISA)

slide78

변환된 가시적 문의

홍길동의 2000년 2학기 수강 과목은 무엇입니까?

한주현의 데이터베이스 담당 지도 교수는 누구입니까?

박한식의 프로그래밍 과목의 지도 교수는 누구이며 총 시수는 어떻게 됩니까?

최철수의 1999년 1학기 시스템 분석 및 설계 강의의 학점은 몇 점입니까

학생

김갑수 교수가 가르치는 과목은 무엇입니까?

내가 가르치는 학생중 박한식의 데이타베이스 과목의 지난 학기 성적은 어떻게 됩니까?

데이터통신 과목의 이번학기 최우수 성적자의 다른 과목 성적은 어떻게 된니까?

교수

컴퓨터 학과의 김을동 학생이 김갑수 교수가 가르치는 과목중 듣지 않는 과목은 무엇입니까?

데이터베이스 과목의 강의실은 몇 호입니까?

2000년 유상철 교수 지도 과목은 총 몇 개입니까?

과 사무실

Presented by Hyung Su Kim (ISA)

slide79

문의 통합

사용된 개체 및 관계들의 도출 :

홍길동, 수강과목, 데이터베이스, 지도교수,

시수, 학년, 학기, 학생수, 김갑수(교수), 성적,

최우수 성적자, 강의실….

개체 및 연관 타입 도출

학생(학번, 이름, 학년….)

교수(교수번호, 이름, 학과….)

과목(과목번호, 과목이름, 학점….)

지도한다(누가,누구를,언제,어디서…)

등록한다(누가, 무엇을…)

강의한다(누가,무엇을…)

Presented by Hyung Su Kim (ISA)

conceptual design
Conceptual Design

요구사항 분석을 통해 도출된 개체들과 연관 관계를 기초적인 ERD로 표현

(교수는 학생을) 지도한다

학 생

교 수

(학생은 과목을)

등록한다

(교수는 과목을)

강의한다

과 목

Presented by Hyung Su Kim (ISA)

slide81

개념적 설계의 완성

학번

교수

번호

이름

지 도

학 생

교 수

이름

학년

학과

시간

장소

강 의

등 록

과 목

과목

번호

과목

이름

학점

Conceptual Design

각 개체와 연관타입을 확정하고 주요 속성들을 표현

Presented by Hyung Su Kim (ISA)

slide82

Chapter 4

Database Design Process II

  • Logical Design
  • Physical Design & Development
  • SQL
  • Exercise

Presented by Hyung Su Kim (ISA)

logical design
Logical Design
  • 개념적 설계에서 만들어진 정보구조를 가지고 지정된 목표 DBMS(Network DB, RDB, OODB등)가 처리할 수 있는 논리적인 스키마를 생성하는 단계

M

작업

N

직원

프로젝트

프로젝트

이름

성명

착수일

연봉

직원번호

직원번호

소요예산

번호

문자

금액

일자

번호

문자

금액

Presented by Hyung Su Kim (ISA)

logical design continued
Logical Design(Continued)
  • 개념적 설계와 논리적 설계의 차이

관계형

데이터베이스

논리적

설계

물리적

설계

네트워크

데이터베이스

개념적 설계

논리적

설계

물리적

설계

현실세계

객체지향

데이터베이스

논리적

설계

물리적

설계

Presented by Hyung Su Kim (ISA)

logical design continued85

논리적 설계 단계에서의 핵심사안

Logical Design(Continued)
  • 구현될 DBMS의 종류에 맞는 설계 필요
  • 각 개체와 연관 타입들이 사용될 속성들의 최종 도출
  • 기수성 분석 및 표현
  • 필요에 따른 정규화 작업적절한 릴레이션으로 변환

Presented by Hyung Su Kim (ISA)

logical design continued86

논리적 설계 단계의 절차

Logical Design(Continued)

논리적 개체 연관도(ERD)의 완성

개체 및 연관 타입의 속성 목록 생성

정규형과 기수성의 고려

릴레이션 스키마의 설계

Presented by Hyung Su Kim (ISA)

slide87
논리적 개체 연관도(ERD)의 예

M

작업

N

직원

프로젝트

프로젝트

이름

직원번호

착수일

성명

프로젝트

번호

프로젝트

번호

연봉

직원번호

소요예산

번호

문자

금액

일자

번호

문자

금액

번호

번호

Presented by Hyung Su Kim (ISA)

slide88
개체 및 연관 타입의 속성 목록

Presented by Hyung Su Kim (ISA)

slide89

Employee_No Name Pay

Project_No Project_Name Cost

Employee_No Project_No Start_Date

릴레이션 스키마의 설계

Employee

Project

Work

Presented by Hyung Su Kim (ISA)

slide90

결정자 후보키?

원자값?

직원(직원번호, 이름, 급여)

프로젝트(프로젝트번호, 프로젝트 명, 소요예산)

작업(직원번호, 프로젝트번호, 착수일)

다치종속?

XY?

FD?

YZ?

어떻게 릴레이션(테이블)

로 변환시킬 것인가?

정규화의

법칙?

논리적 ERD를 릴레이션으로 변환하는 방법

기수성의 고려

릴레이션 분할

Presented by Hyung Su Kim (ISA)

slide91

방식 1. 각각의 개체타입과 연관타입을 하나의 릴레이션으로 정의

논리적 ERD를 릴레이션으로 변환하는 방법

직원 릴레이션

프로젝트 릴레이션

작업 릴레이션

한 직원이 다수의 프로젝트에 참여하고

하나의 프로젝트 역시 다수의 직원이 참여하게

됨으로써 개체타입 직원과 프로젝트의

연관성이 복잡할 경우에 유리

Presented by Hyung Su Kim (ISA)

slide92

적출작업(Projection)에 의해 내용은 동일

[직원번호, 이름,급여액](직원)

[직원번호, 프로젝트번호, 개시일](직원)

방식 2. 하나의 개체타입과 연관타입을 묶어 별도의 릴레이션으로 정의(1)

논리적 ERD를 릴레이션으로 변환하는 방법

직원 릴레이션

프로젝트 릴레이션

방식 1 과 동일한

것 인가?

그러나…

Presented by Hyung Su Kim (ISA)

slide93

방식 2. 하나의 개체타입과 연관타입을 묶어 별도의 릴레이션으로 정의(1)-계속

논리적 ERD를 릴레이션으로 변환하는 방법

직원 릴레이션

프로젝트 릴레이션

한 직원이 하나의 프로젝트에 참여하고

하나의 프로젝트는 다수의 직원이 참여하게

됨으로써 프로젝트 릴레이션의 데이터가

중복될 우려가 있을 때 유리

Presented by Hyung Su Kim (ISA)

slide94

방식 3. 하나의 개체타입과 연관타입을 묶어 별도의 릴레이션으로 정의(2)

논리적 ERD를 릴레이션으로 변환하는 방법

직원 릴레이션

프로젝트 릴레이션

한 직원이 다수의 프로젝트에 참여하고

하나의 프로젝트는 오직 한 직원이 참여하게

됨으로써 직원 릴레이션의 데이터가

중복될 우려가 있을 때 유리

Presented by Hyung Su Kim (ISA)

slide95

방식 4. 모든 데이터를 하나의 릴레이션으로 정의

직원 - 프로젝트 릴레이션

논리적 ERD를 릴레이션으로 변환하는 방법

유리한 점 별로 없음

기존의 파일 시스템에서의 모습

관계형 DB에 바람직하지 못함

그러나, 아직도 많은 곳에서…

Presented by Hyung Su Kim (ISA)

slide96

릴레이션 설계방식 1

가능한 4가지 기수성의 예

연관타입이 하나의 릴레이션의 변환

직원

프로젝트

CASE 1

CASE 2

CASE 3

CASE 4

1

N

M

1

N

1

N

1

연관타입의 속성이 다수 기수성을 가진

개체타입의 릴레이션에 통합

릴레이션 설계방식 2

좌측 개체타입의 릴레이션에 통합

릴레이션 설계방식

우측 개체타입의 릴레이션에 통합

기수성에 따른 가능한 릴레이션 설계의 법칙

논리적 ERD를 릴레이션으로 변환하는 방법

Presented by Hyung Su Kim (ISA)

physical design development

struct EMPLOYEE {

char

FNAME[10];

char

MINIT[5];

char

LNAME[10];

int

SSN;

char

BDATE[10];

char

ADDRESS[30];

char

SEX;

float

SALARY;

int

SUPERSSN;

int

DNO;

struct EMPLOYEE *next;

};

Physical Design & Development
  • Physical Design

논리적 설계로부터 생성된 논리적 데이터베이스 구조, 즉

논리적 ERD로부터 효율적이고 구현 가능한 물리적

데이터베이스의 구조를 설계하는 과정

  • 저수준의 데이터 모델 :
  • 데이터가 컴퓨터에 어떻게 저장되는지의 세부 사항을 명시하는
  • 개념 제공

Presented by Hyung Su Kim (ISA)

slide98

Physical Design

물리적 설계 단계에서의 설계범위(이론상)

  • 저장 레코드 양식 설계
  • 데이터 타입, 데이터 값의 분포, 사용될 응용 애플리케이션, 접근빈도 등의 고려
  • 저장 레코드에 대한 데이터 표현과 압축에 대한 양식 설계
  • 물리적 성능 평가에 따른 데이터 항목의 길이 설정
  • 레코드 집중의 분석 및 설계
  • 물리적 저장 공간의 효율성을 위해 물리적 순차성 이용블록 크기의 설정
  • SAM, ISAM, VSAM 방식에 중요
  • 접근경로 설계
  • 효율적인 저장 및 검색을 위한 저장 구조와 탐색 기법의 설계
  • 인덱스의 설계 및 저장 레코드의 정의

Presented by Hyung Su Kim (ISA)

slide99

물리적 설계 단계에서의 설계범위(실제)

  • Physical Design
  • 저장 레코드 양식 설계
  • 접근경로 설계

DB 설계자

  • 레코드 집중의 분석 및 설계

DBMS

Presented by Hyung Su Kim (ISA)

slide100

인덱스 구성의 여부 결정

  • 데이터 검색의 시간 , 공간증가에 따른 비용 , 삽입,삭제시간
  • 인덱스의 방식(B-Tree, B+Tree 등은 DBMS 차원문제)

DB설계자가 물리적 설계에서

담당할 부분은 무엇인가?

  • Physical Design

DB 설계자

  • 레코드의 표현 형식
  • 목적 DBMS에 맞는 Record 양식 설계

Presented by Hyung Su Kim (ISA)

slide101

DBMS가 물리적 설계에서

담당할 부분은 무엇인가?

  • Physical Design

DBMS

  • 인덱스의 방식
  • B-Tree, B+Tree

2. 물리적 Sequence의 효율성 문제

물리적 순서가 최적일 수도 있지만

더 효율적인 경로가 있을 경우 적절한

제어정보를 레코드 헤더에 사용

3. 응답시간

트랜잭션 처리시간

통신지연고려

4. 저장 공간의 효율성

DB파일이나 이들의 접근 경로 구조들을

저장하기 위해 필요한 최소한의 저장 공간

 DB 구축 시 개발자 세팅

  • 트랜잭션 처리
  • 능력비

Presented by Hyung Su Kim (ISA)

slide102

struct EMPLOYEE {

char

FNAME[10];

char

MINIT[5];

char

LNAME[10];

int

SSN;

char

BDATE[10];

char

ADDRESS[30];

char

SEX;

float

SALARY;

int

SUPERSSN;

int

DNO;

struct EMPLOYEE *next;

};

물리적 설계의 예 (1)

Internal Relation Schema

STORED_EMP LENGTH=18

PREFIX TYPE=BYTE(6), OFFSET=0

EMP# TYPE=BYTE(6), OFFSET=6, INDEX=EMPX

DEPT# TYPE=BYTE(4), OFFSET=12

PAY TYPE=FULLWORD, OFFSET=16

Presented by Hyung Su Kim (ISA)

slide103
물리적 설계의 예 (2)

조직에 맞는 물리적 설계 양식서

Presented by Hyung Su Kim (ISA)

slide104

테이블정의서

시스템 명

경매시스템

작성일

1999.12.13

테이블ID

DELIV

작성자

김 을 동

테이블 명

배송관리

번호

칼럼ID

칼럼 명

형태

길이

NULL

비고

struct EMPLOYEE {

1

2

3

4

5

6

AUCTION_No

BID_No

BUYER_ID

SELLER_ID

EXPECT_DT

COMPLETE_DT

……

경매번호

입찰번호

구매회원ID

판매회원ID

배송예정일자

배송완료일자

………….

C

C

VC

VC

C

C

13

3

20

20

8

8

N

N

N

N

N

PK

PK

char

FNAME[10];

char

MINIT[5];

char

LNAME[10];

int

SSN;

char

BDATE[10];

char

ADDRESS[30];

char

SEX;

float

SALARY;

경매번호 : 경매구분자(1)+YYYYMMDD+SEQ(4)

경매구분자 : BTOC ‘B’, COMMUNITY ‘C’, 역경매

int

SUPERSSN;

int

DNO;

struct EMPLOYEE *next;

};

  • Database Development

물리적 설계단계에서 도출된 내부 릴레이션 스키마를

가지고 목표 DBMS에 맞는 절차에 따라 Database를

구축하는 과정

CREATE TABLE EMPLOYEE

( FNAME VARCHAR(15 NOT NULL,

MINIT CHAR,

LNAME VARCHAR(15) NOT NULL,

SSN CHAR(9) NOT NULL,

BDATE DATE,

ADDRESS VARCHAR(30),

SEX CHAR,

SALARY DECIMAL(10, 2),

SUPERSSN CHAR(9),

DNO INT NOT NULL,

PRIMARY KEY (SSN),

FOREIGN KEY (SUPERSSN) REFERENCES EMPLOYEE( SSN ),

FOREIGN KEY (DNO) REFERENCES DEPARTMENT (DNUMBER)) ;

CREATE TABLE DEPARTMENT

( DNAME VARCHAR(15) NOT NULL,

DNUMBER INT NOT NULL,

MGRSSN CHAR(9) NOT NULL,

MGRSTARTDATE DATE,

Presented by Hyung Su Kim (ISA)

sql structured query language
SQL(Structured Query Language)
  • SQL이란?
  • 관계형 데이터베이스의 모델인 관계대수와 관계해석을 기초로 한 데이터베이스의 정의,조작, 관리 언어
  • SQL 언어의 기본구성

DDL(Data Definition Language)

DDL(데이터 정의 언어)는 관계형 모델의

기본 단위가 되는 릴레이션 스키마를 정의하는데 사용

DML(Data Modification Language)

DML(데이터 조작 언어)는 관계대수와

투플 관계해석에 기초한 데이터 조작 명령어를 제공

Presented by Hyung Su Kim (ISA)

slide106

CREATE TABLE(or INDEX)

    • CREATE TABLE 명령은 릴레이션의 이름을 주고 각 애트리뷰트와 데이터 유형을 기술하여 새로운 릴레이션을 지정하는 데 사용.

데이터 유형 : INTEGER, FLOAT, DECIMAL( i, j ), CHAR(n), VARCHAR(n)………

    • SQL은 애트리뷰트 값으로 NULL을 허용하기 때문에 그 애트리뷰트에 NULL값이 허락되지 않는다면 제약조건 NOT NULL이 지정된다.
    • 예) CREATE TABLE DEPARTMENT

( DNAME VARCHAR(10) NOT NULL,

DNUMBER INTEGER NOT NULL,

MGRSSN CHAR(9)

MGRSTARTDATE CHAR(9) ) ;

  • Data Definition Language

Presented by Hyung Su Kim (ISA)

slide107

DROP TABLE(or INDEX)

    • DROP TABLE 명령은 데이터베이스로부터 하나의 릴레이션(즉, 테이블)을 삭제하기 위하여 사용.
    • 예) DROP TABLE DEPARTMENT
  • Data Definition Language
  • ALTER TABLE
    • ALTER TABLE 명령은 데이터베이스로부터 릴레이션의 칼럼 추가나 넓이,제약조건 등의 내용을 변경하기 위해 사용.
    • 예) ALTER TABLE DEPARTMENT

MODIFY (DNAME (12)) ;  DNAME의 길이를 12로 변경

Presented by Hyung Su Kim (ISA)

slide108

DESC(DESCRIBE) TABLE

    • DESC TABLE 명령은 데이터베이스에 이미 생성된 테이블의 정의를 알아보기 위하여 사용.
    • 예) DESC TABLE DEPARTMENT
  • Data Definition Language

Presented by Hyung Su Kim (ISA)

slide109

CREATE TABLE EMPLOYEE

( FNAME VARCHAR(15) NOT NULL,

MINIT CHAR,

LNAME VARCHAR(15) NOT NULL,

SSN CHAR(9) NOT NULL,

BDATE DATE,

ADDRESS VARCHAR(30),

SEX CHAR,

SALARY DECIMAL(10, 2),

SUPERSSN CHAR(9),

DNO INT NOT NULL,

PRIMARY KEY (SSN),

FOREIGN KEY (SUPERSSN) REFERENCES EMPLOYEE( SSN ),

FOREIGN KEY (DNO) REFERENCES DEPARTMENT (DNUMBER)) ;

CREATE TABLE DEPARTMENT

( DNAME VARCHAR(15) NOT NULL,

DNUMBER INT NOT NULL,

MGRSSN CHAR(9) NOT NULL,

MGRSTARTDATE DATE,

  • Data Definition Language 사용 예

Presented by Hyung Su Kim (ISA)

slide110

SELECT

    • SELECT 명령은 데이터베이스 릴레이션에서 특정 조건을 충족시키는 투플을 탐색하기 위해 사용.
    • SELECT <애트리뷰트 목록>

FROM <테이블 목록>

WHERE <조건>

    • <애트리뷰트 목록> : 질의를 통해 값이 검색되는 애트리뷰트 이름의

목록

    • <테이블 목록> : 질의 처리를 위해 필요한 릴레이션 목록
    • <조건> : 질의를 통해 검색하는 튜플을 식별하기 위한 조건(부울)

탐색식

  • Data Modification Language

Presented by Hyung Su Kim (ISA)

slide111

SELECT

  • 예) 이름이 'John B. Smith'인 종업원의 생일과 주소를 검색하시오.
    • SELECT BDATE, ADDRESS
    • FROM EMPLOYEE
    • WHERE FNAME='John' AND MINIT='B' AND LNAME='Smith’ ;
  • Data Modification Language

SELECT 명령의 함수기능

1)문자열을 다루는 함수

- SUBSTR, LTRIM, RTRIM, LPAD, RPAD, LENGTH, LOWER/UPPER,

DECODE, ASCII, INSTR

2)숫자를 다루는 함수

- AVG, MIN/MAX, GREATEST/LEAST, SUM, COUNT, STDDEV/VARIANCE,

TO_CHAR/TO_NUMBER, ROUND/TRUNC….

3)기타 함수

- *, DATE/TIME, YEAR, MONTH, DAY/HOUR/MINUTE/SECOND….

Presented by Hyung Su Kim (ISA)

slide112

INSERT

  • INSERT 명령은 지정된 테이블에 하나의 투플을 삽입하는 작업을 위해 사용.
  • 투플 값들의 목록은 CREATE TABLE 명령에서 지정한 애트리뷰트와 같은 순서로 지정해야 한다.
  • 예) INSERT INTO EMPLOYEE
    • VALUES ('Richard','K','Marini','653298653','30-DEC-52','98 Oak Forest,
    • Katy, TX','M',37000,'987654321',4) ;
  • INSERT 명령의 또 다른 형식에서는 INSERT 명령에 있는 값에 대응하는 애트리뷰트 이름을 명시적으로 지정할 수 있다.
  • 이 경우에 명시하지 않은 애트리뷰트들은 NULL이나 DEFAULT값을 갖는다.
  • 예) INSERT INTO EMPLOYEE (FNAME, LNAME, SSN)
    • VALUES ('Richard', 'Marini', '653298653') ;
  • Data Modification Language

Presented by Hyung Su Kim (ISA)

slide113

DELETE

  • DELETE 명령은 릴레이션에서 하나 혹은 복수의 투플들을 제거한다.
  • WHERE절을 생략한 경우에는 테이블내의 모든 투플을 삭제하게 되며 테이블은 데이터베이스 내에 빈 테이블로 남는다.
  • (1) DELETE FROM EMPLOYEE
    • WHERE LNAME='Brown’ ;

(2) DELETE FROM EMPLOYEE

    • WHERE SSN='123456789’ ;

(3) DELETE FROM EMPLOYEE

    • WHERE DNO IN (SELECT DNUMBER
    • FROM DEPARTMENT
    • WHERE DNAME='Research’ ) ;

(4) DELETE FROM EMPLOYEE ;

  • Data Modification Language

Presented by Hyung Su Kim (ISA)

slide114

UPDATE

  • UPDATE 명령은 하나 이상의 투플에서 복수의 속성값을 변경시키는 작업을 수행한다.
  • SET절과 항상 함께 쓰여지며 SET은 변경할 애트리뷰트와 그들의 새로운 값을 지정한다.
  • (1) 위치를 'Bellaire'로 변경하고, 프로젝트 10번을 담당하는 부서의 번호를 5로 변경하라.
    • UPDATE PROJECT
    • SET PLOCATION='Bellaire', DNUM=5
    • WHERE PNUMBER=10 ;

(2) 'Research' 부서에 있는 모든 종업원들의 봉급을 10% 인상하라.

    • UPDATE EMPLOYEE
    • SET SALARY=SALARY*1.1
    • WHERE DNO IN (SELECT DNUMBER
    • FROM DEPARTMENT
    • WHERE DNAME='Research') ;
  • Data Modification Language

Presented by Hyung Su Kim (ISA)

4 exercise

학번

교수

번호

개념적 설계의 완성

이름

지 도

학사 관리 시스템

학 생

교 수

이름

학년

학과

시간

장소

?

강 의

등 록

과 목

과목

번호

과목

이름

학점

4. Exercise

개념적 설계단계

물리적 설계

논리적 설계

구현

Presented by Hyung Su Kim (ISA)

logical design116

개념적 ER 모델

학번

교수

번호

이름

지 도

학 생

교 수

이름

학년

학과

시간

장소

강 의

등 록

과 목

과목

번호

과목

이름

학점

Logical Design

논리적 개체 연관 모델의 준비

속성 및 값 타입의 확정

기수성의 고려

Presented by Hyung Su Kim (ISA)

slide117

번호

시간

문자

학번

번호

문자

교수번호

이름

시간

장소

문자

학과

N

1

이름

문자

지 도

학 생

교 수

학년

학과

문자

M

숫자

M

직책

주소

문자

문자

N

N

강 의

등 록

과 목

학기

학기

숫자

숫자

과목번호

과목이름

학점

번호

문자

숫자

논리적 개체 연관 모델의 작성

속성

개체

연관

기수성

값 타입

Presented by Hyung Su Kim (ISA)

slide118

개체 및 연관 타입의 속성 목록 작성

개체 타입 속성 목록

Presented by Hyung Su Kim (ISA)

slide119

개체 및 연관 타입의 속성 목록 작성

연관 타입 속성 목록

Presented by Hyung Su Kim (ISA)

slide120

릴레이션 설계방식 1

연관타입이 하나의 릴레이션의 변환

연관타입의 속성이 다수 기수성을 가진

개체타입의 릴레이션에 통합

릴레이션 설계방식 2

좌측 개체타입의 릴레이션에 통합

릴레이션 설계방식

우측 개체타입의 릴레이션에 통합

릴레이션 스키마의 설계

기수성에 따른 가능한 릴레이션 설계의 법칙

논리적 ER모델에 나타난 개체간의 기수성

Presented by Hyung Su Kim (ISA)

slide121

릴레이션 스키마의 설계

STUDENT

PROFESSOR

SUBJECT

LECTURE

REGISTRATION

Presented by Hyung Su Kim (ISA)

physical design
Physical Design

Presented by Hyung Su Kim (ISA)

database development
DATABASE Development

학생 테이블의 생성

CREATE TABLE STUDENT (

STU-NO INTEGER NOT NULL,

NAME CHAR(10) NOT NULL,

DEPT CHAR(20) NOT NULL,

YEAR DATE NOT NULL,

ADDR VARCHAR2(30) NOT NULL,

PRF-NO INTEGER,

TIME TIME,

LOCATION VARCHAR2(30),

PRIMARY KEY (STU-NO));

Presented by Hyung Su Kim (ISA)

example materials other issues

Chapter 5

Example materials & Other Issues
  • Information Technologies relevant to DB
  • Q & A

Presented by Hyung Su Kim (ISA)

1 information technologies relevant to db
1. Information Technologies relevant to DB

OLTP vs. OLAP

OLTP(On-Line Transaction Processing)

전통적인 컴퓨터 시스템의 형식으로 데이터의 재가공 없이

온라인상에서 사용자에게 필요한 데이터를 전송, 처리해주는 방식

신용카드조회업무, 자동현금지급 등 금융전산관련부문에서 많이 이용

보고서

저장

데이터

데이터

보고서

데이터

통신제어기(컴퓨터)

Presented by Hyung Su Kim (ISA)

slide126

OLTP vs. OLAP

OLAP(On-Line Transaction Processing)

OLTP에 상대되는 개념. OLAP은 최종 사용자가 다차원 정보에 직접 접근하여 대화식으로 정보를 분석하고 의사결정에 활용하는 과정.

Presented by Hyung Su Kim (ISA)

slide127

OLTP vs. OLAP

Comparison

Presented by Hyung Su Kim (ISA)

slide128

OLTP vs. OLAP

Comparison(Continued)

Presented by Hyung Su Kim (ISA)

slide129

OLTP vs. OLAP

Comparison(Continued)

Presented by Hyung Su Kim (ISA)

slide130

Data Warehouse

Definition

기업 의사결정 과정을 지원하기 위한 주제 중심적이고, 통합적이며,

시간성을 가지는 비휘발성 자료의 집합 (Bill Inmon, 1992)

의사 결정 지원용으로 특별히 설계된 주제 중심적인 정보 저장고(Meta Group, 1996)

기업 내의 의사결정 지원 어플리케이션들을 위한 정보기반을 제공하는

하나의 통합된 데이터 저장공간 (Sean Kelly, 1994)

Data Warehousing

질 높고 통합된 전사 데이터를 비전문적 최종사용자와 전문적인 사용자가

공히 쉽게 접근할 수 있는 제반시설 (Ken Orr, 1996)

OLAP을 구현하기 위한 정보기반 (조재희, 1996)

Presented by Hyung Su Kim (ISA)

slide131

Data Warehouse

Data warehousing Framework

Presented by Hyung Su Kim (ISA)

slide132

Data Mining

Definition

데이터마이닝

일반적인 기법들이 미처 발견하지 못한 기업 데이터베이스 내에 숨겨져 있는

유용한 패턴을 발견한다.

일반적으로 데이터마이닝은 사용자의 개입 없이 혹은 최소한의 개입으로 데이터로부터

유용한 추세나 패턴을 자동적으로 추출할 수 있는 기법의 사용을 말한다.

데이터웨어하우스와 데이터 마이닝

웨어하우스에는 여러 소스에서 추출/통합되어 일차 필터링된 깨끗한 데이터가 저장되므로

마이닝을 위한 데이터의 질과 일관성이 보장된다.

따라서 일단 데이터웨어하우스가 구축된 후 마이닝을 수행한다면, 데이터와 관련된 많은

문제들이 상당부분 해결될 수 있다.

즉 데이터웨어하우스는 마이닝에 필요한 형태의 정제된 데이터를 가지고 있으며

마이닝을 위한 좋은 기반을 제공한다.

Presented by Hyung Su Kim (ISA)

slide133

Data Mining

Data Mining Procedures

Presented by Hyung Su Kim (ISA)

slide134

Data Mining

Data Mining 기법

1. 연관규칙탐사

상품 혹은 서비스 간의 관계를 살펴보고 이로부터 유용한 규칙을 찾아내고자 하는 기법

상품이나 서비스의 거래기록데이터로부터 상품간의 연관성정도를 측정하여

연관성이 많은 상품들을 그룹화하는 클러스터링의 일종이며, 동시에 구매될

가능성이 큰 상품들을 찾아냄으로써 시장바구니분석에서 다루는 문제들에

적용될 수 있다.

연관규칙 : If A, then B(A->B) - 상품 A가 구매되어진 경우는 상품 B도 구매된다.

예) 맥주와 아기기저귀

Presented by Hyung Su Kim (ISA)

slide135

Data Mining 기법

2. 연속패턴탐사

동시에 구매될 가능성이 큰 상품 군을 찾아내는 연관성측정에 시간이라는 개념이

포함되어 순차적인 구매가능성이 큰 상품 군을 찾아내는 것이다.

연관규칙 : A->B - 상품 A가 구매되면 일정시간이 경과한 다음에는 상품 B가 구매된다.

예)컴퓨터를 산사람은 다음달에 레이저프린터를 산다.

3. 군집분석

고객수입, 고객연령과 같은 속성이 비슷한 고객들을 묶어서 몇 개의 의미있는 군집으로

나누는 것을 목적으로 한다.

전체가 너무 복잡할 때에는 몇 개의 군집을 우선 살펴봄으로써 전체에 대한 윤곽을

잡을 수 있다.

Presented by Hyung Su Kim (ISA)

slide136

Data Mining 기법

4. 의사결정트리 (Decision Trees )

분류 및 예측에 자주 쓰는 기법으로 DM의 응답여부등에 영향을 미치는 변수들과

변수들의 상호작용을 누구나 쉽게 이해할 수 있도록 굳이 통계학적인 용어를 쓰지

않고도 설명이 가능한 기법. 참고) Expert System의 휴리스틱 기법

5. 신경망 모형

인간이 경험으로부터 학습해 가는 두뇌의 신경망 활동을 흉내내어 자신이 가진

데이터로부터의 반복적인 학습 과정을 거쳐 패턴을 찾아내고 이를 일반화함으로써

특히 향후를 예측하고자 하는 문제에 있어서 유용하게 이용되는 기법

Presented by Hyung Su Kim (ISA)

2 q a
2. Q & A

대단히 감사합니다.

Presented by Hyung Su Kim (ISA)