systems analysis and design - ibzesder · pdf file7 why database design is important ?...

37
1 Systems Analysis and Design Systems Analysis and Design การวิเคราะห์และออกแบบ

Upload: dangbao

Post on 29-Mar-2018

221 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

1

Systems Analysis and DesignSystems Analysis and Design

การวเคราะหและออกแบบ

Page 2: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

2

Introduction to Database SystemIntroduction to Database System

Chapter Chapter 66

Page 3: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

3

File System and Database DBMS Functions

เนอหา

Page 4: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

4

Major Database ConceptsMajor Database Concepts

Data and Information - Data : Raw facts- Information : Processed data

Data management Database Metadata Database management system

Page 5: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

5

Importance Of DBMSImportance Of DBMS

ชวยจดการขอมลไดอยางมประสทธภาพ มภาษาในการเรยกคนขอมล(query language) ชวยในการตอบ

ค าถามแบบ ac hoc ไดอยางรวดเรว ชวยใหยสเซอรเขาถงและจดการขอมลไดดขน ชวยใหเหนภาพรวมการปฏบตขององคกร ชวยลดการขดแยงของขอมล (inconsistent data)

Page 6: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

6

The DBMS Manages the InteractionThe DBMS Manages the InteractionBetween the End User and the DatabaseBetween the End User and the Database

Page 7: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

7

Why Database Design Is Important ?Why Database Design Is Important ?

การออกแบบฐานขอมลทดชวยใหมความสะดวกในการจดการขอมลและไดสารสนเทศทมคา

การออกแบฐานขอมลทไมดท าใหไมสามารถควบคมการซ าซอนของงขอมล

การออกแบฐานขอมลทไมด ท าใหไดขอมลทผดและน าไปสการตดสนใจทไมถกตอง

Page 8: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

8

ไดเรยนรวธหลกเลยงการจดการขอมลทยงยาก ไดความรประโยชนในการเปลยนขอมลจากไฟลมาเปน

ฐานขอมล

Why Study File Systems ?

Page 9: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

9

Contents of the CUSTOMER File

Page 10: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

10

Basic File Terminology

Page 11: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ระบบระบบแฟมขอมลแฟมขอมล (File(File--based System)based System)

ระบบแฟมขอมล(File-based system) คอ ชดของโปรแกรมประยกตทใหผใชใชเพอประมวลผลงานทตองการ โดยแตละโปรแกรมกจะก าหนดและจดการแฟมขอมลของตนเอง

แฟมขอมลทใชในระบบไฟลจะแยกจากกนเปนเอกเทศ และอาจไมมความสมพนธกน

โดยสวนใหญขอมลและโปรแกรมมกรวมอยดวยกนเปนแฟมขอมล

Page 12: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ระบบแฟมขอมล ระบบแฟมขอมล (File(File--based System)based System)

ฝายบญช

โปรแกรมบญช การขาย ลกคา

ฝายขาย

โปรแกรมการขาย การขาย ลกคา สนคา

ฝายบคคล

โปรแกรมฝายบคคล พนกงาน

Page 13: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ขอจ ากดของการประมวลผลแบบแฟมขอมล

ขอมลถกแบงและเกบแยกจากกน (Island of Information) ขอมลมความซ าซอนกน (Data Redundancy) มความขนตอกนของโครงสราง (Structural Dependence) มความขนตอกนของขอมล (Data Dependence) โปรแกรมทใชงานมความคงทไมยดหยน

Page 14: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ขอจ ากดของการประมวลผลแบบแฟมขอมล

ขอมลถกเกบและเกบแยกจากกนเมอขอมลตาง ๆ ถกเกบกนไวคนละไฟล หากตองการน าขอมลตาง ๆ มาสรางเปนรายงาน โปรแกรมเมอรตองสรางไฟลชวคราว(Temporary file)ขนมา เพอดงขอมลตาง ๆ จากไฟลตาง ๆ มารวมกนกอน แลวคอยสรางเปนรายงาน

Page 15: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ขอจ ากดของการประมวลผลแบบแฟมขอมลขอจ ากดของการประมวลผลแบบแฟมขอมล

