19
Database Design Database Development Lifecycle

Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Design

Database Development Lifecycle

Page 2: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Why Database? From Data …

Simple dumping of data on the storage medium provides little value.

Database Design 2

id name address country pay due100 J. Rodney 12 High Rd., Leeds UK 33.75523 E. Hoover 52 Ln. Muncie, IN USA 0800 M. Old Box. 9, Miami, FL USA 12.50

product_id title cost sale price123-19-20 Joy of Living 12.50 19.25169-15-34 Learning Judo 20.00 25.00354-90-33 Your Dream Home 18.25 24.25

PRODUCT

CUSTOMER

SALEid zone product_id quantity total price100 UK 123-19-20 2 38.50523 USMW 354-90-33 1 24.25100 UK 169-15-34 1 25.00800 USSE 123-19-20 1 19.25

Page 3: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

The goal is not just storage of data, but ultimately the extraction of information to support decision making by key people and groups in the organization. Data → Information (e.g. reports, tabulations, graphs) → Decisions

Sales of Titles in the UK Zone

0

10

20

30

40

50

Joy of Living Learning Judo

Titles

Tota

l Sal

es ($

)

Database Design 3

- Summarized fact or information -* In the UK ZONE, Joy of Living had a sale of

$38.50, and Learning Judo had a sale of $25.** UK ZONE had the total sale of $63.50, USMW

had $24.25, and USSE had $19.25.

Title UK USMW USSE totalJoy of Living 38.50 19.25 57.75Learning Judo 25.00 25.00Your Dream Home 24.25 24.25

63.50 24.25 19.25 107.00

SALE by Zone**

*

Why Database? … Towards Information

Page 4: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Design 4

Database Systems: Design, Implementation, & Management: Rob & Coronel

(DBMS)

Why Database? … For Decision Making

Page 5: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Design: Intro

Database SystemProvides data collection 수집, storage 저장, and retrieval 검색Composed of people, hardware, software, database(s), procedures, and application programs

Database DesignFoundation of a successful database system 휼륭한 DB system의 기반

Should promote• Data integrity 데이터 무결성

• Prevent data redundancies 반복 & anomalies 오류Must yield a database that• is efficient in its provision of data access 효율적인 데이터 접근

• meet the objectives of the database system and serves the needs of its users DB시스템의 목적과 이용자의 요구 만족

Database Design 5

Page 6: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Data Redundancy (데이터의반복성)

Database Systems: Design, Implementation, & Management: Rob & Coronel

Database Design 6

Page 7: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Data Anomaly 데이터의오류

Database Design 7

Update Anomalies 수정오류- Data inconsistencies resulting from “islands of information” problem

Insertion Anomalies 삽입오류- Creation of bogus record when adding new data (e.g. new agent)

Deletion Anomalies 삭제오류- Unintended deletion of related data (e.g. agent data when deleting customer)

Database Systems: Design, Implementation, & Management: Rob & Coronel

Page 8: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Development System Construction 시스템 구축

System Analysis 시스템 분석• Establish the need and extent of a systemSystem Development 시스템 개발• Design & implement the system

Database Construction DB 구축

Planning & Analysis 기획분석→ Analyze data environment & Define database objectives

Database Development• Design 설계

→ Construct a data model & establish data management processes

• Implementation 구현→ Create the storage structure (e.g., tables) & user interface for data management

• Maintenance 유지보수→ (corrective & adaptive) modification, backup & recovery

Database Design 8

Page 9: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Development Lifecycle

Planning & Analysis기획분석

Design개념 설계

Implementation구현

Maintenance정비

• Database Objectives

• Business Rules• Data Model

• DBMS Tables• User Interface• SQL Queries

• Modification• Backup & Recovery• Security

Database Design 9

Page 10: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Lifecycle: Planning & Analysis

Define Database Objectives DB목적설정 What will the database (DB) do?

• What tasks 업무/작업will the DB support?→ Data Entry, Update, Search

• What information will the DB provide?→ Q & A

← Study the DB environment• How does the business operate?• Who are the players?• How does the information flow?

← Examine the data

Database Design 10

Planning & Analysis Database Design Implement Maintain

Sample Q&A: Recipe Database

Query Result

recipe name recipe info (ingredients, steps, …)

ingredients

recipe names → recipe info

main ingredient (meat, fish, …)

recipe type (diet, diabetic, …)

recipe category (soup, desert, …)

budget, time

Page 11: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Lifecycle: Database Design

Create a Database Model DB 모델 제작

