system development life cycle : sdlc system …zomkid.net/doc/dbs/db_ch6.pdfว...
TRANSCRIPT
วชาระบบฐานขอมล 28/04/55
1
สมคด สทธธารธวช
1
บทท 6 การออกแบบระบบฐานข อมล
Database Design
Lecturer, Somkid Soottitantawat1
สมคด สทธธารธวช
2
2
วงจรชวตของการพฒนาระบบฐานข อมล วงจรชวตของการพ ฒนาระบบงานสารสนเทศ
(System Development Life Cycle : SDLC) วงจรชวตของการพ ฒนาระบบฐานข อมล
(Database Life Cycle : DBLC)
สมคด สทธธารธวช
3
3
System Development Life Cycle : SDLC
Feasibility Study
Requirement Collection and
Analysis
Design
Prototyping Implementation
Validation and Testing
Operation
สมคด สทธธารธวช
4
การพฒนาระบบงานสารสนเทศ โดยท วไป จะดาเนนตามขนตอนตางๆ ทกาหนดไว ใน System Development Life Cycle (SDLC) แตเนองจาก SDLC มอยด วยกนหลายแนวทาง ด งนน จานวนและรายละเอยดของขนตอนตางๆ จงแตกตางก นไปตามแนวทางของSDLC ท จะเลอกใช
ขนตอนของ SDLC ซ งประกอบดวยขนตอนตางๆ ด งน
System Development Life Cycle : SDLC
สมคด สทธธารธวช
5
Feasibility Study เปนขนตอนท เก ยวข องกบการประเมนต นทนของทางเลอกตางๆ ในการพฒนาระบบงาน
สารสนเทศ เพ อพจารณาเลอกในการพฒนาระบบงานสารสนเทศท มความคมคามากท สด
Requirement Collection and Analysis ในขนตอนน จะเปนการเกบรวบรวมความต องการตางๆ จากผ ใช (User’s
Requirement) มาวเคราะห เพ อจาแนกถงปญหาและความต องการออกเปนกลม ซ งจะใช กาหนดขอบเขตให กบระบบงานสารสนเทศท จะพฒนาข น
Design ในขนตอนน นกพฒนาระบบงานสารสนเทศจะนาเอาปญหาและความต องการทางด านตางๆ
มาใช ในการออกแบบระบบงานสารสนเทศ ซ งแบงเปน 2 สวนคอ การออกแบบในสวนของโปรแกรม (Application Design) และการออกแบบในสวนของฐานข อมล (Database Design) โดยท การออกแบบใน 2 สวนน จะทาพร อมกน
สมคด สทธธารธวช
6
Prototyping ในขนตอนน สวนตางๆ ท ได ออกแบบไว จะถกนามาพฒนาต นแบบของระบบงาน
(Prototype) ซ งในปจจบน จะมTool จานวนมากท ชวยในการพฒนา เพ อนาต นแบบน ไปใช ตรวจสอบความถกต องของระบบงาน กอนนาไปใช งานจรง ซ งถ ามข อผดพลาดเกดข น กสามารถนาไปเปนข อมลสาหรบขนตอนRequirement Collection and Analysis ได ใหม
Implementation เปนขนตอนท นาเอาระบบงานสารสนเทศท พฒนาเสรจเรยบร อยไปทดลองใช งาน
Validation และ Testing เปนขนตอนการตรวจสอบความถกต องของระบบงานสารสนเทศท พฒนาข น
Operation เปนขนตอนสดท าย ซ งแนใจแลววา ระบบงานสารสนเทศท พฒนาข น สามารถทางานได อยาง
ถกต อง จงเร มนาข อมลตางๆ มาใช งานจรง
วชาระบบฐานขอมล 28/04/55
2
สมคด สทธธารธวช
7
7
Database Life Cycle : DBLC
Database Design
Implementation and Loading
Testing and Evaluation
Operation
Maintenance and Evolution
Database Initial Study Problem Analysis
Feasibility Study
User Requirement Analysis
สมคด สทธธารธวช
8
วงจรชวตของการพฒนาระบบฐานข อมล (Database Life Cycle) หรอทเรยกอยางยอวา DBLC เปนขนตอนท กาหนดข น เพ อใช เปนแนวทางในการพฒนาระบบฐานข อมลข นใช งาน ซ งประกอบด วยขนตอนตางๆ ดงน
Database Initial Study เปนขนตอนแรกของการพฒนาระบบฐานขอมลขนใช งาน ในขนตอนน จะต องวเคราะหความ
ตองการตางๆ ของผ ใช เพ อกาหนดจดมงหมาย ปญหา ขอบเขต และกฎระเบยบตางๆ ของระบบฐานขอมลท จะพฒนาขน เพ อใช เปนแนวทางในการออกแบบฐานขอมลในขนตอนตอไป
Database Design ในขนตอนน จะนาเอารายละเอยดตางๆ ท ได จากการวเคราะหในขนตอนแรก มาใช เปนแนวทาง
ในการออกแบบฐานขอมลขนใช งาน สาหรบแนวทางท นยมใช ในการออกแบบฐานขอมลได แก แนวทางแบบ Data-driven และแนวทางแบบ Joint data and Function-driven
Database Life Cycle :DBLC
สมคด สทธธารธวช
9
Implementation and Loading ขนตอนนเปนขนตอนท นาเอาโครงรางตางๆ ของระบบฐานขอมลท ได จากการออกแบบใน
ขนตอน Database Design มาสรางต วฐานขอมลท จะใช เกบขอมลจรง รวมทงทาการแปลงขอมลของระบบงานเดม ให สามารถนามาใช งานในระบบฐานขอมลท พฒนาขนใหม ในกรณท ระบบเดมมการใช คอมพวเตอรในการประมวลผล
Testing and Evaluation เปนขนตอนของการทดสอบระบบฐานขอมลท พฒนาขน เพ อหาขอผดพลาดตางๆ รวมทงทา
การประเมนความสามารถของระบบฐานขอมลนน เพ อนาไปใช เปนแนวทางในการปรบปรงให ระบบฐานขอมลท พฒนาขนนน สามารถรองรบความตองการของผ ใช ในด านตางๆ ได อยางถกต อง และครบถวน
Database Life Cycle :DBLC (ตอ)
สมคด สทธธารธวช
10
Operation เปนขนตอนท นาเอาระบบฐานขอมลท พฒนาขนเสรจเรยบรอยแลว ไปใช งานจรง
Maintenance and Evolution เปนขนตอนท เกดขนระหวางการใช งานระบบฐานขอมลจรง เพ อบารงรกษาให ระบบฐานขอมล
ทางานได อยางมประสทธภาพ รวมทงเปนขนตอนของการแกไข และปรบปรงระบบฐานขอมล ในกรณท มการเพ ม หรอเปล ยนแปลงความตองการของผ ใช ท สงผลกระทบตอระบบฐานขอมล
Database Life Cycle :DBLC (ตอ)
สมคด สทธธารธวช
11
การทางานในขนตอนการออกแบบฐานขอมลตามวงจรชวตของการพฒนาระบบฐาน ขอมลน จะมลกษณะเชนเดยวกบวงจรชวตของการพฒนาระบบงานสารสนเทศ คอ รายละเอยดท ได จากแตละขนตอนการออกพฒนาระบบฐานขอมล สามารถสะทอนกลบไปยงการทางานในขนตอนกอนหนา ซ งจะชวยปร บปรงและแกไขขอผดพลาดในการออกแบบของขนตอนทผานมาได อยางด
สมคด สทธธารธวช
12
User Requirement Analysis
ขนตอนนเปนข นตอนแรกของการพฒนาระบบฐานข อมลข นมาใชงาน คอ การสารวจความตองการใชงานซ งถอได วาเปนขนตอนท มความ สาค ญมาก
วธสารวจความตองการของผ ใช สามารถทาได หลายทาง เชน 1. การศกษาจากเอกสารหรอรายงานท ใช ในระบบงานนนๆ
2. การใช แบบสอบถาม
3. การพดคยกบผ ใช โดยตรง (การสมภาษณ)
วชาระบบฐานขอมล 28/04/55
3
สมคด สทธธารธวช
13
User Requirement Analysis
ความตองการของผ ใช สามารถแบงออกเปน 2 กลม ด งน
1. ความตองการทางด านโปรแกรม
(Application Requirement)2. ความตองการทางด านข อมล
(Data Requirement) สมคด สทธธารธวช
14
ความตองการทางดานโปรแกรม (Application Requirement)
ได แก ความต องการของผ ใช ด านตางๆ ท เกยวข องกบการทางานของระบบงาน ทงเปนของระบบงานปจจบน และของระบบงานสารสนเทศทต องการพฒนาขน เชน ขนตอนการทางานของระบบงานปจจบน รายละเอยดของแตละ
ขนตอนของการทางาน ความสามารถ ท ผ ใช ต องการให ปรากฏอยในแตละขนตอนการทางานของระบบงานใหม ฯลฯ
สมคด สทธธารธวช
15
ความตองการทางดานโปรแกรม (Application Requirement)
การนาเสนอรปแบบของผลลพธ (Output) หนาจอการบนทกขอมล (Input) และความสามารถในการจ ดการขอมล เชน การเพม การลบ หรอการแกไขขอมล เปนตน
รปแบบการคานวณหรอการประมวลผลขอมลมขนตอนวธการอยางไรกฎเกณฑขอบงค บตางๆ เชน การบนทกขอมลพนกงาน กาหนดวาพนกงาน
แตละคน หามสงก ดอยในแผนกตางๆ มากกวาหน งแผนก เปนตน
นอกจากน ยงต องคานงถงการควบคมความคงสภาพของขอมลเม อมการจ ดการกบขอมลใดๆ รวมทงการร กษาความปลอดภยของระบบอกด วย
สมคด สทธธารธวช
16
ความตองการทางดานข อมล (Data Requirement) ได แก ความตองการของผ ใช ด านท เก ยวของก บตวขอมลของระบบงาน
ซ งจะแฝงอยในรายละเอยดของขนตอนการทางานตางๆ เชน ขนตอนในการจายเงนเดอนให แกพนกงาน จะใช สลปเงนเดอนเพ อ
แจ งรายได ให แกพนกงานแตละคนทราบ ซ งภายในสลปเงนเดอน ประกอบดวย รหสพนกงาน ซ อสกล เดอน ประเภทรายได จานวนเงนตามแตละประเภทรายได จานวนเงนประก นสงคมทหก จานวนเงนภาษท ห ก ฯลฯ เปนตน ซ งความตองการทางด านขอมลของตวอยางน กคอรายละเอยดของขอมลตางๆ ทปรากฏอยในสลปเงนเดอน
สมคด สทธธารธวช
17
User Requirement Analysis เคร องมอท ใช ในการเกบรวบรวมข อมล เพ อสารวจความ
ต องการของผ ใช มด งน เอกสาร (Documentation)
แบบสอบถาม (Questionnaires)
การส มภาษณ (Interview)
การส งเกต (Observation)
17
สมคด สทธธารธวช
18
เอกสาร (Documentation)
การค นหารายละเอยดจากเอกสาร จะทาให ได ข อมลท มากและงายตอการรวบรวม
ต วอยางเชน แบบฟอรมเอกสารตางๆ รายงานตางๆ รวมท งการไหลของเอกสารภายในหนวยงาน
การเกบรวบรวมข อมลโดยใช เอกสารน จะทาให เข าใจข นตอนการทางานของระบบโดยรวม ข อมลการปฏบ ตงานในระบบ ทราบท มาท ไปของระบบ และทราบถงผ ท เก ยวข องภายในระบบวามใครบ าง ทาให การตดตอส อสารระหวางผ พ ฒนาก บผ ใช งานมความเข าใจตรงก น
18
User Requirement Analysis
วชาระบบฐานขอมล 28/04/55
4
สมคด สทธธารธวช
19
แบบสอบถาม (Questionnaires)
แบบสอบถามสามารถเกบรวบรวมข อมลได เปนจานวนมาก และในพนท กว าง ประหย ดเวลาในการเดนทาง
เปนวธเกบข อมลทางอ อม เหมาะก บองคกรท มจานวนพน กงานจานวนมาก
ข อควรคานงในการออกแบบสอบถามไมควรตงคาถามท มความเอนเอยงหรอเปนอคต
ไมควรตงคาถามในล กษณะชนา
ควรออกแบบสอบถามท ครอบคลมถงบคคลหรอหนวยงานท ตองการทราบข อมลด วย
ควรใหผ เช ยวชาญทาการตรวจสอบคณภาพของคาถามในแบบสอบถามกอนนาไปใช
19
User Requirement Analysis
สมคด สทธธารธวช
20
แบบสอบถาม (Questionnaires) (ตอ)
ชนดของแบบสอบถาม
คาถามปลายเปด
คาถามปลายปด
20
User Requirement Analysis
สมคด สทธธารธวช
21
แบบสอบถาม (Questionnaires) (ตอ)
ชนดของแบบสอบถาม
คาถามปลายเปด
เปนคาถามท สร างข นเพ อให ผ ตอบแบบสอบถามมอสระในการตอบ
ไมควรตงคาถามในลกษณะกว างเกนไป อาจทาให ผ ตอบสบสนได และได รบคาตอบท ไมถกต อง
ควรตงคาถามท แคบพอเพยง ซ งจะท าให ผ ตอบ ตอบได ตรงประเดนมากกวา
ประโยชนคอ จะได รบความคดเหนท มความละเอยดเพ อนาไปใช เปนแนวทางปฏบตหรอข อเสนอแนะตางๆ
21
User Requirement Analysis
สมคด สทธธารธวช
22
แบบสอบถาม (Questionnaires) (ตอ)
ชนดของแบบสอบถาม
คาถามปลายเปด
22.................................................................................................................................................
1. ปจจบ นทานทางานในตาแหนงใด...........................................................2. ทานทางานในหนวยงานน เปนระยะเวลา.........................ป.........เดอน3. ปจจบ นทานอาย .......................ป
20. ถาทานเปนผ บรหาร ทานมแนวทางอยางไรในการปรบปรงการดาเนนงานใหเกดประสทธภาพ
.................................................................................................................................................
......
User Requirement Analysis
สมคด สทธธารธวช
23
แบบสอบถาม (Questionnaires) (ตอ)
ชนดของแบบสอบถาม
คาถามปลายปด
เปนคาถามท มการกาหนดคาตอบให ผ ตอบแบบสอบถาม
ตองมรายการคาตอบตางๆหรอตวเลอกคาตอบท มความชดเจน แยกแยะความแตกตางได ช ด
คาถามปลายปดสามารถนามาประยกตด วยการใช คอมพวเตอรค านวณหาคาสถตตางๆได เชน การใช โปรแกรม SPSS ท าการวเคราะหหาคาเฉล ย เปรยบเทยบความต องการในแตละเร อง เปนต น
23
User Requirement Analysis
สมคด สทธธารธวช
24
แบบสอบถาม (Questionnaires) (ตอ)
ชนดของแบบสอบถาม
คาถามปลายปด
24
1. ทานจบการศกษาสงสดระดบใด[ ] อนปรญญา [ ] ปรญญาตร
[ ] ปรญญาโท [ ] ปรญญาเอก2. ทานคดวาการนาระบบสารสนเทศเข ามาใช ในหนวยงานสามารถชวยแกปญหาในการ
ดาเนนงานไดมากนอยเพยงไหน [ ] นอย [ ] ปานกลาง [ ] มาก
User Requirement Analysis
วชาระบบฐานขอมล 28/04/55
5
สมคด สทธธารธวช
25
แบบสอบถาม (Questionnaires) (ตอ)
เปรยบเทยบประเภทของคาถามในประเดนตางๆ
25
ประเดน คาถามปลายเปด คาถามปลายปด
การสร างคาถาม ใช เวลานอย/งาย ใช เวลามาก/ยาก
ความรวดเรวในการตอบแบบสอบถาม ช า เรว
การแสดงความคดเหนสวนตว ดมาก ถกจากดดวยคาตอบ
การนาข อมลไปวเคราะหผลทางสถต มกใช เปนข อเสนอแนะ ด/นยม
User Requirement Analysis
สมคด สทธธารธวช
26
การส มภาษณ (Interview)
เปนการเกบขอมลแบบทางตรงด วยการสนทนากน
เปนวธการหนงท สามารถทาการเกบขอมลได อยางละเอยด สามารถซกไซ ในคาถามเพ อให เกดความเขาใจในปญหา รวมถงสถานการณตางๆท เกดขนในหนวยงาน
การสมภาษณขนอยกบประสบการณของผส มภาษณในการพดช กนาปญหาตางๆได ตรงประเดน ส งเกตความร สกของผถกส มภาษณได จากสหนาและทาทางได ด
26
User Requirement Analysis
สมคด สทธธารธวช
27
การส มภาษณ (Interview)
การสมภาษณจะสาเรจลลวงด วยด ถ ามการรวมมอกนทงสองฝาย
คาถามท ใช อาจเปนประเภทเดยวกบแบบสอบถามหรอใช แบบสมภาษณท เปนมาตรฐาน หรอสรางแนวสมภาษณขนเอง ซ งขนอยกบว ตถประสงคท ต องการเปนหลก
27
User Requirement Analysis
สมคด สทธธารธวช
28
การส มภาษณ (Interview)
ขอควรคานง
กอนการสมภาษณควรมการนดหมาย และเกบขอมลเบ องตน รวมทงกฎระเบยบตางๆของหนวยงานหรอองคกรทต องการเขาไปสมภาษณ
แนะนาโครงการททาให ทราบและชดเจน
ควรเร มทาการสมภาษณบคคลในระด บบรหารกอน
ควรสร างบรรยากาศใหเกดความเปนกนเองมากท สด
สนทนากนจนสามารถเกดความไว วางใจซ งก นและก น 28
User Requirement Analysis
สมคด สทธธารธวช
29
การส มภาษณ (Interview)
ขอควรคานง
ควรปดเคร องมอส อสารกอนการสมภาษณ เพราะอาจสร างความราคาญและทาให เสยบรรยากาศได
คาถามท ถามควรชดเจนไมอ อมค อม และเปนคาถามท เตรยมลวงหน ามากอน
อยาสมภาษณวกไปวนมา ซ งสามารถสร างความสบสนตอผ ถกสมภาษณได
หลกเล ยงคาพดในลกษณะการโต แย ง ควรเปนเสนอแนวทางหรอความคดเหนเปนหลก
29
User Requirement Analysis
สมคด สทธธารธวช
30
การส มภาษณ (Interview)
ขอควรคานง
ตองเปนผ ฟงท ดและจบประเดนสาคญๆได ด เพ อจะได สรปผลจากการสมภาษณ
บางครงในการสมภาษณอาจมการอดเทปด วย อาจทาให ผ ถกสมภาษณเกดอาการเกรงในการตอบคาถามและไมเปนธรรมชาต ดงนนผ ส มภาษณควรพจารณากรณน เปนพเศษด วย
30
User Requirement Analysis
วชาระบบฐานขอมล 28/04/55
6
สมคด สทธธารธวช
31
การส งเกต (Observation)
เปนการเกบขอมลทางตรงวธหน ง ด วยการเฝาสงเกตดการปฏบตงานของบคคลตางๆในขณะท ทางานอย
เปนเพยงการศกษาพฤตกรรมการทางาน โดยระหวางการเผฝาสงเกตนนจะมการบนทกขอสงเกตตางๆลงในแบบฟอรม เรยกวา “แบบฟอรมสงเกตการณ”
นาบนทกท ได มาทาการวเคราะห เพ อเปนขอมลประกอบการพจารณาปรบปรงเปล ยนแปลงวธการทางาน
31
User Requirement Analysis
สมคด สทธธารธวช
32
การส งเกต (Observation)
ผ ส งเกตสามารถทาการเปรยบเทยบส งท เปนจรงจากการสงเกตรวมกบส งท เปนเอกสาร
แตวธน ผ ส งเกตจะไมทราบทศนคต และความร สกของผถกส งเกตได
หากผถกส งเกตร วาทมงานไปสงเกตการณ อาจทาให การทางานดขนเปนพเศษหรอเลวลงกได
32
User Requirement Analysis
สมคด สทธธารธวช
33
สรป
การเกบรวบรวมขอมลเพ อวเคราะหความตองการของผใช จะมวธการคนหาขอมลด วยลกษณะตางๆ เชน จากเอกสาร แบบสอบถาม การสมภาษณ การสงเกต วาแตละลกษณะนนต องปฏบตอยางไร เพ อให ได Requirement ท ครบถวนตามตองการ
อยางไรกตามในเร องน ย งมปจจยอ นๆเขามาเกยวของด วย เชน คาใช จายในการลงทน เวลา และคน เปนตน
33
User Requirement Analysis
สมคด สทธธารธวช
34
ดงทกลาวมาแลววา ขนตอนการออกแบบระบบงานสารสนเทศของSDLC จะแบงการออกแบบเปน 2 สวน คอ การออกแบบในสวนของโปรแกรม และ การออกแบบในสวนของฐานขอมล ซ งทง 2 สวนนจะอยหลายแนวทางดวยกน ท สามารถนามาใช กาหนดขนตอนและวธการในการออกแบบได แตสาหร บแนวทางหนงท นยมนามาใช ในการออกแบบฐานขอมล ได แก แนวทาง Data-driven ซ งเปนแนวทางท ให ความสาค ญกบตวขอมลมากกวาต วโปรแกรม คอ ทาการออกแบบตวขอมลจนมความสมบรณกอนท จะทาการออกแบบตวโปรแกรมเปนลาด บตอไป ซ งจะแบงออกเปน 3 ขนตอนดงน
สมคด สทธธารธวช
35
การออกแบบฐานขอมล
สมคด สทธธารธวช
36
ข นตอนการออกแบบฐานข อมล (Database Design)
1. Conceptual Database Design เปนขนตอนท นาเอาความตองการทางด านขอมล(Data Requirement) มา
วเคราะห และใช ออกแบบฐานขอมล โดยมจดมงหมายเพ ออธบายโครงสรางหลกๆ ของฐานขอมล โดยไมสนใจวาจะใช โครงสรางขอมล หนวยสารองขอมล และต วDBMS ใด
การกาหนดคาโครงสรางในระด บเบองต น ซ งจะเปนแคแนวความคด ยงไมสามารถนาไปใช งานได จรง ประกอบไปดวย กาหนดชนดของ Entity กาหนดชนดของความส มพ นธ กาหนด Attribute ใหก บ Entity จ ดทา Attribute Domain กาหนด Primary Key เ ขยน E-R Diagram ทบทวนและตรวจสอบก บ user วาตรงก บทคยก นหรอไมอยางไร
วชาระบบฐานขอมล 28/04/55
7
สมคด สทธธารธวช
37
ข นตอนการออกแบบฐานข อมล (Database Design)
2. Logical Database Design ขนตอนนจะนาเอา Conceptual Schema มาแปลงให อยในรปแบบท ถก
กาหนดโดย Database Model ท เลอกใช ซ งอาจเปนHierarchical, Relational, Object-Oriented หรอ Network Model โดยไมสนใจต ว DBMS ใด
เปนกระบวนการสรางแบบจาลองของสารสนเทศท ใช ในองคกร ด วยการออกแบบใหมความชดจนย งขน มการคดเลอกโมเดลท ใช งาน โดยมงานท เก ยวของ คอ แปลงแบบจาลองแนวคดใหเปน logical ใชเทคนคการออกแบบ relation ดวยการ normalization ตรวจสอบแบบโมเดลอกคร งรวมก บ user เ ขยน e-r diagram กาหนดกฎเกณฑขอบ งค บความส มพ นธ ทบทวนในสวนของ local logical data model รวมก บ user ตรวจสอบโมเดลอกคร งวาสน บสนนการขยายเพมในอนาคตงายหรอไม
เ ขยน e-r diagram ข นสดทาย
สมคด สทธธารธวช
38
ข นตอนการออกแบบฐานข อมล (Database Design)
3. Physical Database Design ขนตอนนจะนาเอา Logical Schema มาแปลงให อยในรปแบบท ถกกาหนดโดย
DBMS ซ งจะกาหนดถงโครงสรางในการจดเกบ และวธในการเขาถงขอมล
ในขนตอนนเปนการออกแบบฐานขอมลเพ อใช งานจรง พจารณาถงแหลงจดเกบขอมล มรายละเอยดด งน เ ลอกใช DBMS ตามทตองการ เชน oracle, Informix, MS-Access ออกแบบขอบ งค บกฎเกณฑใน DBMS วเคราะหการใชงาน Transaction เ ลอกชนดโครงสรางแฟมขอมล จ ดการก บ index ขอมล พจารณาและควบคมความซาซอน ประมาณการการใชความจดสก ออกแบบกฎเกณฑการเขาถงขอมลและควบคมความปลอดภ ย
ตดตาม ตรวจสอบ และ ปร บปรงเพอใหการใชงานมประสทธภาพยงขนตอไป
สมคด สทธธารธวช
39
Data-driven Approachซ งทง 3 ขนตอนน สามารถแสดงดวยแผนภาพได ด งน
Requirements Analysis
Conceptual Design E-R Diagram
Logical DesignRelation (Table)
Normalization
Physical DesignData Dictionary
Output Design
Input Design
User Interface Design
Conceptual Schema
Logical Schema
Physical Schema
สมคด สทธธารธวช
40
ตวอยาง Conceptual Design
สมคด สทธธารธวช
41
ตวอยาง Logical Design
สมคด สทธธารธวช
42
ตวอยาง Physical Design
Hard disk ท ใช สาหร บจ ดเกบข อมลเปนแบบ SCSI มระบบ Raid เปน Raid 2
ระบบเครอขายท ใช ก บฐานข อมลเปน Fast Ethernet
10/100 Mbps
วชาระบบฐานขอมล 28/04/55
8
43
สมคด สทธธารธวช
การออกแบบฐานข อมลระดบความคด (Conceptual Database Design)
44
ข นตอนในการออกแบบฐานขอมล
Requirement Analysis
1. Conceptual Design
2. Logical Design
3. Physical Design
(ER-Model)
(Normalization)
Database Designer
(Relational Scheme)
สมคด สทธธารธวช
45
การออกแบบฐานขอมลระด บความคด เปนขนตอนแรกของการออกแบบฐานขอมล นาเสนอระบบฐานขอมลในลกษณะแผนภาพโดยใชโมเดลท เรยกวา
Entity-Relationship Diagram (E-R Diagram) เพ ออธบายโครงสร างหลก ๆโดยรวมของฐานขอมลทงระบบ
ผ ออกแบบฐานขอมลจะต อง กาหนดเอนตต และแอตทรบวต กาหนดคอนสเตรนต กาหนดความสมพนธ
หลงจากได เค ารางเชงแนวคดแลว ผ วเคราะหระบบจะนาเค ารางเชงแนวคดไปยนยนก บผ ใช ถงความตองการทงหมด เพ อให แนใจวาไมได หลงลมความตองการหรอขอมลบางสวนไป
สมคด สทธธารธวช
46
การออกแบบฐานขอมลมประโยชนอยางไร
เปนการวางแผนวาจะเกบข อมลตางๆ ท จ าเปนต องใช ในระบบงานไว ในตารางใดบาง โดยยงคงมความสมพนธระหวางข อมลไว ได และสามารถเรยกดข อมลท เกบไว เพอมาใช งานได ตามปกตมองเหนความสมพนธระหวางข อมลทงหมดท มอย โดยข อมล
บางตวอาจจะเกยวข องกบข อมลอนๆหลายตว อาจทาให เกดการเกบรายละเอยดของข อมลนนซ าซ อนกนได
สมคด สทธธารธวช
47
สารวจความต องการใช งาน(Requirement Analysis)
เปนขนตอนแรกทสาค ญมากตอระบบฐานขอมลจะร ความตองการของผ ใช งานและระบบได อยางไร
สมคด สทธธารธวช
48
จะร ความต องการของผ ใช งานได อยางไรศกษาเอกสารท ใช ในระบบงานนนๆการใชแบบสอบถามการพดคยก บผ ใช โดยตรงขอมลท เราจาเปนตองเกบรวบรวมเพ อนาไปใชในการออกแบบระบบ
ฐานขอมล ประกอบดวย ขอมลแตละตวท จ าเปนต องใช ในระบบงาน(Entity) รายละเอยดของขอมลนน(Attribute) ความสมพนธระหวางข อมลทงหมด(Relationship)
วชาระบบฐานขอมล 28/04/55
9
สมคด สทธธารธวช
49
ตงคาถาม ถามระบบ
วธท จะตรวจสอบวาความต องการท สารวจได เพยงพอท จะใช งานจรงแลวหรอไม คอ ลองตงค าถามทต องการดวาข อมลท จะเกบในฐานขอมลสามารถนามาใช ตอบคาถามนนๆได ท งหมดหรอไมถาตอบได กแสดงวาเราไมได ลมเกบข อมลท จ าเปนต องใช ตวอน
อก สมคด สทธธารธวช
50
Entity Relationship Data Model
โดย ดร.ปเตอร เชนน ราวป ค.ศ. 1976
ER data model จ ดเปน conceptual data model ท ใช ออกแบบฐานขอมลได อยางอสระ ไมต องคานงถงวาจะใช DBMS ชนดไหน ยห ออะไร ด วยคณสมบตเดนน ทาให ER-model เปนท นยมใขงานกนมากในการวเคราะหและออกแบบฐานขอมล
ผลการออกแบบดวย ER-model สามารถแสดงดวยรปภาพ หรอ ER-Diagram
นกวเคราะหและออกแบบสามารถใช E-R Diagram เสมอนเปนเคร องมอในการอธบายองคประกอบ(Basic Structure) และ ขอกาหนดเง อนไข(Integrity constraint) ของฐานขอมล
สมคด สทธธารธวช
51
Entity Relationship Data Model (ตอ)
นา E-R Diagram ไปใช ทบทวนยนยนความเข าใจท ถกต องกบ user ของระบบงานได เพราะ E-R Diagram ประกอบด วยสญลกษณท สอความหมายเข าใจได งายเมอได E-R Diagram ท ถกต องเหมาะสมกบระบบงานแลวและทราบ
แลววาจะใช DBMS ชนดใด จงจะทาการแปลง (Mapping) ให ได เปน Logical schema ทตรงกบ DBMS
สมคด สทธธารธวช
52
Entity-Relationship Diagram (E-R Diagram)
สวนประกอบของ E-R Diagram
เอนตต (Entity)
แอททรบวท (Attribute) ของแตละเอนตต
ความส มพ นธระหวางเอนตต (Relationship)
ดกรของความส มพ นธ (Degree of Relationship)
Cardinality of Relationships
สมคด สทธธารธวช
53
Entity
เอนตต(Entity) ส งท มอยในขอบเขตของระบบท เราสนใจ อาจเปน ส งของ คน สถานท
การกระทา เหตการณ โดยแตละเอนตต จะเกบเร องเดยวกน เชน นกศกษา , รถยนต, หนงสอ, การทาผด, เพลง, การเชา ,ประว ต
การทางาน, การประมล, การสมมนา, นาตก , บานเชา เปนต น สมคด สทธธารธวช
54
Attributeลกษณะหรอคณสมบตท นามาใช อธบายส งตาง(ๆEntity) และความสมพนธตางๆ
(Relationship) ในระบบงานเชน attribute ทนามาอธบาย Entity ของ ลกค า ในระบบงานขายสนค า ช อ สกล ท อย รายได สถานภาพ อาชพ
เชน attribute ทนามาอธบาย Entity ของ การลดราคา ในระบบงานแสดงสนค า ครงท ว นท เร มต น ว นสดท าย ช อสถานท จ ดงาน
เชน attribute ทนามาอธบาย Relationship ของซอสนค า ในระบบงานขายสนค า ว นท ซ อ ว นท ต องการสงสนค า จ านวนท ซ อสนค า
วชาระบบฐานขอมล 28/04/55
10
สมคด สทธธารธวช
55
Relationship
ความสมพนธระหวาง entity ตางๆ ซ งเปรยบเทยบได กบกรยาโครงสร างของ 1 ประโยค โดยท วไปประกอบด วย ประธาน กรยา กรรม ประธาน และ กรรม เปนคานาม เปรยบเปน Entity
กรยาแสดงความสมพนธระหวางประธานกบกรรม เปรยบเปน Relationship
เชน นกศกษา 1 คน เรยนได หลายๆวชาใน 1เทอม
สมคด สทธธารธวช
56
Degree of Relationship Degree ของชนดความสมพนธ คอ จานวนของชนดของ
entity ทมสวนรวมในความสมพนธนน Unary (Recursive) Relationship
ความส มพ นธภายใน entity เดยวก น
Binary Relationshipความส มพ นธระหวาง 2 entities
Ternary Relationshipความส มพ นธระหวาง 3 entities
สมคด สทธธารธวช
57
ต วอยาง ของ Degree of Relationship
พนกงาน หวหนางาน
1
mUnary
Mวชาเรยน หนงสอ
อาจารย
สอนM
M
Ternary
นกศกษา
ลงทะเบยน
วชาเรยน
Binary
M
M สมคด สทธธารธวช
58
Cardinality of Relationships
จานวน entity ตอ entity ในความสมพนธ
One to One relationship (1 to 1)One to Many relationship (1 to M)Many to Many relationship (M to M)
สมคด สทธธาร
ธว ช
59
Mapping Cardinalities
One to one One to many
สมคด สทธธาร
ธว ช
60
Mapping Cardinalities
Many to one Many to many
วชาระบบฐานขอมล 28/04/55
11
สมคด สทธธารธวช
61
One to One Relationship
ความสมพนธท แตละแถวของขอมลในเอนตต แรก สามารถจ บคก บขอมลในเอนตต ท สองได เพยงแถวเดยวเทานน
เชน ระบบขอมลมหาวทยาลย อาจารย 1 คน เปนคณบดได เพยง 1 คณะ และ แตละคณะ มอาจารยท เปนคณบดได คนเดยวเทานน
อาจารย เปนคณบด1 1
คณะ
สมคด สทธธารธวช
62
One to Many
ความสมพนธท แตละแถวของขอมลในเอนตต แรก สามารถจ บคก บขอมลในเอนตต ท สองได มากกวาหน งแถว
เชน ระบบส งซอสนค าของลกค า
ลกค า 1 คนส งซอใบส งซอได หลายใบ และ
ใบส งซอแตละใบ ถกส งซอจากลกค าเพยงคนเดยว
ลกคา สงซอ1 M
ใบสงซอ
สมคด สทธธารธวช
63
Many to Many
ความสมพนธท แตละแถวของขอมลในเอนตต แรก สามารถจ บคก บขอมลในเอนตต ท สองได มากกวาหน งแถว และในทางกลบกนขอมลแตละแถวของฝงเอนตต ท สองกสามารถจ บคก บขอมลในเอนตต แรกได มากกวาหน งแถว
เชน ระบบส งซอสนค าของลกค า
สนค า 1 อยาง ถกส งซ อตามใบส งซ อได หลายใบ และ
ใบส งซ อ 1 ใบส งซ อสนค าได หลายอยาง
สนคา ถกสงซอM M
ใบสงซอ
สมคด สทธธารธวช
64
Primary KeyAttribute หรอ กลมของ attribute ทแสดง
เอกล กษณของสงใดสงหนงได ด งนนสงตางๆ จะมคา primary key ไมซาก นเสมอ
สมคด สทธธารธวช
65
ส ญล กษณของER Model
สญลกษณ ความหมายส เหล ยมผนผ า เอนตต
เอนตต แบบออน(Weak Entity)ความสมพนธ
ER-Model ตามแบบของ Peter Pin Shan Chen
สมคด สทธธารธวช
66
ส ญล กษณของER model(ตอ)
สญลกษณ ความหมาย
ความสมพนธแบบออน(Weak Relationship)แอตทรบวต
แอตทรบวตท เปน primary key
วชาระบบฐานขอมล 28/04/55
12
สมคด สทธธารธวช
67
ส ญล กษณของER Model(ตอ)สญลกษณ ความหมาย
แอตทรบวตท มหลายคา
แอตทรบวตประกอบ (แอตทรบวตด านบนเปนสวนประกอบของแอตทรบวตด านลาง)
Partial Key เปน key ของ weak entity ซ งคาpartial key ซ ากนได
สมคด สทธธารธวช
68
ส ญล กษณของER model(ตอ)
สญลกษณ ความหมาย
ดไรฟแอตทรบ วต(derived attribute) เกบผลของการคานวณหรอแปลงคามาจากแอตทรบวเดม
ความสมพนธท ข อมลทกๆแถวในเอนตตE2 สามารถจ บคไดกบข อมลแถวใดแถวหน งของE1 ได เรยกวา ข อมลใน E2 เปน total participation กบ E1E1 E2R
สมคด สทธธารธวช
69
ส ญล กษณของER model(ตอ)
สญลกษณ ความหมาย
ความสมพนธท ข อมลทกๆแถวในเอนตตE1 สามารถจ บคไดกบข อมลแถวใดแถวหน งของE2 ไดเรยกวา ข อมลใน E2 เปน partial participation กบ E1
E1 E2R
สมคด สทธธารธวช
70
Participation Constraint เง อนไขการมสวนรวม คอ จ านวนต าสดของentity ท อก entityหน งม
ความสมพนธดวย ม 2 แบบคอ Total Participation
การท entity หน งentity จะตองมความสมพนธกบentity อ นอยางนอยหน ง entity เชน อาจารยทกคนตองสงกดอยางนอยใน หน งคณะ เปนตน การมสวนรวมทงหมดจะแสดงดวยเสนคทางดานชนดของentityท ทกentity ในชนดนนตองเข ารวมในความสมพนธ
อาจารย สงกด คณะM 1
สมคด สทธธารธวช
71
Participation Constraint(ตอ)
Partial Participation การทentity หน งentity มความสมพนธกบentity อ นอยางนอยศนยentity คอในชนดของentity เดยวกนอาจมบางentity ท มสวนรวมในความสมพนธนน ในขณะท บางentity ท ไมมสวนรวมในความสมพนธนนเลย เชน แผนกบางแผนกไมมพนกงานสงกดเลย และบางแผนกอาจมพนกงานสงกดหลายคน
การมสวนรวมบางสวนจะแสดงโดยใช เสนเดยวดานชนดของentity ท บางentityในชนดนนมสวนรวมในความสมพนธ เชน เสนเดยวจากentity แผนก
อาจารย สงกด แผนกM 1
สมคด สทธธารธวช
72
ประเภทของ attributeSimple Attribute คอ แอตทรบวท เกบคาได เพยงคาเดยวเทานนเชน
รหสลกค า ลกค า 1 คนมรหสลกค าได หมายเลขเดยว
Multi-valued attribute คอ แอตทรบวตท เกบคาได ตงแต1 คาข นไป เชน เบอรโทรศพท ของลกค า มท งเบอรบ าน เบอรมอถอ เปนต น
ลกคา เบอรโทรศพท
วชาระบบฐานขอมล 28/04/55
13
สมคด สทธธารธวช
73
ประเภทของแอตทรบวต(ตอ) Composite attribute คอ แอตทรบวตท ประกอบด วยแอตทรบวตหลายตวมา
รวมกนจงให ความหมายท ชดเจน
ชอ-สกล
ลกคา
ชอสกล
ทอย
ถนน
จงหวด
อาเภอ
สมคด สทธธารธวช
74
ประเภทของแอตทรบวต(ตอ)
Derived attribute คอ แอตทรบวตท เกบผลการคานวณหรอแปลงคามาจากแอตทรบวตอนๆเชน จ านวนเงน(ราคา*จ านวน)
แผนก
จานวนพนกงาน
รหสแผนก
Derived attribute
สมคด สทธธารธวช
75
Weak Entity
Weak entity ต องมคณสมบต 2 ขอ คอ 1. ไมม Primary Key มเพยง partial key (ซ งเปนคาท ซ ากน
ได) ด งนนนาเอา partial key ไปรวมกบ Primary key ของ Strong Entity กจะเปนคาท ไมซ าได
2. Weak entity ต องมความสมพนธกบ Strong Entity อยางนอย 1 entity คอ ลกษณะของการข นตอกน คอ การท เอนตตหน งจะเกดข นได นน ข นกบอกเอนตตหน งวาปรากฏอยหรอไม
สมคด สทธธารธวช
76
Weak Entity (ตอ)
ตวอยาง เอนตต พนกงานและเอนตต ญาตถ าไมมเอนตต พนกงานเอนตต ญาตกจะไมเกดข น
เอนตต ญาต เปน Weak Entity เอนตต พนกงาน เปน Entity
พนกงาน ม ญาต1 M
-ญาต เปน weak entity ท ไมม primary key โดยคณสมบต ลาดบท มคาซ ากนในรเลช น ญาต เพราะคณสมบต ลาดบท มคาซ าๆ กนได ในหลายญาต เชน ลาดบท 1 เปนญาต นายขาว และลาดบท 1 เปนญาต นายแดง
-ฝงชนดของentity ญาต เปนแบบ Total Participation
ลาดบท
รหสพนกงาน
สมคด สทธธารธวช
77
Weak Entities(ตอ)
ช อวชา(รหสวชา, ช อวชา)วชาท เปดสอน(รหสวชา*, ป-ภาค, กลม, เวลาเรยน)
วชา
เปดสอน
วชาทเปดสอน
1
M
รหสวชา
ชอวชา
รหสการเปดสอน
เวลาเรยน
ป-ภาค
กลม
สมคด สทธธารธวช
78
ต วอยาง Recursive Relationships
Course Precond.
วชาทลงทะเบยน
วชาทตองผานกอน
Course(CourseID, CourseName, Unit, PrecondCourseID*)
1
1
ตวอยาง การลงทะเบยนบางวชา จะต องเรยนวชาอ นมา 1 วชา (one to one)
วชาระบบฐานขอมล 28/04/55
14
สมคด สทธธารธวช
79
Recursive Relationships(ตอ)CourseID CourseName Unit PrecondCourseID*
4123201 Database Management System
3 4122202
4122202 Introduction to Database 3
4121202 Programming and algorithm 3
4122101 Programing Language 1 3 4121202 สมคด สทธธารธวช
80
ต วอยาง Recursive Relationships
Course Precond.
วชาทลงทะเบยน
วชาทตองผานกอน
Precondition(CourseID, PrecondCourseID)Course(CourseID , CourseName, Unit)
m
m
ตวอยาง การลงทะเบยนบางวชา จะต องเรยนวชาอ นมา1 วชาหรอหลายๆวชา(many to many)
สมคด สทธธารธวช
81
Recursive Relationships(ตอ)
CourseID CourseName Unit
4123601 Database Management System 34122202 Introduction to Database 3
4121202 Programming and algorithm 3
4122101 Programing Language 1 3
Course
CourseID PrecondCourseID
4123601 4122202
4123601 4122101
4121202 4121101
4122101 4121202
Precondition สมคด สทธธารธวช
82
ต วอยาง Recursive Relationships
ตวอยาง พนกงานท เปนหวหนา1 คน มลกนองได หลายคน ทงห วหนาและลกนองกเปนพนกงานทงค (one to many)
Employees Manage
หวหนา
ลกนอง
1
m
Employees( EmpID, EmpName, BirthDate, MangerID*)
สมคด สทธธารธวช
83
เปนความสมพนธท มเอนตตท เกยวข อง 3 เอนตตเชนความสมพนธดกร 3 ของความสมพนธระหวาง ผ ขาย โครงการ
สนค า เน องจากผขายสามารถขายสนคาให กบโครงการใดกได
ต วอยาง Ternary Relationships
สมคด สทธธารธวช
84
ต วอยาง Ternary Relationships
Mผ ขาย สนคา
โครงการ
สาหรบM
M
รหสโครงการ
รหสผ ขายรหสสนคา
ผ ขาย-โครงการ-สนคา(รหสผ ขาย, รหสโครงการ, รหสสนคา, จ านวน)
จ านวน
วชาระบบฐานขอมล 28/04/55
15
สมคด สทธธารธวช
85
ต วอยาง Ternary Relationships
ME2 E3
E1
R M
1
ID1
ID2ID3
R (ID3, ID2, ID1)
ME2 E3
E1
R M
M
ID1
ID2ID3
R (ID3, ID2, ID1)
สมคด สทธธารธวช
86
Aggregation
Treat aggregation as any other entity type
Treatment
Physician PatientTreatM M
Drug
Use
M
M
Physician(…), Patient(…), Drug(…)Treat (PhysicianID, PatientID)Use(PhysicianID, PatientID, DrugID)
สมคด สทธธารธวช
87
ตวอยาง Entity/relationship diagram
แผนก
บคคลอางอง
ม
1
M
ตองม
1
M
รหสแผนก ชอแผนก
รหสพนง.
ชอพนกงาน
ชอตว
ชอสกล
โครงการทางานกบ
ลาดบท
ชอตว
ชอสกล
M
Mขาย/ใช
ผ ขายสนคา
สนคา
จานวนทใช
ประกอบ
M M
M
M
M
รหสโครงการ
ชอโครงการรหสผ ขาย
ชอผ ขาย
รหสสนคา
ชอสนคา
จ านวน