ขอมลมความซ าซอนสบเนองจากขอมลถกเกบแยกจากกน ท าใหไมสามารถควบคมความซ าซอนขอมลได ท าใหสญเสยพนทในการจดเกบขอมลมากขน และกอใหเกดความผดพลาดในการด าเนนการกบขอมล 3 ลกษณะ ไดแก

ความผดพลาดจากการเพมขอมล(Insertion anomalies) ความผดพลาดจากการปรบปรงขอมล(Modification anomalies) ความผดพลาดจากการลบขอมล(Deletion anomalies)

Page 16: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ขอจ ากดของการประมวลผลแบบแฟมขอมลขอจ ากดของการประมวลผลแบบแฟมขอมล

มความขนตอกนของโครงสรางเนองจากโครงสรางทางกายภาพและการจดเกบขอมลถกสรางโดยการเขยนโปรแกรมประยกต(Application program) ดงนนหากตองการเปลยนแปลงโครงสรางขอมล เชน ชอของพนกงาน จากเดม 20 ตวอกษร เปน 30 ตวอกษร มขนตอนการท างานดงน1. เปดไฟลหลกพนกงานเพออานขอมล2. เปดไฟลชวคราวทมโครงสรางคลายไฟลหลก แตปรบโครงสรางของชอพนกงาน จาก 20 ตวอกษร เปน 30 ตวอกษร3. อานขอมลจากไฟลหลก และยายไปเกบไวในไฟลชวคราว จนกระทงครบทกรายการ4. ลบไฟลหลกทง5. เปลยนชอไฟลชวคราวใหชอเดยวกบไฟลหลก

Page 17: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ขอจ ากดของการประมวลผลแบบแฟมขอมลขอจ ากดของการประมวลผลแบบแฟมขอมล

มความขนตอกนของขอมลเมอมการเปลยนแปลงรปแบบของขอมลเชน จาก text เปน integer ตองเขยนโปรแกรมใหม

Page 18: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ขอจ ากดของการประมวลผลแบบแฟมขอมลขอจ ากดของการประมวลผลแบบแฟมขอมล

โปรแกรมทใชงานคงทไมยดหยนระบบแฟมขอมล มความขนกบโปรแกรมประยกต ขอมลหรอรายงานตาง ๆ จะถกก าหนดรปแบบตายตวในโปรแกรมแลว ดงนนหากตองการรายงานใหม จะตองใหโปรแกรมเมอรเขยนโปรแกรมขนมาใหม ท าใหเสยคาใชจาย

Page 19: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

19

Contrasting Database and File System

Page 20: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

20

The Database System Environment

Page 21: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ความหมายของฐานขอมลความหมายของฐานขอมล

ฐานขอมล ฐานขอมล (Database)(Database) หมายถง โครงสรางของการจดเกบขอมลทมความสมพนธเกยวของกนไวในทเดยวกน เพอใหสามารถน าขอมลมาประมวลเพอชวยในการตดสนใจ และสามารถใชขอมลรวมกนได

ในการจดการขอมลในฐานขอมลจะใชซอฟตแวรประเภท ระบบจดการฐานขอมล(Database Management System : DBMS)

Page 22: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ฐานขฐานขอมล(Database))

ฐานขอมลมสวนทท าหนาทในการอธบายความหมายของรายการขอมลทเกบอยในฐานขอมลดวย เรยกสวนนวา บญชระบบ(System catalog) หรอ พจนานกรมของขอมล(Data Dictionary) หรอ เมตาดาตา(Meta - data)

Page 23: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ฐานขอมล(Database)

โครงสรางของขอมลจะถกแยกออกจากโปรแกรมประยกตและเกบเอาไวในสวนทเรยกวา “ฐานขอมล”

ถามการเพมหรอปรบปรงโครงสรางของขอมลกจะไมมผลกระทบกบโปรแกรมประยกต

Page 24: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

24

Hardware- Computer- Peripherals

Software- Operating systems software- DBMS software- Applications programs and utilities software