→ that can achieve the database objectives

1. Conceptual Design – ER Modeling2. Logical Design – Relational Schema & Normalization3. Physical Design – Schema into DBMS (Table Creation)

What is a Database Model?→ Abstract data structure of the real-world items실제 항목의 추상적인 data 구조

← Need to understand how business works & what role data plays

Database Design 11

Planning & Analysis Database Design Implement Maintain

Page 12: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Design: Conceptual Design

Conceptual Design Steps1. Enumerate the Business Rules

→ How does the business work?

2. Construct the Data Model→ Identify Entities, Relationship, Attributes & draw an ER Diagram

3. Verify the Data Model→ Does the data model support the fulfillment of database objectives?

Database Design 12

Planning & Analysis Database Design Implement Maintain

Conceptual Design

Page 13: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Conceptual Design: Business Rules

What 조직 내 정확한 업무 기술

Brief, precise, and unambiguous descriptions of operations in an organization• Based on policies, procedures, or principles within a specific organization

Why 정확한 data model 설계를 위하여

Promote creation of an accurate data model← Enhance understanding & facilitate communication

How (sources)Interviews, Documentation, Observation

Examples• A painter can draw many paintings.

A painting is drawn by a single painter.

• A teacher can teach 0 to 6 courses per semester.• A course is taught by a single teacher. • A student must take at least 1 and at most 6 courses.• A course can have 10 to 40 students.

PAINTER PAINTINGdraws1 M

TEACHER COURSEteaches1 M

STUDENT

takes

M

N

Database Design 13

Planning & Analysis Database Design Implement Maintain

Conceptual Design

Identify Businee Rules

Page 14: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Conceptual Design: Data Modeling

What is Data Modeling?A model is a representation of reality

that retains only carefully selected essential details.Logical organization of data

for optimum information extraction and data manipulation

Why Model? 주요한 data 요소들을 이해하고 인식하기 위하여

To understand and identify essential data elements

How?Identify Entities 개체, Attributes 속성, & Relationships 관계

STUDENT

TEACHER

ID

GPA

Major

Name

email

Office

Database Design 14

Planning & Analysis Implement MaintainDatabase Design

Conceptual Design

Identify Business Rules

Construct Data Model

Page 15: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Conceptual Design: E-R Model Verification

E-R model is verified against proposed system processes. Corroboration that intended processes can be supported

by the database model Careful reevaluation of the entities and

detailed examination of attributes Verification of business transactions

as well as system and user requirements

May reveal additional entity and attribute details.

Verification process is iterative.1. identify ER model’s central entity2. identify modules/subsystems & components3. identify transaction requirements

• update/insert/delete/query/report• user interface

4. verify all processes against ER model5. make necessary changes6. repeat steps 2 through 5

Database Design 15

Planning & Analysis Implement Maintain

Conceptual Design

Identify Businee Rules

Database Design

Verify Data Model

Construct Data Model

Database Systems: Design, Implementation, & Management: Rob & Coronel

Page 16: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Design: Relational Schema

Specification of the overall structure/organization of a database Relations

Entities w/ Attributes Primary key

• Unique identifier Foreign key

PK of related table Relationship type (connectivity)

• 1:M, M:N, 1:1

Database Design 16

Planning & Analysis Database Design Implement Maintain

https://www.coursera.org/learn/analytics-mysql/lecture/hDLIS/relational-schemas

Page 17: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Design: Data Dictionary

Detailed description of a data model• Lists attribute names and characteristics for each table in the database• Blueprint & documentation of a database

Database Design 17

Planning & Analysis Database Design Implement Maintain

Database Systems: Design, Implementation, & Management: Rob & Coronel

Page 18: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Database Design: Lifecycle1. Define Database Objectives DB 목적 설정

What information will the database provide?

2. Examine the Data Environment data 환경 조사

How does the business work & what data are used?

3. Construct the Data Model data모델 구축

a. Enumerate the Business Rule.b. Identify Entities & Relationships between them.c. Define Attributes (and primary & foreign keys) for each entityd. Create an initial E-R diagrame. Normalize the entities 개체 정규화

→ Process for evaluating & designing good table structures

4. Verify the Data Model data모델 확인

Does the data model support the database objectives?⇒ If not, modify the Data Model

Database Design 18

Page 19: Database Designwidit2.knu.ac.kr/~kiyang/teaching/DB/s20/lectures/3.DB... · 2020-04-28 · Why Database? From Data … Simple dumping of data on the storage medium provides little

Data Model: University Example

Database Design 19