บทที่ 10...
-
Upload
trinhquynh -
Category
Documents
-
view
280 -
download
1
Transcript of บทที่ 10...
230 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
บทท 10 การออกแบบฐานขอมล วตถประสงคของบทเรยน
ศกษาเกยวกบการออกแบบฐานขอมลทประสบความส าเรจ
ศกษาเกยวกบกระบวนการออกแบบระบบเทคโนโลยสารสนเทศทซงมฐานขอมลเปนสวนหนงของระบบ (Software Development Life Cycle, SDLC)
ศกษาเกยวกบกระบวนการออกแบบฐานขอมล (Database Life Cycle, DBLC)
ศกษาเกยวกบวธการประเมนและปรบปรง SDLC และ DBLC
ศกษาเกยวกบกลยทธในการออกแบบฐานขอมลในรปแบบตางๆ เชน top-down, bottom-up, centralized และ decentralized
เนอหาของบทเรยน
ระบบเทคโนโลยสารสนเทศ กระบวนการพฒนาระบบเทคโนโลยสารสนเทศ ขนตอนการออกแบบฐานขอมล การออกแบบกรอบความคด การเลอกซอฟตแวร DBMS การออกแบบเชงตรรกะ การออกแบบเชงกายภาพ กลยทธในการออกแบบฐานขอมล การออกแบบในลกษณะ centralized และ decentralized
กจกรรมการเรยน-การสอน อธบายพรอมยกตวอยางประกอบ
ศกษาจากเอกสารค าสอน
ฝกปฏบตการตามทมอบหมาย
ท าแบบฝกหดทายบท
อปกรณทใชในการเรยน-การสอน เอกสารค าสอน
เครองคอมพวเตอร
เครองฉายภาพสไลด
การวดและประเมนผล การตอบค าถามระหวางการเรยน-การสอน
การท าแบบทดสอบยอยทายบท
การตรวจงานตามทมอบหมาย
231 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
ณ ปจจบนบรษท องคกร และ/หรอหางรานตางๆไดมการประยกตใชระบบเทคโนโลยสารสนเทศ (information system) ส าหรบการด าเนนการทางธรกจตางๆซงโดยสวนใหญของระบบเทคโนโลยสารสนเทศจะมการประยกตใชฐานขอมลเพอจดเกบขอมลตางๆ ดวยเหตน เราจงควรทจะตองใหความสนใจหรอใสใจกบการออกแบบฐานขอมล เนองจากถาเราสามารถออกแบบฐานขอมล ไดดจะสงผลใหระบบเทคโนโลยสารสนเทศสามารถจดการกบขอมลสารสนเทศไดอยางถกตอง ดงนน ในบทนเราจะท าการศกษาเกยวกบขนตอนการออกแบบฐานขอมลทเรยกวา “Database Life Cycle, DBLC” และ ขนตอนการออกแบบระบบเทคโนโลยสารสนเทศทเรยกวา “Systems Development Life Cycle, SDLC” ทจะเปนกระบวนการท าซ าของกระบวนการสราง ตรวจสอบ ปรบปรงพฒนา และการปรบเปลยนระบบเทคโนโลยสารสนเทศใหสามารถท างานมประสทธภาพ
10.1 ระบบเทคโนโลยสารสนเทศ โดยปกตของการประยกตใชฐานขอมลมกถกใชเปนสวนหนงของระบบเทคโนโลยสารสนเทศทซงจะใหบรการในดานการจดเกบและการคนคนขอมล แตส าหรบระบบเทคโนโลยสารสนเทศจะมวตถประสงคทจะอ านวยความสะดวกใหแกผใชงานในการปรบเปลยนขอมลใหกลายเปนสารสนเทศ และจะมฟงกชนตางๆส าหรบจดการ/จดเกบขอมลและสารสนเทศ ระบบเทคโนโลยสารสนเทศจะประกอบไปดวยบคคลในหนาทตางๆ ฮารดแวร ซอฟตแวร ฐานขอมล แอพพลเคชน/โปรแกรม และกระบวนการตางๆ
ในการทจะท าการตดสนใจทจะสรางระบบเทคโนโลยสารสนเทศ เราควรทจะตองท าการส ารวจความตองการและความจ าเปนในการใชงานระบบเทคโนโลยสารสนเทศ (เรยกกระบวนการนวา “system analysis”) เมอเราเหนวาบรษทหรอองคกรตองการทจะใชงานระบบเทคโนโลยสารสนเทศ เราจงเรมกระบวนการสรางระบบเทคโนโลยสารสนเทศ (เรยกกระบวนการนวา “system development”)
ภายใตกรอบการท างานระบบเทคโนโลยสารสนเทศจะเปนการปรบเปลยนขอมลใหกลายเปนสารสนเทศทพรอมส าหรบสนบสนนการตดสนใจ โดยสารสนเทศทไดจะอยในรปแบบของรายงาน ตาราง รปภาพ ชารตและกราฟตางๆ ดงแสดงในรป 10.1 ทจะแสดงถงแอพพลเคชนทจะประกอบไปดวย 2 สวนหลกๆคอ ขอมล และโคดหรอค าสงของโปรแกรมทใชในการปรบเปลยนขอมลใหกลายเปนสารสนเทศเพอน าไปใชในกระบวนการและการด าเนนการตางๆ จากความส าคญของระบบเทคโนโลยสารสนเทศเราควรจะท าการสรางระบบเทคโนโลยสารสนเทศทมประสทธภาพทซงจะขนกบ 3 ปจจยดงน
การออกแบบและการด าเนนการสรางฐานขอมล
การออกแบบและการด าเนนการสรางแอพพลเคชน
กระบวนการดแลรกษาระบบเทคโนโลยสารสนเทศ
จากปจจยทง 3 ขางตน เนอหาในวชานจะมงเนนทการออกแบบและการด าเนนการสรางฐานขอมลทซงจะเปนปจจยทส าคญทสดใน 3 ปจจย แตอยางไรกตามถาเราไมสนใจหรอใสใจกบ 2 ปจจยทเหลออาจท าให
232 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
ระบบเทคโนโลยสารสนเทศมฟงกชนการท างานทไมดและอาจไมสอดคลองกบการด าเนนการทางธรกจกเปนได การพฒนาระบบเทคโนโลยจะเปนงานทยากทซงจะประกอบไปดวยกระบวนการส ารวจความตองการและความจ าเปนในการใชงานระบบเทคโนโลยสารสนเทศ และกระบวนการสรางระบบเทคโนโลยสารสนเทศทซงจะตองการการวางแผนทดทจะท าใหแนใจวาทกกจกรรม/การด าเนนการจะสอดคลองกบการด าเนนการทางธรกจและท าใหแนใจไดวาการสรางระบบเทคโนโลยสารสนเทศจะส าเรจตรงเวลา
รปท 10.1 การสรางขอมลสารสนเทศเพอสนบสนนการตดสนใจ
10.2 กระบวนการพฒนาระบบเทคโนโลยสารสนเทศ กระบวนการพฒนาระบบเทคโนโลยสารสนเทศ (System Development Life Cycle, SDLC) จะเปนกระบวนการในการสรางและตดตามการท างานของระบบเทคโนโลยสารสนเทศทจะท าใหผพฒนาระบบไดเหนภาพรวมของการออกแบบฐานขอมลและการสรางแอพพลเคชนท ซงจะท าใหเราสามารถประเมนการท างานของระบบเทคโนโลยสารสนเทศได
ดงแสดงในรป 10.2 ขนตอนการออกแบบระบบเทคโนโลยสารสนเทศจะแบงออกเปน 5 กระบวนการยอย: ขนตอนการวางแผน (planning), ขนตอนการวเคราะห (analysis), ขนตอนการออกแบบและพจารณารายละเอยด (detailed systems design), ขนตอนการสรางระบบ (implementation), และขนตอนการดแลรกษาระบบ (maintainance) ตามล าดบ ขนตอน SDLC จะเปนการท างานแบบท าซ า ตวอยางเชน ในการท างานรอบแรกเราอาจท าการศกษาขนตอนการท างานของบรษท/องคกรจากนนท าการลงรายละเอยดการออกแบบเบองตนจากนนท าการประเมนวามสวนใดทยงไมสมบรณอกหรอไมแลวท าการพจารณาใหมหลายๆรอบจนกระทงไดระบบเทคโนโลยสารสนเทศทมการด าเนนงานครบถวนทสามารถตอบสนองตอการด าเนนธรกจตางๆได
233 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
รปท 10.2 กระบวนการพฒนาระบบเทคโนโลยสารสนเทศ
10.2.1 ขนตอนการวางแผน ขนตอนการวางแผนจะท าใหผพฒนาระบบเหนภาพรวมของวตถประสงคและการด าเนนงานขององคกรทจะท าใหเราทราบถงความตองการทจะไดรบสารสนเทศ จากนนเราจะตองท าการประเมนความตองการดงกลาวทจะชวยใหเราสามารถตอบค าถามทส าคญเหลานได
เราควรทจะใชระบบทมอยตอไปหรอไม?—ถาระบบเทคโนโลยสารสนเทศเดมสามารถสรางสารสนเทศทเพยงพอตอการด าเนนธรกจอยแลวจะท าใหไมมความจ าเปนทจะตองปรบเปลยนหรอการหาระบบใหมมาแทนทการท างานของระบบเดมเลย
เราควรทจะท าการปรบเปลยนระบบทมอยหรอไม?—จากการประเมนจะชใหเหนถงขอบกพรองของระบบทใชงานอยในปจจบนทจ าเปนจะตองแกไข ดงนนเราควรทจะท าการปรบเปลยนตามความจ าเปนเหลานน
234 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
เราควรทจะหาระบบใหมมาแทนทระบบทมอยหรอไม?—จากการประเมนจะชใหเหนวาระบบทใชงานอยปจจบนมขอบกพรองและขอบกพรองเหลานนสามารถแกไดยาก ดวยเหตนจงมความตองการทจะท าการสรางระบบการด าเนนเงนใหม แตอยางไรกตาม เราควรทจะสามารถแยกแยะระหวางความตองการและความจ าเปนในการสรางระบบใหมดวยเชนกน
ในการทจะตอบค าถามขางตน ผทมสวนรวมกบกระบวนการ SDLC จะตองท าการศกษาและประเมนทางเลอกอนๆวาสามารถแกไขปญหาทเกดขนกบระบบการท างานเดมไดหรอไม ถาผลประเมนบงบอกวาบรษท/องคกรมความตองการและมความจ าเปนในการพฒนาระบบการด าเนนงานใหมจะกอใหเกดค าถามทตามมาคอมความเปนไปไดหรอไมในการทจะพฒนาระบบใหม เพอทจะตอบค าถามดงกลาวเราควรทจะตองพจารณาถงปจจยตางๆดงน
ปจจยทางดานฮารดแวรและซอฟตแวร—เราตองพจารณงฮารดแวรทจ าเปนตองใชหลงจากการสรางระบบเทคโนโลยสารสนเทศ อาทเชน desktop computer, multiprocessor computer, mainframe หรอ supercomputer เปนตน แตในสวนของซอฟตแวรเราจะตองค าถงการประยกตใช single หรอ multiuser operating systems, ชนดของฐานขอมลและซอฟตแวรฐานขอมลทใช, ภาษาทใชในการเขยนโปรแกรมส าหรบพฒนนาระบบเทคโนโลยสารสนเทศ และอนๆ
ปจจยทางดานคาใชจาย—ในการทจะลงทนแตละครงของบรษทไมวาจะเปนลงทนในดานเครองจกร หรอระบบคอมพวเตอร เราควรทจะตองท าการศกษาวาจ านวนเงนทลงนนนนมปรมาณมากนอยเพยงใดและจ านวนเงนทลงทนมความคมคาตอสงทไดรบมากนอยเพยงใด
ปจจยทางดานการด าเนนงาน—ในการทจะใชงานระบบเทคโนโลยสารสนเทศทสรางขน บรษท/องคกรตองใชพนกงาน เทคนค และปรมาณเงนมากนอยเพยงใด นอกจากนนเรายงตองท าการเป ดเมนเกยวกบการจดการตางๆของระบบทเกยวของกบการดแลรกษาระบบใหคงอย
10.2.2 ขนตอนการวเคราะห ปญหาทพบในกระบวนการวางแผนจะถกพจารณาโดยละเอยดในขนตอนการวเคราะหทซงจะตองพจารณาถงปจจยดงตอไปน
อะไรคอสงทผใชงานระบบตองการเพมเตมจากระบบปจจบน?
ความตองการเหลานนเหมาะสมและมความส าคญตอความตองการสารสนเทศในการด าเนนงานหรอไม?
จากค าถามขางตน ขนตอนการวเคราะหจะตองตรวจสองความตองการของผใชงานระบบโดยละเอยด การตรวจสอบจะเปนการท างานรวมกนระหวางผใชงานระบบและผออกแบบระบบทจะท าการระบถงขนตอนหรอกระบวนการตางๆทกอใหเกดปญหา จากการท างานรวมกนดงกลาวจะท าใหสามารถระบถงสงทตองการและระบถงความจ าเปนในการพฒนาระบบใหมได
235 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
นอกเหนอจากการศกษาและตรวจสอบเกยวกบความตองการเพมเตมของผใชงานระบบแลว ขนตอนการวเคราะหจะตองท าการออกแบบระบบเชงตรรกะ (logical system design) ทจะเปนการออกแบบแบบจ าลองกรอบความคด (conceptual data model) อนพต ขนตอน/กระบวนการตางๆ และผลลพธทคาดวาจะไดรบจากการด าเนนการตางๆ โดยในขณะท าการออกแบบระบบเชงตรรกะ ผออกแบบควรอ าจประยกตใชเครองมอตางๆเชน data flow diagram (DFD), hierarchical input process output (HIPO) digarm, แลพ entity relationshilp (ER) diagram เพอแสดงใหเหนถงขนตอนกระบวนการและขอมลทเกยวของ
10.2.3 ขนตอนการออกแบบและพจารณารายละเอยด ขนตอนการออกแบบและพจารณารายละเอยดจะเปนขนตอนทจะท าใหเราสามารถออกแบบเกยวกบกระบวนการท างานตางๆของระบบไดแลวเสรจ การออกแบบจะเปนการก าหนดถงหนาจอ เมน รายงาน และสวนตางๆทจะท าใหผใชงานระบบสามารถไดรบสารสนเทศไดอยางถกตองและมประสทธภาพ กระบวนการนจะเปนการปรบเปลยนกระบวนการตางๆจากระบบเกาไปสระบบใหมดวยเชนกน
10.2.4 ขนตอนการสรางระบบ ในระหวางขนตอนการสรางระบบ ฮารดแวร ซอฟตแวร DBMS และแอพพลเคชนตางๆจะถกตดตง นอกจากนนยงรวมถงการสรางฐานขอมลในซอฟตแวร DBMS และอยางทเราทราบดวากระบวนการสรางระบบจะเปนการบวนการเขยนโปรแกรม ตรวจสอบและแกไขขอผดพลาดตางๆจนกระทงระบบทพฒนาขนมความสมบรณ หลงจากการพฒนาระบบเสรจสน เราจะตองท าการโหลดขอมลเขาสฐานขอมลทซงจะสามารถด าเนนการผาน 1) โปรแกรมทผใชงานระบบใชงานอย, 2) อนเทอรเฟซของระบบจดการฐานขอมล และ/หรอ 3) โปรแกรมทถกพฒนาขนเพอใชส าหรบโหลดขอมลโดยเฉพาะ จากนนระบบจะถกตรวจสอบจะกระทงพรอมใชงาน
โดยปกตของขนตอนการสรางและทดสอบระบบจะใชเวลาถง 50 – 60 เปอรเซนตของเวลาทใชในการพฒนาระบบทงหมด แตอยางไรกตาม ถาเราท าการประยกตใชซอฟตแวรส าเรจรปในบางสวนจะท าใหเราสามารถลดเวลาในการสรางและการทดสอบระบบลงได โดยหลงจากท าการทดสอบระบบจนมความสมบรณแลว ทมผสรางระบบจะตองจดท าเอกสารรายละเอยดตางๆเกยวกบระบบ คมอการใชงาน รวมถงการอบรมเพอใหผใชสามารถใชงานระบบใหมทสรางขน โดยหลงจากระบบเรมมการใชงานแลวเราจะตองพจารณาถงการประเมนการท างานของระบบและการปรบจนสงตางๆทจะท าใหระบบสามารถท างานไดอยางมประสทธภาพ
10.2.5 ขนตอนการดแลรกษาระบบ หลงจากทระบบถกใชงาน ผใชมกจะรองขอสงตางๆเพมเตมทซงจะกอใหเกดกจกรรมตางๆเกยวกบการดแลรกษาระบบทซงสามารถจดกลมไดเปน 3 ชนดหลกดงน
236 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
การแกไขขอผดพลาดของระบบ
การปรบเปลยนกระบวนการท างานตามความเปลยนแปลงของการด าเนนธรกจ
การพฒนาปรบปรงเพอเพมประสทธภาพในการท างานของระบบ
10.3 ขนตอนการออกแบบฐานขอมล ภายใตการออกแบบระบบเทคโนโลยสารสนเทศ การออกแบบฐานขอมลจะเปนขนตอนหนงทเราจะตองใหความส าคญ ขนตอนการออกแบบฐานขอมลจะประกอบไปดวย 6 ขนตอนหลกดงแสดงในรป 10.3 ทจะประกอบดวยการศกษาฐานขอมลขององคกรเบองตน (database initial study), การออกแบบฐานขอมล (database design), การสรางฐานขอมลและการโหลดขอมลเขาสฐานขอมล (implementation and loading), การทดสอบและประเมนการท างานของฐานขอมล (testing and evaluation), การประยกตใชฐานขอมล (operation), และการดแลรกษาและพฒนาใหดยงขน (maintenance and evolution) ตามล าดบ
รปท 10.3 ขนตอนการออกแบบฐานขอมล
237 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
10.3.1 การศกษาฐานขอมลขององคกรเบองตน ในการศกษาเกยวกบฐานขอมลขององคกรหนงๆเพอท าการปรบปรงหรอสรางระบบเทคโนโลยสารสนเทศขนใหม ผออกแบบฐานขอมล/ผออกแบบระบบจะตองเขาใจถงสาเหตและเหตผลทระบบทใชอยในปจจบนเกดความลมเหลวทซงจะสามารถท าความเขาใจไดการพดคย สมภาษณ และ/หรอสอบถามจากผใชงานระบบ การศกษาดงกลาวจะมวตถประสงคหลก 3 สวนดงน (ดงแสดงในรป 10.4)
การวเคราะหสถานการณของบรษท (analysis of the company situation)
การระบถงปญหาและเงอนไขตางๆ (define problems and constraints)
การระบถงวตถประสงค และขอบเขต (Define objectives, scopes and boundaries)
รปท 10.4 สรปเกยวกบขนตอนการศกษาฐานขอมลขององคกรเบองตน
จากการศกษาทง 3 สวนขางตนจะท าใหเราทราบถงวตถประสงคของการพฒนาระบบฐานขอมล โดยแตละสวนจะมรายละเอยดดงน
238 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
การวเคราะหสถานการณของบรษท สถานการณของบรษทจะบงบอกถงการด าเนนการของบรษท โครงสรางขององคกร และเปาหมายตางๆขององคกร ดวยเหตนจงเปนเหตใหผออกแบบฐานขอมลจะตองพจารณาถงการด าเนนการพนฐานและเปาหมายทตองด าเนนการ และยงรวมถงการพจารณาถงโครงสรางหลกขององคกรทซงจะท าใหเราทราบถงล าดบขนของพนกงาน และความเกยวเนองกนของพนกงานจากสายงานตางๆ ซงการทราบถงโครงสรางขององคกรจะมประโยชนในการทจะระบถงความตองการตางๆของต าแหนงงานตางๆ ความตองการรายงานและควรตางๆทเกดจากหนาทในการด าเนนการตางๆและอนๆ
การระบถงปญหาและเงอนไข ถาบรษททตองการออกแบบฐานขอมลนนเป ดท าการมาเปนเวลานานจะท าใหเราทราบถงฟงกชนการท างานตางๆของระบบดงเดม ทราบถงอนพตทถกปอนเขาไปในระบบ ทราบถงเอกสารหรอรายงานทระบบท าการสราง และยงทราบถงวธการใชเอาทพตและบคคลทใชเอาทพตอกดวย แตอยางไรกตาม ในการระบถงปญหานนจะท าไดคอยขางยากเนองจากผใชงานจะไมสามารถบงไดไดถงปญหากวางๆไดหรออาจไมสามารถระบถงปญหาทแทจรงในระหวางการด าเนนการหนงๆได ดวยเหตนจงท าใหผออกแบบฐานขอมลจะจตองท าการจดเกบค าอธบายถงปญหาอยางกวางๆ หลงจากทราบถงปญหาและค าอธบายถงปญหาในเบองตนแลวผออกแบบฐานขอมลจะตองไตรตรองอยางละเอยดถถวนทซงจะไดขอมลส าหรบระบถงปญหา เมอทราบถงปญหาทแนชดแลว เราจะตองท าการคนหาค าตอบหรอวธการแกปญหาเหลานนทจะตองสอดคลองกบแนวทางหรอวธการในการด าเนนธรกจ
การวตถประสงคและระบขอบเขต หลงจากการระบถงปญหาและเงอนไขตางๆแลว ผออกแบบฐานขอมลจะตองท าใหแนใจไดวาวตถประสงคของการสรางระบบฐานขอมล/ระบบเทคโนโลยสารสนเทศมความสอดคลองกบความตองการหรอปญหาของผใชงานหรอไม ในการทจะมความแนใจเกยวกบค าถามขางตน ผออกแบฐานขอมลควรทจะตองพจาณาและหาค าตอบส าหรบค าถามดงตอไปน
วตถประสงคเบองตนของระบบทจะท าการสรางขนใหมคออะไร?
ระบบทจะท าการสรางขนใหมสามารถเชอมตอกบระบบเดมทมอยหรอสามารถเชอมตอกบระบบทจะมการสรางขนในอนาคตไดหรอไม?
ระบบทจะท าการสรางขนใหมมความสามารถในการแบงปนขอมลใหกบระบบอนๆหรอผใชงานตางๆไดหรอไม?
จากค าถามทง 3 ขางตนจะท าใหเราเขาใจถงวตถประสงคและลกษณะ/คณลกษณะของระบบทจะสรางขนใหมทซงจะชวยท าใหเรามความแนใจมากยงขนเกยวกบวตถประสงคทแทจรงของการสรางระบบ
ขอบเขตของระบบจะเปนตวก าหนดขอบเขตของการออกแบบฐานขอมลส าหรบการด าเนนการตางๆ ดวยเหตนเราจ าเปนทจะตองทราบอยางแนชดวาในการออกแบบครงหนงๆจะเปนการออกแบบส าหรบทง
239 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
องคกรหรออาจเปนการออกแบบส าหรบแผนกหนงๆหรอหลายๆแผนก หรออาจเปนการออกแบบส าหรบฟงกชนการท างานหนงๆภายใตแผนกหนงๆเทานน การทราบถงขอบเขตจะชวยในการก าหนดถงโครงสรางขอมลทตองการใช ชนดและจ านวนเอนทตทตองการใช และอนๆ
ในสวนของขอบเขตอกขอบเขตหนงจะเกยงของกบขอบเขตทางดานเวลาในการพฒนาระบบ ขอบเขตทางดานงบประมาณ และยงรวมถงขอบเขตของฮารดแวรและซอฟตแวรทใชในการสรางระบบดวยเชนกน ดงนนในการศกษาเกยวกบฐานขอมลขององคกรเราจ าเปนทจะตองทราบถงขอบเขตของระบบและเงอนไขตางทงในดานเวลาและงบประมาณทจะชวยใหเราตดสนใจไดวาเราจะเลอกใชฮารดแวร ซอฟตแวรและสวนประกอบอนๆอยางไร
10.3.2 การออกแบบฐานขอมล ขนตอนการออกแบบฐานขอมลเปนขนตอนส าคญทใชส าหรบออกแบบฐานขอมลเพอสนบสนนการด าเนนการและวตถประสงคของบรษท ภายใตการบวนการออกแบบฐานขอมล ผออกแบบตองใหความใสใจกยลกษณะ/คณลกษณะของขอมลทจะท าการจดเกบฐานขอมล ในการพจารณาขอมลตางๆจะมสองมมมองทเกยวของคอ มมมองทางธรกจทมองขอมลเปนแหลงก าเนดของสารสนเทศ และมมมองของการออกแบบทจะพจารณาโครงสรางของขอมล การเขาถง/จดการกบขอมล และกระบวนการตางๆในการปรบเปลยนขอมลใหกลายเปนสารสนเทศ รป 10.5 จะแสดงความแตกตางของมมมองของ “What” และ “How”
ขนตอนการออกแบบฐานขอมลจะประกอบไปดวย 4 ขนตอนหลกคอ การออกแบบกรอบความคด (Conceptual design) , การออกแบบเชงตรรกะ (Logical design) , การออกแบบเชงกายภาพ (Physical design) และรวมถงการเลอกใชระบบจดการฐานขอมล (DBMS selection) การออกแบบจะเรมจากการออกแบบกรอบความคดแลวท าการปรบเปลยนไปเปนเชงตรรกะและการออกแบบทางกายภาพ โดยในแตละขนตอนจะเปนการเพมรายละเอยดเกยวกบคณลกษณะของขอมลโครงสรางการจดเกบขอมล ความสมพนธตางๆ และยงรวมถงการจดท าเอกสารเพอแสดงถงรายละเอยดตางๆการออกแบบกรอบความคดจะเกยวของกบขอมลทงหมดในมมมองของผใชงาน (มมมองทางธรกจ) แตในสวนของการออกแบบเชงตรรกะเกยวของกบขอมลภายใตการประยกตใช DBMS และทายสดการออกแบบเชงกายภาพจะเกยวของกบขอมลทถกด าเนนการโดยระบบปฏบตการและอปกรณฮารดแวรส าหรบการจดเกบขอมล (รายละเอยดของขนตอนการออกแบบกรอบความคด , การเลอกใชระบบจดการฐานขอมล , การออกแบบเชงตรรกะ และการออกแบบเชงกายภาพจะอธบายรายละเอยดในหวขอ 10.4 , 10.5 , 10.6 และ 10.7)
240 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
รปท 10.5 ตวอยางสองมมมองของขอมล—มมมองทางธรกจและมมมองทางการออกแบบ
รปท 10.6 ขนตอนการออกแบบฐานขอมล
241 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
10.3.3 การสรางฐานขอมลและการโหลดขอมลเขาสฐานขอมล หลงจากขนตอนการออกแบบฐานขอมลเราจะทราบถงตารางขอมล (เอนทต) แอทรบว ความสมพนธ ขอบเขต มมมอง ดชน และรายละเอยดตางๆทเกยวของกบการจดเกบขอมล จากนนเราจะท าการด าเนนการสรางฐานขอมลตามทออกแบบไว โดยขนตอนการด าเนนการสรางฐานขอมลจะประกอบไปดวยขนตอนยอยดงน
การตตตงระบบจดการฐานขอมล ในหลายครงของการสรางระบบเทคโนโลยสารสนเทศ/ระบบฐานขอมล ทมผสรางอาจจ า เปนตองท าการตดตงระบบจดฐานขอมลในเซรฟเวอรใหมหรอเซรฟเวอรเดมทมอย แต ณ ปจจบนทมผสรางมกจะประยกตใชเทคนค “Virtualization” ทจะท าการสรางเวรฟเวอรเสมอน พนทในการจดเกบขอมลเสมอน และเครอขายเสมอน เพอทจะท าใหการแสดงผลในเชงตรรกะจะไมขนกบฮารดแวรตางๆ หลงจากการสรางเวรฟฟเวอรเสมอนจะท าใหเราสามารถตดตงระบบจดการฐานขอมลในเซรฟเอวรเสมอนได ( เราจะเรยกฐานขอมลทถกตดตงในเซรฟเวอรเสมอนวา “Database virtualization”)
การสรางฐานขอมล หลงจากท าการตดตงระบบจดการฐานขอมลจะเปนหนาทของผดแลระบบ (System administration , SYSADM) และผดแล (Database administration , DBA) ทจะท าการสรางฐานขอมล และตารางขอมลตางๆ ในขนตอนแรก ผดแลระบบสามารถท าการสรางฐานขอมล และจากนน DBA จะท าการก าหนดสทธในการใชงานฐานขอมลใหกบผใชงาน ท าการสรางตารางขอมลตางๆภาพใตฐานขอมลทสรางขน และท าการก าหนดสทธในการเขาถง/การจดเกบตารางขอมลหนงๆดวยการประยกตใชค าสง GRANT ดงน
GRANT action ON tablename TO username ; ตวอยางเชน ถาเราตองการก าหนดสทธให Shannon Scott สามารถท าการเรยกดขอมลในตาราง PROFESSOR ไดนน เราจะสามารถประยกตใชค าสง GRANT ไดเปน GRANT SELECT ON PROFESSOR TO USER SCOTT;
การโหลดขอมลเขาสฐานขอมล หลงจากท าการสรางฐานขอมลและตารางขอมตางๆแลวนน เราจะสามารถท าการโหลด (จดเกบ) ขอมลเขาสฐานขอมลได โดยในการโหลดขอมล เราอาจท าการเคลอนยายขอมลจากระบบดงเดมไปยงฐานขอมลทสรางขนใหม ซงจะอยในรปแบบฐานขอมลเชงสมพนธเหมอนกน แตกอาจจะมหลายๆกรณทเราตองท าการโหลดขอมลจากระบบตางๆ หลายระบบทขอมลไมไดอยในรปแบบของฐานขอมลเชงสมพนธ อาทเชน ขอมลทอยในรปแบบของแฟมขอมลตางๆ สเปรดชท หรอแมแตขอมลทถกจดเกบอยในกระดาษ ดวยเหตนจงจ าเปนทจะตองท าการสรางโปรแกรมเพอท าการปรบเปลยนขอมลทอยในรปแบบตางๆใหกลายเปนขอมลทอยในรปแบบของฐานขอมลเชงสมพนธ ซงจะท าใหเราสามารถโหลดขอมลเหลานนเขาสฐานขอมลทสรางขนได แตอาจมบางกรณทเราตองท าการกรอกขอมลแบบ Manual ซงจะตองท าการตรวจสอบอยางละเอยดเพอหลกเลยงขอผดพลาดในการโหลดขอมล
242 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
10.3.4 การทดสอบและประเมนการท างานของฐานขอมล ในขนตอนการออกแบบฐานขอมล เราตองท าการตรวจสอบเกยวกบ integrity (entity integrity และ referential integrity), ความปลอดภย, ประสทธภาพ และความสามารถในการกคนขอมลของฐานขอมลทถกออกแบบ โดยขนตอนการตรวจสอบจะประกอบไปดวยขนตอนดงตอไปน
การตรวจสอบฐานขอมล การตรวจสอบฐานขอมลจะท าใหเราสามารถแนใจไดวา 1) ตารางขอมลตางๆมการก าหนด primary key และ foreign key อยางเหมาะสม, 2) ตารางขอมลตางๆมการก าหนดขอบเขตของแอทรบว ขอบเขตของเงอนไข และ database trigger ไดอยางเหมาะสม และ 3) มการก าหนดมาตราการความปลอดภยทเกยวของกบการก าหนดสทธในการเขาถง/ใชงานขอมลในตารางขอมลตางๆ ตามล าดบ
ในการทจะทดสอบความปลอดภยของฐานขอมล เราควรทจะตองทดสอบในแงมมเหลานเปนอยางนอย:
Physical security—จะเปนการยนยอมใหผใชทมการยนยนตวตนสามารถเขาใชงานขอมล
Password security—จะบงคบใหผใชงานท าการ log in เพอใชงานขอมลตามทถกก าหนดสทธ
Access rights—จะเปนการก าหนดสทธในการใชงานขอมลในตารางขอมลตางๆเชน CREATE, UPDATE, DELETE, INSERT, SELECT และอนๆ
Audit trails—จะเปนการตรวจสอบการลวงละเมดสทธในการด าเนนการกบขอมลทซงจะด าเนนการโดย DBMS
การประเมนการท างานของฐานขอมลและโปรแกรมตางๆทเกยวของ การประเมนประสทธภาพการท างานของฐานขอมลจะท าไดคอนขางยากเนองจากการไมมมาตราฐานในการประเมน แตอยางไรกตามการประเมนประสทธภาพของฐานขอมลกเปนสงจ าเปนอยางยงทซงจะท าใหเราทราบไดวาฐานขอมลมการท างานอยางไร ระบบฐานขอมลทแตกตางกนอาจตองการประสทธภาพของการท างานในแงมมทแตกตางกน ตวอยางเชน บางระบบอาจตองการใหฐานขอมลสามารถเพม อพเดท และลบขอมลปรมาณมากๆไดอยางรวดเรว หรอ บางระบบอาจตองการใหระบบทสรางขนสามารถท าการคนคนขอมลทมความซบซอนไดอยางรวดเรว และอนๆ
จากความตองการขางตนเราจ าเปนทจะท าการประเมนการท างานของฐานขอมลและโปรแกรมทเกยวของกบฐานขอมลทซงจะตองท าการทดสอบประเมนสวนประกอบยอยตางๆของระบบเพอท าใหแนใจวาสวนตางๆของระบบสามารถท างานไดอยางเหมาะสมและสามารถตอบสนองตอความตองการของผใชงานได นอกจากนนเรายงตองท าการตรวจสอบเกยวกบกระบวนการส ารองและกคนขอมลทจะสามารถด าเนนการไดหลายระดบดงน
Full backup—จะเปนการส ารองขอมลทงหมดในฐานขอมล
243 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
Differential backup—จะท าการคดลอกขอมลทมการเปลยนแปลงลาสดจากการส ารองขอมลครงกอนหนา
Transaction log backup—จะเปนการส ารองขอมลทมการด าเนนการทมการจดบนทกใน log file เทานน
จากการส ารองขอมลทง 3 ระดบขางตนจะชวยใหเราสามารถปองกนอนตรายทอาจเกดจากไฟไหม ขโมย น าทวมและอบตเหตหรออบตภยตางๆได การส ารองขอมลจะชวยใหองคกรมนใจเกยวกบการกคนขอมลเมอประสบปญหาทางดานซอฟตแวรและฮารดแวร
10.3.5 การประยกตใชฐานขอมล หลงจากท าการประเมนและตรวจสอบการท างานของฐานขอมลอยางแนชดแลวจะเปนการประยกตใชฐานขอมลเพอการด าเนนการตางๆของบรษท/องคกร โดยจะเรมจากการก าหนดใหผใชงาน (บางต าแหนง/หนาท) ใหเรมใชงานฐานขอมล เมอผใชงานเรมใชงานจะท าใหเราอาจคนพบปญหาทเราไมเคยพบมากอนในขนตอนการทดสอบและตรวจสอบการท างานของฐานขอมล และเมอเราคนพบปญหาแลวเราจะตองท าการระบถงวธการแกไขปญหาในหลายๆแงมมทซงจะชวยใหเราแกไขปญหาไดอยางสมบรณ
10.3.6 การดแลรกษาและพฒนาใหดยงขน หลงจากท าการประยกตใชฐานขอมลแลว ผดแลฐานขอมลควรทจะตองด าเนนการกจกรรมตางๆเพอท าใหฐานขอมลสามารถท างานไดอยางราบรนดงน
การส ารองขอมล
การกคนขอมล
การเพมประสทธภาพการท างานของฐานขอมล
การเพมเอนทต แอทรบว และอนๆ
การก าหนดสทธในการใชงานขอมลใหกบผใช
การจดเกบสถตเกยวกบการเขาถงขอมลเพอพจาณาถงการเพมประสทธภาพการท างานของระบบและเพอตดตามเฝาสงเกตการท างานของระบบ
การตรวจสอบมาตราการความปลอดภยจากสถตทไดรบ
นอกเหนอจากกจกรรมทงหมดขางตน อาจมความตองการจากผใชงานทจะตองการขอมลสารสนเทศทเพมขนจากเดม หรอผใชอาจรองขอรายงานตางๆเพมเตมทซงเราจะตองท าการก าหนดควรใหมๆเพมเตมดวยเชนกน ถาการออกแบบฐานขอมลมความยดหยนจะท าใหเราสามารถด า เนนการปรบเปลยนระบบเพอทจะสามารถตอบโจทยความตองการของผใชงานไดโดยงาย
244 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
จากขนตอน DBLC ทงหมด เราจะสงเกตไดวาขนตอนตางๆใน DBLC จะมความคลายคลงกบขนตอนตางๆใน SDLC ทซงจะสามารถแสดงการการท างานรวมกนระหวาง DBLC และ SDLC ไดดงรปท 10.7
รปท 10.7 การท างานรวมกนระหวาขนตอน DBLC และ SDLC
10.4 การออกแบบกรอบความคด การออกแบบกรอบความคดจะเปนขนตอนแรกของการออกแบบฐานขอมล (การออกแบบฐานขอมลเปนขนตอนทสองของ DBLC) ทมเปาหมายทจะออกแบบฐานขอมลทมความอสระจากซอฟตแวรฐานขอมลและอปกรณตางๆทใชส าหรบจดเกบขอมล โดยผลลพธทไดจากการออกแบบกรอบความคดจะเปนแบบจ าลองกรอบความคด (conceptual data model) ทสามารถบงบอกไดถงเอนทต แอทรบว ความสมพนธและเงอนไขตางๆ การสรางแบบจ าลองกรอบความคดมกถกใชในการก าหนดโครงสรางของการจดเกบขอมลทซงจะท าใหมความเขาใจในธรกจและฟงกชนการด าเนนการตางๆของการด าเนนธรกจ ในระหวางการด าเนนการสรางแบบจ าลองกรอบความคดเราจะท าการระบถงขอมลทงหมดทจะถกใชในการด าเนนการตางๆของการด าเนนธรกจ แตเราไมตองระบถงชนดของฮารดแวรและซอฟตแวรทจะใชส าหรบจดเกบและจดการกบขอมล (หมายเหต—ดวยเหตนจงท าใหการออกแบบแบบจ าลองกรอบความคดจะไมขนกบฮารดแวรและซอฟตแวรทซงจะท าใหระบบทจะท าการสรางขนสามารถท างานไดกบฮารดแวรและซอฟตแวรใดๆทจะถกเลอกใชในภายหลง)
245 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
การออกแบบกรอบความคดจะประกอบไปดวย 4 ขนตอน: การวเคราะหขอมลและความตองการของผใชงาน , แบบจ าลองขอมลเชงสมพนธเอนทตและกระบวนการนอรมลไลเซชน , การทวนสอบแบบจ าลองขอมล และ การออกแบบฐานขอมลแบบกระจาย ทซงจะสามารถอธบายในรายละเอยดดงน
10.4.1 การวเคราะหขอมลและความตองการของผใชงาน ขนตอนแรกของการออกแบบกรอบความคดคอการะบถงลกษณะของขอมล โดยขอมลเหลานจะถกปรบเปลยนไปเปนสารสนเทศเพอใชในการด าเนนการตางๆทางธรกจ ดงนน ผออกแบบควรทจะมงเนนท
Information needs—ผออกแบบจะตองพจารณาวาขอมลสารสนเทศใดเปนทตองการของผใชและเอาทพตของระบบคออะไร
Information users—ผออกแบบจะตองพจารณาวาใครจะเปนผใชขอมลสารสนเทศ ขอมลสารสนเทศจะถกใชอยางไร มมมองขอมลของผใชมอะไรบาง
Information sources—ผออกแบบจะตองพจารณาวาขอมลสารสนเทศจะสามารถคนหาไดจากทใด เราจะสามารถสกดขอมลสารสนเทศไดอยางไร
Information constitution—ผออกแบบจะตองพจารณาวาขอมลสวนใดทจะถกประยกตใชเพอสรางเปนขอมลสารสนเทศ แอทรบวของขอมลมอะไรบาง ความสมพนธระหวางขอมลมอะไรบาง ปรมาณขอมลทจะถกจดเกบเปนเชนไร และขอมลจะถกเขาถง/ประยกตใชบอยแคไหน
ค าถามขางตนจะเปนค าถามทส าคญและจ าเปนทจะตองคนหาค าตอบ โดยเราสามารถหาค าตอบไดโดยการด าเนนการดงน
การพฒนาและรวบรวมมมมองขอมลของผใช—จะชวยใหเราสามารถระบไดถงขอมลตางๆทจะถกจดเกบในฐานขอมล
การสงเกตการท างานของระบบปจจบน: เอาทพตทมอยและเอาทพตทตองการ--จะท าใหเราทราบถงรายงานตางๆทผใชตองการและยงสามารถทราบถงขอมลทสนบสนนการสรางรายงานเหลานน
การพดคยกบทมผพฒนาระบบ—อยางทเราทราบดวาการออกแบบฐานขอมลจะเปนสวนหนงของ SDLC ทซงผออกแบบระบบกจะท าหนาทออกแบบกรอบความคดดวยเชนกน
ในการทจะพฒนาแบบจ าลองขอมลไดอยางถกตอง ผออกแบบควรทจะตองมความเขาใจเกยวกบชนดของขอมลและการใชขอมลของบรษทอยางถองแท โดยจากเนอหาในบทท 2 เราจะทราบไดวาถาเราสามารถระบไดถงกฎเกณฑทางธรกจจะท าใหเราสามารถระบไดถงเอนทต แอทรบว ความสมพนธ connectivities cardinalities และ เงอนไขตางๆ เปนตน นอกจากประโยชนขางตนแลว การทราบถงกฎเกณฑทางธรกจจะชวยใหผออกแบบฐานขอมล (แบบจ าลองกรอบความคด) มความเขาใจเกยวกบวธการในการด าเนนธรกจและบทบาทของขอมลทมสวนเกยวของกบการด าเนนธรกจ ดงนนเราจะสามารถสรปประโยชนของกฎเกณฑทางธรกจทจะประกอบไปดวย
246 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
ชวยในการเปนตวกลางในการสอสารระหวางผใชและผออกแบบ
ชวยใหผออกแบบมความเขาใจในธรรมชาต บทบาท และขอบเขตของขอมล
ชวยใหผออกแบบมความเขาใจในขนตอนการด าเนนธรกจ
ชวยใหผออกแบบสามารถพฒนา/หรอระบถงความสมพนธ การมสวนรวมกบความสมพนธ และ foreign key
10.4.2 แบบจ าลองขอมลเชงสมพนธเอนทตและกระบวนการนอรมลไลเซชน กอนทจะท าการสรางแบบจ าลองเชงสมพนธเอนทต ผออกแบบแบบจ าลองจะตองท าการก าหนดมาตราฐานใหกบแผนภาพ สญลกษณตางๆ และแนวทางการเขยนเอกสารตางๆ ทจะใชในการออกแบบแบบจ าลองขอมล การก าหนดมาตราฐานจะเปนสงส าคญมากเมอการออกแบบแบบจ าลองขอมลมการท างานเปนทมทซงจะมการแบงสวนงานและมการตดตอสอสารตางๆทซงมาตราฐานจะเปนตวกลางใหบคคลตางๆในทมสามารถเขาใจงานในสวนตางๆได ดงนนถาเราไมท าการก าหนดมาตราฐานหรอเกดความลมเหลวในการก าหนดมาตราฐานแลวจะท าใหเราเกดความลมเหลวในการตดตอสอสารและจะสงผลใหไดรบแบบจ าลองขอมลทไมดได แตในทางกลบกนถาเราท าการก าหนดมาตราฐานทดจะชวยใหการออกแบบนนเปนไปอยางราบรนและยงสามารถรวมสวนประกอบยอยตางๆไดงายอกดวย
หลงจากท าการก าหนดมาตราฐานตางๆทใชในการออกแบบแบบจ าลองขอมลแลว เราจะสามารถท าการออกแบบจ าลองขอมลไดโดยประยกตใชขนตอนดงรป 10.8 ทซงจะเปนการสรางแผนภาพเชงสมพนธเอนทตทแสดงถงโครงสรางการจดเกบขอมลในฐานขอมล
รปท 10.8 ขนตอนการออกแบบ conceptual model ดวยการประยกตใช ER diagrams
ในการทจะเขาใจวธการออกแบบ conceptual model ตามขนตอนในรป 10.8 ลองพจารณาการออกแบบ conceptual model ส าหรบบรษทใหเชาภาพยนตรทชอ JollyGood Movie Rental Corporation ทซงจะตองการจดเกบขอมลการเชาภาพยนตรของลกคาทซงจะสามารถออกแบบ ER diagram อยางงายไดดงรป 10.9 ทเกดจากกฎเกณฑทางธรกจทวา “ลกคาคนหนงๆสามารถท าการเชาภาพยนตรไดหลายเรอง และภาพยนตรเรองหนงๆสามารถถกเชาโดยลกคาหลายคน” จากกฎเกณฑทางธรกจดงกลาวจะท าใหเราตองท าการจดเกบขอมลลกคาในเอนทต CUSTOMER จดเกบขอมลภาพยนตรในเอนทต VIDEO และท าการจดเกบขอมลการเชาภาพยนตรของลกคาในเอนทต RENTAL ทมลกษณะเปน composite entity
247 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
รปท 10.9 ตวอยาง ER diagram อยางงายของบรษทใหเชาภาพยนตร
จาก ER diagram ในรป 10.9 เราควรทจะตงค าถามทวา “โครงสรางการจดเกบขอมลใน ER diagram ทไดท าการออกแบบนนสามารถจดเกบขอมลทงหมดทเราตองการใชหรอไม ?” ซงจาก ER diagram ในรป 10.9 เราจะสงเกตไดวาเรายงก าหนดโครงสรางในการจดเกบขอมลไมครบถวน เราควรทจะตองเพมแอทรบวตางๆเพอใชในการจดเกบขอมลทส าคญและเราควรทจะตองท าการตรวจสอบการพงพาอาศย (dependency) กนของแอทรบวตางๆ จากขนตอนในรป 10.8 เราจะสงเกตไดวาขนตอนการออกแบบ ER diagram จะเปนขนตอนการระบถงเอนทต แอทรบว ความสมพนธ การด าเนนการนอรมลไลเซชน และการตรวจสอบ ER diagram ตามล าดบ โดยในขนตอนเรมแรกเราจะได ER diagram อยางงายทบงบอกถงโครงสรางการจดเกบขอมล จากนนเราควรทจะตองท าการตรวจสอบซ าแลวซ าเลาเพอใหได ER diagram ทสามารถจดเกบขอมลทผใชงานตองการและมความสอดคลองกบการด าเนนธรกจตางๆ โดยขนตอนการออกแบบ ER diagram จะเปนกระบวนการท างานซ าทซงจะเกยวของกบกจกรรมตางๆดงแสดงในรป 10.10 และนอกจากนนการออกแบบ ER diagram จะตองยงเกยวเครองมอและแหลงขอมลตางๆดงแสดงในรป 10.11 จากขนตอนในรป 10.10 จะเกยวของกบการก าหนดเอนทต แอทรบว ความสมพนธ มมมองขอมล และอนๆทซงจะมการจดเกบขอมลเหลานในพจนานกรามขอมล จากนนจะด าเนนการนอรมลไลเซชนเพอลดความผดปกตและความซ าซอนของขอมล โดยระหวางขนตอนการออกแบบ ER diagram ผออกแบบควรทจะตอง
ระบถงเอนทต แอทรบว primary keys และ foreign keys
ตดสนใจเกยวกบการเพมใหมๆเพอท าหนาทเปน primary keys ทจะท าใหโครงสรางการจดเกบขอมลสอดคลองกบการจดเกบขอมล
ตดสนใจเกยวกบการจดการเกยวกบ composite attribute และ multivalued attribute
ตดสนใจเกยวกบการเพม derived attribute ทซงจะสนบสนนการประมวลผลตางๆ
ตดสนใจเกยวกบการก าหนด foreign key ภายใตรปแบบความสมพนธแบบ 1:1
วาดแผนภาพเชงสมพนธเอนทต
นอรมลไลเอนทตทงหมดในแผนภาพเชงสมพนธเอนทต
ระบถงนยามของขอมลทถกจดเกบในแอทรบวตางๆในพจนานกรมขอมล
ท าการก าหนดมาตราฐานในการตงชอใหกบแอทรบวและเอนทตตางๆหลกเลยงการปรากฏขนของ ternary relationship
248 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
รปท 10.10 ขนตอนการออกแบบ ER diagram ทประกอบไปดวยขนตอน/กจกรรมตางๆ
รปท 10.11 เครองมอและแหลงขอมลทมกถกประยกตใชในการออกแบบแบบจ าลองขอมล
249 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
จากขนตอนทงหมดขางตน ขนตอนสดทายมกจะถกละเลยทซงจะกอนใหเกดความสบสนและความเขาใจผดเกยวกบขอมลได ดวยเหตน เราควรทจะตองใหความใสใจกบการก าหนดมาตราฐานในการตงชอใหกบแอทรบวและเอนทตตางๆทจะชวยใหเราสามารถมความเขาใจเกยวกบขอมลไดอยางถกตอง
10.4.3 การทวนสอบแบบจ าลองขอมล การตรวจสอบแบบจ าลองขอมลจะเปนขนตอนสดทายและเปนขนตอนทส าคญในกระบวนการออกแบบแบบจ าลองขอมล ดวยเหตน เราจะตองท าการตรวจสอบแบบจ าลองขอมลในหลายๆแงมมทซงจะประกอบไปดวยการตรวจสอบดงน
การตรวจสอบมมมองขอมลของผใช
การตรวจสอบการด าเนนการตางๆกบฐานขอมลดวยการใชค าสงตางๆเชน SELECT, INSERT, UPDATE และ DELETE
การตรวจสอบสทธในการเขาใจงานและมาตราการความปลอดภย
การตรวจสอบความสอดคลองกบการด าเนนธรกจและเงอนไขตางๆ
ในการออกแบบฐานขอมลสวนใหญจะมการท างานเปนทมทจะเปนกลมผออกแบบทจะไดรบมอบหมายใหคด วเคราะห พจารณาถงสวนยอยหนงๆของฐานขอมล โดยสวนยอยหนงๆ (module) จะเปนสวนประกอบยอยหนงๆทเกยวของกบการด าเนนธรกจหนงๆ เชน คลงสนคา การสงซอสนคา การช าระเงน และอนๆ ดงนน เมอเราตองท าการแบงการออกแบบเปนสวนยอยๆจะชวยใหเกดประโยชนดงน
สวนยอยตางๆของระบบจะสามารถแบงกระจายใหกบผออกแบบหนงๆทซงจะชวยลดเวลาในการออกแบบฐานขอมลได
การแบงสวนการออกแบบเปนสวนยอยจะชวยลดจ านวนเอนทตทผออกแบบหนงๆตองพจารณา อนน ามาซงการลดความผดพลาดและท าใหผออกแบบสามารถจดการออกแบบไดงาย
การแบงสวนการออกแบบเปนสวนยอยจะชวยใหเราสามารถด าเนนการสรางระบบฐานขอมลตนแบบไดอยางรวดเรว โดยเมอออกแบบสวนยอยหนงๆเสรจเราจะสามารถด าเนนการสรางระบบฐานขอมลไดเลย โดยไมตองรอใหการออกแบบทกสวนยอยเสรจสน นอกจากนนยงชวยใหผใชงานสามารถใชงานระบบฐานขอมลสวนยอยทสรางเสรจแลวไดเรวขนอกดวย
จากแนวทางการออกแบบฐานขอมลดวยการแบงเปนสวนยอยจะท าใหแผนภาพเชงสมพนธเอนทตถกแบงเปนสวนยอยดวยเชนกน ดวยเหตนอาจท าใหแผนภาพเชงสมพนธเอนทตยอยๆอาจะเกดความซอนเหลอมกนหรออาจเกดการมเอนทตทซอนกน รวมถงการมมมมองขอมลทไมสอดคลองกน และ การแบงการท างานออกเปนสวนยอยอาจไมสนบสนนการท างานขามสวนได ดงนน การทจะหลกเลยงปญหาขางตน เราควรทจะท าการรวบรวมสวนยอยตางๆเขาดวยกน โดยเรมจากพจารณาถงสวนยอยหลกแลวน าสวนยอยตางๆมารวมกบสวนยอยหลกนน การรวมแตละครงจะเปนการเพมเอนทตตางๆใหกบสวนยอยหลก ดวยเหตนเราจงจ าเปนท
250 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
จะตองท าการตรวจสอบวาเอนทตใหมทถกเพมใหกบสวนยอยหลกนนมความซ าซอนกบเอนทตเดมในสวนยอยหลกหรอไม โดยขนตอนการตรวจสอบและการรวมสวนยอยๆตางเพอสรางเปนแผนภาพเชงสมพนธเอนทตของกระบวนการทงหมดจะแสดงในรป 10.12 ทซงจะเปนกระบวนการท าซ าเพอตรวจสอบความถกตองอยางละเอยดถถวน
รปท 10.12 กระบวนการในการตรวจสอบแบบจ าลองขอมลเชงสมพนธเอนทต
10.5 การเลอกซอฟตแวร DBMS การเลอกซอฟตแวรระบบจดการฐานขอมลเปนกระบวนการหน งทส าคญทซ งจะสงผลตอประสทธภาพการท างานของฐานขอมล ดงนน ในการทจะเลอกซอฟตแวรระบบจดการฐานขอมลหนงๆ เราควรทจะตองท าการศกษาถงขอด-เสยของซอฟตแวรนนๆอยางละเอยดถถวนทซงจะตองพจารณาปจจยตางๆดงน
251 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
คาใชจาย—จะรวมถงคาใชจายตางๆ เชน คาลขสทธซอฟตแวร คาด าเนนการตดตงซอฟตแวร คาใชจายส าหรบอบรมพนกงานส าหรบใชงาน และคาใชจายในการด าเนนการอนๆ
คณลกษณะและเครองมอตางๆของระบบจดการฐานขอมล—ซอฟตแวรระบบจดการฐานขอมลตางๆจะมฟงกชนและเครองมอตางๆเปนสวนประกอบ ตวอยางเชน query by example (QBE) การจดการหนาจอ (screen management) การสรางรายงาน การสรางแอพพลเคชน การจดการพจนานกรมขอมล และอนๆ นอกเหนอจากฟงกชนขางตน เราควรทจะพจารณาถงการดและ/บ ารงรกษา การประมวลผลควร ความยาก-งายในการใชงาน ประสทธภาพในการท างาน มาตราการความปลอดภย และอนๆ
แบบจ าลองขอมลทสอดคลองกบซอฟตแวรระบบจดการฐานขอมล—ซอฟตแวรหนงๆอาจส าหรบแบบจ าลองขอมลทไมเหมอนกน เชน ซอฟตแวรหนงๆอาจสนบสนนการท างานภายใตแบบจ าลองขอมลแบบล าดบชน แบบจ าลองขอมลแบบเครอขาย แบบจ าลองขอมลเชงสมพนธ หรอแบบจ าลองขอมลเชงวตถ
ความสามารถในการเคลอนยาย—เราควรทจะตองพจารณาวาซอฟตแวร DBMS ทจะเลอกใชสามารถเคลอนยายขามแพลตฟอรม ระบบ และภาษาโปรแกรมไดหรอไม?
ความตองการฮารดแวรเพอสนบสนนการท างานของซอฟตแวรฐานขอมล—จะรวมถงโปรเซสเซอร หนวยความจ า พนทในดสก และอนๆ
10.6 การออกแบบเชงตรรกะ การออกแบบเชงตรรกะเปนขนตอนทสองของขนตอนการออกแบบฐานขอมลทมเปาหมายทจะท าการออกแบบฐานขอมลดวยการประยกตใชแบบจ าลองขอมลหนงๆ การออกแบบเชงตรรกะจะเปนขนตอนทตอยอดมาจากขนตอนการออกแบบกรอบความคดทซงจะน าขอมลตางๆภายใตกรอบความคดมาก าหนดโครงสรางการจดเกบขอมลดวยการประยกตใชแบบจ าลองขอมลหนงๆ ตวอยางเชน ถาเราตองการออกแบบเชงตรรกะดวยการประยกตใชแบบจ าลองขอมลเชงสมพนธเราจะตองท าการระบถงตารางขอมล แอทรบว ความสมพนธ และเงอนไขตางๆ เปนตน การออกแบบเชงตรรกะจะประกอบไปดวย 4 ขนตอนหลกดงน
การปรบเปลยนแบบจ าลองกรอบความคดใหกลายเปนแบบจ าลองเชงตรรกะ
การตรวจสอบแบบจ าลองเชงตรรกะดวยการประยกตใชนอรมลไลเซชน
การตรวจสอบแบบจ าลองเชงตรรกะดวยกฎความสมบรณตางๆ (integrity constriants)
การตรวจสอบแบบจ าลองเชงตรรกะกบความตองการของผใช
ภายใตขนตอนการออกแบบทง 4 ขนตอน เราไมจ าเปนตองท าการออกแบบแบบเรยงล าดบ แตเราจะตองด าเนนการซ าหลายๆรอบเพอใหแนใจไดวาเราสามารถออกแบบแบบจ าลองเชงตรรกะทมความสมบรณและถกตองตรงความตองการของผใช โดยรายละเอยดของแตละขนตอนจะสามารถแสดงไดดงน
252 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
การปรบเปลยนแบบจ าลองกรอบความคดใหกลายเปนแบบจ าลองเชงตรรกะ ขนตอนแรกของการออกแบบจ าลองขอมลเชงตรรกะจะเปนการปรบเปลยนแบบจ าลองกรอบความคดใหกลายเปนแบบจ าลองขอมลทผออกแบบไดท าการเลอกไว แตดวยเนองจากเนอหาในวชานไดเนนย าเกยวกบแบบจ าลองขอมลเชงสมพนธและแบบจ าลองขอมลเชงสมพนธเอนทต ดงนน เราจะเนนย าทการการปรบเปลยนแบบจ าลองกรอบความคดใหกลายเปนแบบจ าลองขอมลเชงสมพนธเอนทตทซงจะเปนการน าขอมลจากแบบจ าลองกรอบความคดใหกลายเปนตารางขอมล แอทรบว ความสมพนธ และเงอนไขตางๆ โดยขนตอนการปรบเปลยนแบบจ าลองกรอบความคดใหกลายเปนเซตของตารางขอมลจะประกอบไปดวยขนตอนตางๆดงน
การพจารณา strong entity
การพจารณาความสมพนธระหวางเอนทต supertype และ subtype
การพจารณา weak entity
การพจารณา binary relationship
การพจารณา higher degree relationship
การตรวจสอบแบบจ าลองเชงตรรกะดวยการประยกตใชนอรมลไลเซชน หลงจากท าการปรบเปลยนแบบจ าลองกรอบความคดใหอยในรปแบบของแบบจ าลองขอมลเชงสมพนธเอนทตแลว เราจะไดแผนภาพเชงสมพนธเอนทตทบงบอกถงเอนทต แอทรบว ความสมพนธและเงอนไขตางๆ แตอยางไรกตาม ในเอนทตหนงอาจมแอทรบวทมลกษณะเปน composite และ/หรอ multivalued attribute ทซงจะตองการการด าเนนการปรบเปลยนใหเปน simple attribute และ/หรอ single-valued attribute ตามล าดบ จากนนเราควรทจะพจารณาถงการขนแกกนหรอการพงพาอาศยกนของแอทรบวตางๆในแตละเอนทตดวยการประยกตใชขนตอนนอรมลไลเซชน เพอท าการปรบเปลยนแบบจ าลองขอมลใหอยในรปแบบ 3NF
การตรวจสอบแบบจ าลองเชงตรรกะดวยกฎความสมบรณตางๆ หลงจากการปรบเปลยนแบบจ าลองกรอบความคดใหกลายเปนแบบจ าลองขอมลเชงสมพนธเอนทตแลวเราจะตองท าการพจารณาถงเงอนไขตางๆ รวมถงการก าหนดขอบเขตคาของขอมลทปรากฏในแอทรบวเพอทจะท าใหขอมลในเอนทตตางๆมความสอดคลองกบการด าเนนธรกจ นอกจากนนเรายงจ าเปนตองท าการพจารณาเกยวกบ entity integrity และ referential integrity เพอทจะลดความผดปกตของขอมลอกดวย ทายสดเราตองท าการตรวจสอบสทธในการเขาถง/ใชงานขอมลของผใชงานทจะชวยใหขอมลถกใชงานอยางเหมาะสมและมความปลอดภย
การตรวจสอบแบบจ าลองเชงตรรกะกบความตองการของผใช ขนตอนสดทายของการออกแบบแบบจ าลองขอมลเชงตรรกะจะเกยวของกบการตรวจสอบแบบจ าลองทไดท าการออกแบบไวกบความตองการของผใชงานทซงจะตองท าการรองขอใหผใชงานท าการ
253 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
ตรวจสอบขอมล และมาตราการความปลอดภยดวยเชนกน โดยหลงจากผใชท าการตรวจสอบอยางละเอยดถถวนแลว เราจะไดแบบจ าลองขอมลเชงตรรกะทแสดงถงโครงสรางการจดเกบขอมลท จะไมขนกบฮารดแวรตางๆ และแบบจ าลองขอมลนจะเปนอนพตของการออกแบบเชงกายภาพตอไป
10.7 การออกแบบเชงกายภาพ การออกแบบเชงกายภาพจะเปนขนตอนการออกแบบองคประกอบการจดเกบขอมล และลกษณะการเขาถง/การใชงานขอมลเพอท าใหแนใจไดวาฐานขอมลทสรางขนจะมความสมบรณ มความปลอดภย และมประสทธภาพในการท างาน การออกแบบเชงกายภาพจะเปนขนตอนทตองการความสามารถเฉพาะทซงจะตองยงเกยวกบฮารดแวรและจะตองค านงถงประสทธภาพการท างานของระบบ ขนตอนการออกแบบเชงกายภาพจะประกอบไปดวย 3 ขนตอนหลกดงน
การระบถงองคประกอบการจดเกบขอมล
การประเมนความสมบรณและความปลอดภย
การตรวจสอบประสทธภาพการท างาน
การระบถงองคประกอบการจดเกบขอมล กอนทเราจะท าการระบถงองคประกอบของการจดเกบขอมล เราควรทจะตองพจาณาถงปรมาณขอมลทตองจดการและรปแบบการใชขอมลจากฐานขอมลทซงจะมประโยชนดงน
การทราบถงปรมาณขอมลจะชวยใหเราสามารถค านวณไดวาจะตองท าการจองพนทในฐานขอมลเทาใดในการจดเกบขอมล
การทราบถงควาถในการเพม อพเดท คนหาขอมลจะชวยใหเราทราบถงรปแบบการใชงานขอมล
เมอเราทราบถงปรมาณขอมลและรปแบบขอมลจะท าใหเราสามารถด าเนนการดงตอไปนได
ท าการตรวจสอบพนทส าหรบจดเกบขอมลในแตละตารางขอมลและการจดองคประกอบของตารางขอมล
ระบถงดชนทจะใชในแตละตารางขอมล
ระบถงมมมองและประเภทของมมมองทจะใชในแตละตารางขอมล
การประเมนความสมบรณและความปลอดภย หลงจากท าการระบถงองคประกอบของการจดเกบขอมลใหกบตารางขอมล การสรางดชน และการสรางมมมองส าหรบตารางขอมลหนงๆแลว ฐานขอมลจะมความพรอมใหผใชสามารถใชงานได แตกอนทจะใชงานผใชควรทจะตองระบ/ยนยนตวตนเพอเขาใชงาน ดวยเหตนจงเปนเหตใหเราตองท าการพจารณาถง 1) การก าหนดใหผใชเขาใชงานและบทบาทของผใชงาน และ 2) ก าหนดความสามารถในการด าเนนการใหกบผใช ตามล าดบ
254 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
การตรวจสอบประสทธภาพการท างาน กอนทจะเรมใชงานเราควรทจะตองท าการตรวจสอบประสทธภาพการด าเนนการตางๆของฐานขอมลทซงจะตองยงเกยวกบกระบวนการในการปรบจนฐานขอมลและควรตางๆเพอเพมประสทธภาพการด าเนนงานและชวยใหประสทธภาพการท างานทไดสามารถตอบสนองความตองการของผใชงานได โดยเนอหาในสวนนเราจะท าการศกษาอกครงหนงในบทท 10
10.8 กลยทธในการออกแบบฐานขอมล การออกแบบฐานขอมลจะมวธดงเดม 2 วธดงแสดงในรป 10.13 ทจะมรายละเอยดดงน
Top-down—จะเรมจากการระบถงขอมลอยางคราวๆ แลวจงท าการระบถงขอมลทมความละเอยดมากขน ตวอยางเชน เรมจากการระบถงเอนทตตางๆแลวจงท าการระบถงแอทรบวตางๆในเอนทตเหลานน
Bottom-up—จะเรมจากการระบถงขอมลทมความละเอยดกอนแลวคอยระบถงกลม/ประเภทของขอมล ตวอยางเชน การระบถงแอทรบวตางๆทจ าเปนตองท าการจดเกบในฐานขอมล จากนนคอยท าการรวบรวมแอทรบวทเกยวเนองกนเพอระบถงเอนทตหนงๆ
รปท 10.13 วธการออกแบบฐานขอมลแบบ bottom-up และ top-down
การเลอกวธการออกแบบฐานขอมลจาก 2 วธขางตน เราสามารถเลอกไดจากขอบเขตของปญหาทจะท าการออกแบบและความชอบหรอความถนดของผออกแบบ เมอเราพจารณาคราวๆ เราอาจมองวาทงสองวธนคลายคลงกน แตโดยแทจรงแลวการออกแบบในลกษณะ bottom-up จะมประสทธภาพในการแบบฐานขอมลขนาดเลกทมเอนทต แอทรบว ความสมพนธ และเงอนไขไมมากนก แตส าหรบการออกแบบในลกษณะ top-down จะเหมาะส าหรบการออกแบบฐานขอมลขนาดใหญทมความหลากหลาย ซบซอน ทซงวธการนจะชวยใหเราสามารถบรหารจดการไดโดยงาย
255 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
10.9 การออกแบบในลกษณะ centralized และ decentralized การเลอกวธการออกแบบฐานขอมลแบบ bottom-up หรอ top-down จะขนกบขอบเขตและขนาดของระบบฐานขอมลทจะท าการออกแบบ แตอยางไรกตาม เราควรทจะพจารณาเกยวกบโครงสรางขององคกรทจะมลกษณะเปนแบบ centralized หรอ decentralized ทจะเกยวเนองกบหลกการการออกแบบฐานขอมล 2 หลกการดงน
Centralized design—จะเปนหลกการออกแบบฐานขอมลขนาดเลกทมการด าเนนการกบฐานขอมลไมมากนก ดงนน การออกแบบฐานขอมลอาจด าเนนการดวยผออกแบบเพยงคนเดยวหรออาจด าเนนการดวยทมผออกแบบกลมเลกๆ การออกแบบแบบ centralized จะประกอบไปดวยขนตอนการออกแบบดงแสดงในรป 10.14 ทจะประกอบไปดวยการระบถงปญหา/การด าเนนการตางๆ การออกแบบกรอบความคด การตรวจสอบความคดทออกแบบไว การก าหนดฟงกชนการท างาน /การด าเนนการตางๆของระบบ การก าหนดเงอนไขของขอมล และการตรวจสอบกรอบความคดวามความสอดคลอง/สามารถตอบสนองตอการด าเนนการทางธรกจและสงทผใชตองการ ตามล าดบ เมอท าการออกแบบตามขนตอนขางตนจะท าใหเราไดกรอบความคดและพจนานกรมขอมลทบงบอกถงโครงสรางการจดเกบขอมล
รปท 10.14 ขนตอนการออกแบบฐานขอมลแบบ centralized design
Decentralized design—มกถกประยกตใชในกรณทระบบฐานขอมลมเอนทตทตองพจารณาเปนจ านวนมาก เอนทตมความสมพนธทซบซอน และมการด าเนนการกบฐานขอมลทมความซบซอน นอกจากนน decentralized design ยงถกประยกตใชกบองคกรทมการด าเนนการในหลายๆพนทโดยแตละพนทจะมการจดเกบขอมล (ดงแสดงตวอยางดงรป 10.15) เมอระบบฐานขอมลมขนาดใหญและมความซบซอน เราอาจไมสามารถออกแบบฐานขอมลเพยงล าพงได ดงนนเราควรจะตองมการท างานเปนทมทซงจะแบงการท างานออกเปนโมดลยอยๆแลวก าหนดใหแตละคนในทมรบผดชอบ
256 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
โมดลนนๆทซงจะรบผดชอบการออกแบบบางสวนของระบบฐานขอมลเทานน เมอผออกแบบไดรบมอบหมายใหด าเนนการออกแบบโมดลหนงๆแลว พวกเขาจะตองท าการออกแบบกรอบความคด และท าการตรวจสอบกรอบความคดท ไดออกแบบไว เมอทกกรอบความคดยอยไดถกตรวจสอบจนครบถวนแลว กรอบความคดเหลานนจะถกรวมเขาดวยกนเพอสรางเปนกรอบความคดของทงระบบและทายสดจะเปนการก าหนดเกยวกบพจนานกรมขอมลส าหรบขอมลภายใตกรอบความคดทงหมด จากขนตอนทงหมด ขนตอนการรวมขอมลจะเปนขนตอนทเราตองด าเนนการอยางระมดระวงทซงอาจกอใหเกดปญหาดงน (ดงแสดงในรป 10.16)
รปท 10.15 ขนตอนการออกแบบฐานขอมลแบบ decentralized design
o Synonyms และ homonyms--หลายๆแผนกอาจระบถงเอนทต/แอทรบวเดยวกนในหลายๆลกษณะ (synonyms) หรอ แผนกตางๆอาจท าการก าหนดชอของขอมลหนงๆกบขอมลทมความแตกตางกน (homonyms)
o Entity supertypes และ entity subtypes—เอนทต subtype หนงๆจากมองไดเปนเอนทตยอยของแผนกหนงๆหรอหลายๆแผนก ดวยเหตนผออกแบบฐานขอมลจะตองท าการรวมเอนทต subtype ใหอยในระดบทสงขนใน specialization hierarchy
o Conflicting object definitions—แอทรบวหนงๆอาจถกจดเกบในหลายๆแผนกทซงจะใชชนดขอมลทแตกตางกน เชน แผนกหนงๆอาจจดเกบเปนขอมลเชงตวเลข แตอกแผนกหนง
257 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน
อาจจดเกบเปนขอมลเชงตวอกษร นอกจากนนแลว แอทรบวหนงๆอาจมขอบเขตของคาขอมลทปรากฏแตกตางกนได ดวยเหตน ผออกแบบจะตองท าการตรวจสอบและปรบเปลยนใหแอทรบวเหลานนมชนดและขอบเขตของขอมลทเหมอนกน
รปท 10.16 ปญหาของการรวบรวมกรอบความคดยอย
ค าถามทายบท 1. ระบบเทคโนโลยสารสนเทศคออะไร? ระบบนมวตถประสงคอยางไร? 2. SDLC คออะไร? 3. DBLC คออะไร? 4. กฎเกณฑทางธรกจคออะไร? และมความส าคญอยางไร? 5. ขนตอนการออกแบบ ER diagram ประกอบไปดวยขนตอนอะไรบาง? 6. การเลอกซอฟตแวรระบบจดการฐานขอมลมความส าคญอยางไร? 7. ขนตอนการออกแบบ logical design ประกอบไปดวยขนตอนอะไรบาง? 8. ขนตอนการออกแบบ physical design ประกอบไปดวยขนตอนอะไรบาง? 9. ความแตกตางระหวางการออกแบบฐานขอมลแบบ bottom-up และ top-down เปนอยางไร? 10. ความแตกตางระหวาง centralized และ dencentrailized conceptual design เปนอยางไร?