The Database System Components

Page 25: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

25

People- Systems administrators- Database administrators (DBAs)- Database designers- Systems analysts and programmers- End user

Procedureหมายถง ค าสงและกฎตาง ๆ ในขนตอนการปฏบตงานทเกยวของกบชดค าสง กฏเกณฑในการออกแบบและการใชงานฐานขอมล

Dataหมายถง ขอมลทจดเกบอยในฐานขอมล เพอน าไปใชในการประมวลตอไป

The Database System Components

Page 26: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ระบบจดการฐานขอมล(Database Management System : DBMS)

หมายถง ซอฟตแวรทใชในการจดการขอมลในฐานขอมล DBMS จะท าหนาทเปนตวกลางระหวางฐานขอมลกบโปรแกรม

ทมาใชงานฐานขอมลและผใชงานฐานขอมล ทตดตอไปยงฐานขอมลเพอท างานทผใชตองการใหส าเรจ

เชน การจดเกบขอมลลงในฐานขอมล , การคนหาขอมลทตองการออกมาแสดง หรอ การลบขอมล เปนตน

Page 27: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

หนาทของ DBMS

จดการพจนานกรมของขอมล(Data dictionary management) จดการการจดเกบขอมล(Data storage management) การแปลงขอมลและการน าเสนอขอมล(Data transformation

and presentation) การจดการดานความปลอดภย(Security management) ควบคมการเขาใชงานของผใชพรอมกน(Multiuser accesss

control)

Page 28: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

การจดการเรองการส ารองและกคนขอมล(Backup and recovery management)

การจดการความคงสภาพของขอมล(Data integrity management)

ภาษาในการเขาถงขอมลและสวนประสานผใชในโปรแกรมประยกต(Database access languages and application programming interfaces)

หนาทของ DBMS

Page 29: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ขอดของการใชงานฐานขอมล

มความเปนอสระตอกนระหวางโปรแกรมและขอมล ลดความซ าซอนของขอมล เพมความตรงกนของขอมล สามารถใชขอมลรวมกนได บงคบใหเปนมาตรฐานเดยวกนได ปองกนและควบคมการเขาถงขอมลไดงายขน ลดปญหาในการบ ารงรกษาโปรแกรม

Page 30: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ขอจ ากดของระบบการจดการฐานขอมล

ซบซอน(Complexity) ขนาดใหญ(Size) ราคาของDBMSแพง(Cost of DBMS) ราคาของฮารดแวรแพงตามไปดวย(Additional hardware

cost) คาใชจายในการแปลงระบบ(Cost of conversion) ผลกระทบจากความเสยหายสง(Higher impact of a failure)

Page 31: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ชนดของระบบฐานขอมล

ในการจ าแนกชนดของระบบฐานขอมลมเกณฑในการแบงเปน 2 ชนดคอ

แบงตามลกษณะการใชงาน แบงตามสถานทตง

Page 32: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ชนดของฐานขอมล:ลกษณะการใชงาน

ฐานขอมลทมผใชคนเดยว(Single-User) บางครงเรยกวา Stand alone database หรอ Desktop

database

Page 33: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ชนดของฐานขอมล:ลกษณะการใชงาน

ฐานขอมลทมผใชครงละหลายคน(Multi-User) ระบบฐานขอมลแบบนจะสนบสนนการใชงานของผใชหลายคนในเวลาเดยวกน

Page 34: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ชนดของฐานขอมล : สถานทตงของฐานขอมล ฐานขอมลแบบรวมศนย(Centralized Database System)

Client

Client

Client

Client

Server

Page 35: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

ชนดของฐานขอมล : สถานทตงของฐานขอมล

ฐานขอมลแบบกระจาย(Distributed Database System)

Page 36: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

Database Model

Hierarchical database model Network database model Relational database model Object oriented model

Page 37: Systems Analysis and Design - Ibzesder · PDF file7 Why Database Design Is Important ? การออกแบบฐานข้อมูลที่ดีช่วยให้มีความสะดวกในการจัดการข้อมูล

EndEnd