บทที่ 10...

28
230 886301-ฐานข้อมูล โดย อ.ดร. โกเมศ อัมพวัน บทที10 การออกแบบฐานข้อมูล วัตถุประสงค์ของบทเรียน ศึกษาเกี่ยวกับการออกแบบฐานข้อมูลที่ประสบความสาเร็จ ศึกษาเกี่ยวกับกระบวนการออกแบบระบบเทคโนโลยีสารสนเทศที่ซึ่งมีฐานข้อมูลเป็นส่วนหนึ่งของ ระบบ (Software Development Life Cycle, SDLC) ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล (Database Life Cycle, DBLC) ศึกษาเกี่ยวกับวิธีการประเมินและปรับปรุง SDLC และ DBLC ศึกษาเกี่ยวกับกลยุทธ์ในการออกแบบฐานข้อมูลในรูปแบบต่างๆ เช่น top-down, bottom-up, centralized และ decentralized เนื้อหาของบทเรียน ระบบเทคโนโลยีสารสนเทศ กระบวนการพัฒนาระบบเทคโนโลยีสารสนเทศ ขั้นตอนการออกแบบ ฐานข้อมูล การออกแบบกรอบความคิด การเลือกซอฟต์แวร์ DBMS การออกแบบเชิงตรรกะ การออกแบบเชิง กายภาพ กลยุทธ์ในการออกแบบฐานข้อมูล การออกแบบในลักษณะ centralized และ decentralized กิจกรรมการเรียน-การสอน อธิบายพร้อมยกตัวอย่างประกอบ ศึกษาจากเอกสารคาสอน ฝึกปฏิบัติการตามที่มอบหมาย ทาแบบฝึกหัดท้ายบท อุปกรณ์ที่ใช้ในการเรียน-การสอน เอกสารคาสอน เครื่องคอมพิวเตอร์ เครื่องฉายภาพสไลด์ การวัดและประเมินผล การตอบคาถามระหว่างการเรียน-การสอน การทาแบบทดสอบย่อยท้ายบท การตรวจงานตามที่มอบหมาย

Transcript of บทที่ 10...

Page 1: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

230 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

บทท 10 การออกแบบฐานขอมล วตถประสงคของบทเรยน

ศกษาเกยวกบการออกแบบฐานขอมลทประสบความส าเรจ

ศกษาเกยวกบกระบวนการออกแบบระบบเทคโนโลยสารสนเทศทซงมฐานขอมลเปนสวนหนงของระบบ (Software Development Life Cycle, SDLC)

ศกษาเกยวกบกระบวนการออกแบบฐานขอมล (Database Life Cycle, DBLC)

ศกษาเกยวกบวธการประเมนและปรบปรง SDLC และ DBLC

ศกษาเกยวกบกลยทธในการออกแบบฐานขอมลในรปแบบตางๆ เชน top-down, bottom-up, centralized และ decentralized

เนอหาของบทเรยน

ระบบเทคโนโลยสารสนเทศ กระบวนการพฒนาระบบเทคโนโลยสารสนเทศ ขนตอนการออกแบบฐานขอมล การออกแบบกรอบความคด การเลอกซอฟตแวร DBMS การออกแบบเชงตรรกะ การออกแบบเชงกายภาพ กลยทธในการออกแบบฐานขอมล การออกแบบในลกษณะ centralized และ decentralized

กจกรรมการเรยน-การสอน อธบายพรอมยกตวอยางประกอบ

ศกษาจากเอกสารค าสอน

ฝกปฏบตการตามทมอบหมาย

ท าแบบฝกหดทายบท

อปกรณทใชในการเรยน-การสอน เอกสารค าสอน

เครองคอมพวเตอร

เครองฉายภาพสไลด

การวดและประเมนผล การตอบค าถามระหวางการเรยน-การสอน

การท าแบบทดสอบยอยทายบท

การตรวจงานตามทมอบหมาย

Page 2: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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 ปจจยทเหลออาจท าให

Page 3: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

232 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

ระบบเทคโนโลยสารสนเทศมฟงกชนการท างานทไมดและอาจไมสอดคลองกบการด าเนนการทางธรกจกเปนได การพฒนาระบบเทคโนโลยจะเปนงานทยากทซงจะประกอบไปดวยกระบวนการส ารวจความตองการและความจ าเปนในการใชงานระบบเทคโนโลยสารสนเทศ และกระบวนการสรางระบบเทคโนโลยสารสนเทศทซงจะตองการการวางแผนทดทจะท าใหแนใจวาทกกจกรรม/การด าเนนการจะสอดคลองกบการด าเนนการทางธรกจและท าใหแนใจไดวาการสรางระบบเทคโนโลยสารสนเทศจะส าเรจตรงเวลา

รปท 10.1 การสรางขอมลสารสนเทศเพอสนบสนนการตดสนใจ

10.2 กระบวนการพฒนาระบบเทคโนโลยสารสนเทศ กระบวนการพฒนาระบบเทคโนโลยสารสนเทศ (System Development Life Cycle, SDLC) จะเปนกระบวนการในการสรางและตดตามการท างานของระบบเทคโนโลยสารสนเทศทจะท าใหผพฒนาระบบไดเหนภาพรวมของการออกแบบฐานขอมลและการสรางแอพพลเคชนท ซงจะท าใหเราสามารถประเมนการท างานของระบบเทคโนโลยสารสนเทศได

ดงแสดงในรป 10.2 ขนตอนการออกแบบระบบเทคโนโลยสารสนเทศจะแบงออกเปน 5 กระบวนการยอย: ขนตอนการวางแผน (planning), ขนตอนการวเคราะห (analysis), ขนตอนการออกแบบและพจารณารายละเอยด (detailed systems design), ขนตอนการสรางระบบ (implementation), และขนตอนการดแลรกษาระบบ (maintainance) ตามล าดบ ขนตอน SDLC จะเปนการท างานแบบท าซ า ตวอยางเชน ในการท างานรอบแรกเราอาจท าการศกษาขนตอนการท างานของบรษท/องคกรจากนนท าการลงรายละเอยดการออกแบบเบองตนจากนนท าการประเมนวามสวนใดทยงไมสมบรณอกหรอไมแลวท าการพจารณาใหมหลายๆรอบจนกระทงไดระบบเทคโนโลยสารสนเทศทมการด าเนนงานครบถวนทสามารถตอบสนองตอการด าเนนธรกจตางๆได

Page 4: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

233 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

รปท 10.2 กระบวนการพฒนาระบบเทคโนโลยสารสนเทศ

10.2.1 ขนตอนการวางแผน ขนตอนการวางแผนจะท าใหผพฒนาระบบเหนภาพรวมของวตถประสงคและการด าเนนงานขององคกรทจะท าใหเราทราบถงความตองการทจะไดรบสารสนเทศ จากนนเราจะตองท าการประเมนความตองการดงกลาวทจะชวยใหเราสามารถตอบค าถามทส าคญเหลานได

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

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

Page 5: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

234 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

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

ในการทจะตอบค าถามขางตน ผทมสวนรวมกบกระบวนการ SDLC จะตองท าการศกษาและประเมนทางเลอกอนๆวาสามารถแกไขปญหาทเกดขนกบระบบการท างานเดมไดหรอไม ถาผลประเมนบงบอกวาบรษท/องคกรมความตองการและมความจ าเปนในการพฒนาระบบการด าเนนงานใหมจะกอใหเกดค าถามทตามมาคอมความเปนไปไดหรอไมในการทจะพฒนาระบบใหม เพอทจะตอบค าถามดงกลาวเราควรทจะตองพจารณาถงปจจยตางๆดงน

ปจจยทางดานฮารดแวรและซอฟตแวร—เราตองพจารณงฮารดแวรทจ าเปนตองใชหลงจากการสรางระบบเทคโนโลยสารสนเทศ อาทเชน desktop computer, multiprocessor computer, mainframe หรอ supercomputer เปนตน แตในสวนของซอฟตแวรเราจะตองค าถงการประยกตใช single หรอ multiuser operating systems, ชนดของฐานขอมลและซอฟตแวรฐานขอมลทใช, ภาษาทใชในการเขยนโปรแกรมส าหรบพฒนนาระบบเทคโนโลยสารสนเทศ และอนๆ

ปจจยทางดานคาใชจาย—ในการทจะลงทนแตละครงของบรษทไมวาจะเปนลงทนในดานเครองจกร หรอระบบคอมพวเตอร เราควรทจะตองท าการศกษาวาจ านวนเงนทลงนนนนมปรมาณมากนอยเพยงใดและจ านวนเงนทลงทนมความคมคาตอสงทไดรบมากนอยเพยงใด

ปจจยทางดานการด าเนนงาน—ในการทจะใชงานระบบเทคโนโลยสารสนเทศทสรางขน บรษท/องคกรตองใชพนกงาน เทคนค และปรมาณเงนมากนอยเพยงใด นอกจากนนเรายงตองท าการเป ดเมนเกยวกบการจดการตางๆของระบบทเกยวของกบการดแลรกษาระบบใหคงอย

10.2.2 ขนตอนการวเคราะห ปญหาทพบในกระบวนการวางแผนจะถกพจารณาโดยละเอยดในขนตอนการวเคราะหทซงจะตองพจารณาถงปจจยดงตอไปน

อะไรคอสงทผใชงานระบบตองการเพมเตมจากระบบปจจบน?

ความตองการเหลานนเหมาะสมและมความส าคญตอความตองการสารสนเทศในการด าเนนงานหรอไม?

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

Page 6: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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 ชนดหลกดงน

Page 7: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

236 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

การแกไขขอผดพลาดของระบบ

การปรบเปลยนกระบวนการท างานตามความเปลยนแปลงของการด าเนนธรกจ

การพฒนาปรบปรงเพอเพมประสทธภาพในการท างานของระบบ

10.3 ขนตอนการออกแบบฐานขอมล ภายใตการออกแบบระบบเทคโนโลยสารสนเทศ การออกแบบฐานขอมลจะเปนขนตอนหนงทเราจะตองใหความส าคญ ขนตอนการออกแบบฐานขอมลจะประกอบไปดวย 6 ขนตอนหลกดงแสดงในรป 10.3 ทจะประกอบดวยการศกษาฐานขอมลขององคกรเบองตน (database initial study), การออกแบบฐานขอมล (database design), การสรางฐานขอมลและการโหลดขอมลเขาสฐานขอมล (implementation and loading), การทดสอบและประเมนการท างานของฐานขอมล (testing and evaluation), การประยกตใชฐานขอมล (operation), และการดแลรกษาและพฒนาใหดยงขน (maintenance and evolution) ตามล าดบ

รปท 10.3 ขนตอนการออกแบบฐานขอมล

Page 8: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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 สวนขางตนจะท าใหเราทราบถงวตถประสงคของการพฒนาระบบฐานขอมล โดยแตละสวนจะมรายละเอยดดงน

Page 9: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

238 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

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

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

การวตถประสงคและระบขอบเขต หลงจากการระบถงปญหาและเงอนไขตางๆแลว ผออกแบบฐานขอมลจะตองท าใหแนใจไดวาวตถประสงคของการสรางระบบฐานขอมล/ระบบเทคโนโลยสารสนเทศมความสอดคลองกบความตองการหรอปญหาของผใชงานหรอไม ในการทจะมความแนใจเกยวกบค าถามขางตน ผออกแบฐานขอมลควรทจะตองพจาณาและหาค าตอบส าหรบค าถามดงตอไปน

วตถประสงคเบองตนของระบบทจะท าการสรางขนใหมคออะไร?

ระบบทจะท าการสรางขนใหมสามารถเชอมตอกบระบบเดมทมอยหรอสามารถเชอมตอกบระบบทจะมการสรางขนในอนาคตไดหรอไม?

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

จากค าถามทง 3 ขางตนจะท าใหเราเขาใจถงวตถประสงคและลกษณะ/คณลกษณะของระบบทจะสรางขนใหมทซงจะชวยท าใหเรามความแนใจมากยงขนเกยวกบวตถประสงคทแทจรงของการสรางระบบ

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

Page 10: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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)

Page 11: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

240 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

รปท 10.5 ตวอยางสองมมมองของขอมล—มมมองทางธรกจและมมมองทางการออกแบบ

รปท 10.6 ขนตอนการออกแบบฐานขอมล

Page 12: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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 ซงจะตองท าการตรวจสอบอยางละเอยดเพอหลกเลยงขอผดพลาดในการโหลดขอมล

Page 13: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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—จะเปนการส ารองขอมลทงหมดในฐานขอมล

Page 14: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

243 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

Differential backup—จะท าการคดลอกขอมลทมการเปลยนแปลงลาสดจากการส ารองขอมลครงกอนหนา

Transaction log backup—จะเปนการส ารองขอมลทมการด าเนนการทมการจดบนทกใน log file เทานน

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

10.3.5 การประยกตใชฐานขอมล หลงจากท าการประเมนและตรวจสอบการท างานของฐานขอมลอยางแนชดแลวจะเปนการประยกตใชฐานขอมลเพอการด าเนนการตางๆของบรษท/องคกร โดยจะเรมจากการก าหนดใหผใชงาน (บางต าแหนง/หนาท) ใหเรมใชงานฐานขอมล เมอผใชงานเรมใชงานจะท าใหเราอาจคนพบปญหาทเราไมเคยพบมากอนในขนตอนการทดสอบและตรวจสอบการท างานของฐานขอมล และเมอเราคนพบปญหาแลวเราจะตองท าการระบถงวธการแกไขปญหาในหลายๆแงมมทซงจะชวยใหเราแกไขปญหาไดอยางสมบรณ

10.3.6 การดแลรกษาและพฒนาใหดยงขน หลงจากท าการประยกตใชฐานขอมลแลว ผดแลฐานขอมลควรทจะตองด าเนนการกจกรรมตางๆเพอท าใหฐานขอมลสามารถท างานไดอยางราบรนดงน

การส ารองขอมล

การกคนขอมล

การเพมประสทธภาพการท างานของฐานขอมล

การเพมเอนทต แอทรบว และอนๆ

การก าหนดสทธในการใชงานขอมลใหกบผใช

การจดเกบสถตเกยวกบการเขาถงขอมลเพอพจาณาถงการเพมประสทธภาพการท างานของระบบและเพอตดตามเฝาสงเกตการท างานของระบบ

การตรวจสอบมาตราการความปลอดภยจากสถตทไดรบ

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

Page 15: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

244 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

จากขนตอน DBLC ทงหมด เราจะสงเกตไดวาขนตอนตางๆใน DBLC จะมความคลายคลงกบขนตอนตางๆใน SDLC ทซงจะสามารถแสดงการการท างานรวมกนระหวาง DBLC และ SDLC ไดดงรปท 10.7

รปท 10.7 การท างานรวมกนระหวาขนตอน DBLC และ SDLC

10.4 การออกแบบกรอบความคด การออกแบบกรอบความคดจะเปนขนตอนแรกของการออกแบบฐานขอมล (การออกแบบฐานขอมลเปนขนตอนทสองของ DBLC) ทมเปาหมายทจะออกแบบฐานขอมลทมความอสระจากซอฟตแวรฐานขอมลและอปกรณตางๆทใชส าหรบจดเกบขอมล โดยผลลพธทไดจากการออกแบบกรอบความคดจะเปนแบบจ าลองกรอบความคด (conceptual data model) ทสามารถบงบอกไดถงเอนทต แอทรบว ความสมพนธและเงอนไขตางๆ การสรางแบบจ าลองกรอบความคดมกถกใชในการก าหนดโครงสรางของการจดเกบขอมลทซงจะท าใหมความเขาใจในธรกจและฟงกชนการด าเนนการตางๆของการด าเนนธรกจ ในระหวางการด าเนนการสรางแบบจ าลองกรอบความคดเราจะท าการระบถงขอมลทงหมดทจะถกใชในการด าเนนการตางๆของการด าเนนธรกจ แตเราไมตองระบถงชนดของฮารดแวรและซอฟตแวรทจะใชส าหรบจดเกบและจดการกบขอมล (หมายเหต—ดวยเหตนจงท าใหการออกแบบแบบจ าลองกรอบความคดจะไมขนกบฮารดแวรและซอฟตแวรทซงจะท าใหระบบทจะท าการสรางขนสามารถท างานไดกบฮารดแวรและซอฟตแวรใดๆทจะถกเลอกใชในภายหลง)

Page 16: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

245 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

การออกแบบกรอบความคดจะประกอบไปดวย 4 ขนตอน: การวเคราะหขอมลและความตองการของผใชงาน , แบบจ าลองขอมลเชงสมพนธเอนทตและกระบวนการนอรมลไลเซชน , การทวนสอบแบบจ าลองขอมล และ การออกแบบฐานขอมลแบบกระจาย ทซงจะสามารถอธบายในรายละเอยดดงน

10.4.1 การวเคราะหขอมลและความตองการของผใชงาน ขนตอนแรกของการออกแบบกรอบความคดคอการะบถงลกษณะของขอมล โดยขอมลเหลานจะถกปรบเปลยนไปเปนสารสนเทศเพอใชในการด าเนนการตางๆทางธรกจ ดงนน ผออกแบบควรทจะมงเนนท

Information needs—ผออกแบบจะตองพจารณาวาขอมลสารสนเทศใดเปนทตองการของผใชและเอาทพตของระบบคออะไร

Information users—ผออกแบบจะตองพจารณาวาใครจะเปนผใชขอมลสารสนเทศ ขอมลสารสนเทศจะถกใชอยางไร มมมองขอมลของผใชมอะไรบาง

Information sources—ผออกแบบจะตองพจารณาวาขอมลสารสนเทศจะสามารถคนหาไดจากทใด เราจะสามารถสกดขอมลสารสนเทศไดอยางไร

Information constitution—ผออกแบบจะตองพจารณาวาขอมลสวนใดทจะถกประยกตใชเพอสรางเปนขอมลสารสนเทศ แอทรบวของขอมลมอะไรบาง ความสมพนธระหวางขอมลมอะไรบาง ปรมาณขอมลทจะถกจดเกบเปนเชนไร และขอมลจะถกเขาถง/ประยกตใชบอยแคไหน

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

การพฒนาและรวบรวมมมมองขอมลของผใช—จะชวยใหเราสามารถระบไดถงขอมลตางๆทจะถกจดเกบในฐานขอมล

การสงเกตการท างานของระบบปจจบน: เอาทพตทมอยและเอาทพตทตองการ--จะท าใหเราทราบถงรายงานตางๆทผใชตองการและยงสามารถทราบถงขอมลทสนบสนนการสรางรายงานเหลานน

การพดคยกบทมผพฒนาระบบ—อยางทเราทราบดวาการออกแบบฐานขอมลจะเปนสวนหนงของ SDLC ทซงผออกแบบระบบกจะท าหนาทออกแบบกรอบความคดดวยเชนกน

ในการทจะพฒนาแบบจ าลองขอมลไดอยางถกตอง ผออกแบบควรทจะตองมความเขาใจเกยวกบชนดของขอมลและการใชขอมลของบรษทอยางถองแท โดยจากเนอหาในบทท 2 เราจะทราบไดวาถาเราสามารถระบไดถงกฎเกณฑทางธรกจจะท าใหเราสามารถระบไดถงเอนทต แอทรบว ความสมพนธ connectivities cardinalities และ เงอนไขตางๆ เปนตน นอกจากประโยชนขางตนแลว การทราบถงกฎเกณฑทางธรกจจะชวยใหผออกแบบฐานขอมล (แบบจ าลองกรอบความคด) มความเขาใจเกยวกบวธการในการด าเนนธรกจและบทบาทของขอมลทมสวนเกยวของกบการด าเนนธรกจ ดงนนเราจะสามารถสรปประโยชนของกฎเกณฑทางธรกจทจะประกอบไปดวย

Page 17: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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

Page 18: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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

Page 19: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

248 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

รปท 10.10 ขนตอนการออกแบบ ER diagram ทประกอบไปดวยขนตอน/กจกรรมตางๆ

รปท 10.11 เครองมอและแหลงขอมลทมกถกประยกตใชในการออกแบบแบบจ าลองขอมล

Page 20: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

249 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

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

10.4.3 การทวนสอบแบบจ าลองขอมล การตรวจสอบแบบจ าลองขอมลจะเปนขนตอนสดทายและเปนขนตอนทส าคญในกระบวนการออกแบบแบบจ าลองขอมล ดวยเหตน เราจะตองท าการตรวจสอบแบบจ าลองขอมลในหลายๆแงมมทซงจะประกอบไปดวยการตรวจสอบดงน

การตรวจสอบมมมองขอมลของผใช

การตรวจสอบการด าเนนการตางๆกบฐานขอมลดวยการใชค าสงตางๆเชน SELECT, INSERT, UPDATE และ DELETE

การตรวจสอบสทธในการเขาใจงานและมาตราการความปลอดภย

การตรวจสอบความสอดคลองกบการด าเนนธรกจและเงอนไขตางๆ

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

สวนยอยตางๆของระบบจะสามารถแบงกระจายใหกบผออกแบบหนงๆทซงจะชวยลดเวลาในการออกแบบฐานขอมลได

การแบงสวนการออกแบบเปนสวนยอยจะชวยลดจ านวนเอนทตทผออกแบบหนงๆตองพจารณา อนน ามาซงการลดความผดพลาดและท าใหผออกแบบสามารถจดการออกแบบไดงาย

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

จากแนวทางการออกแบบฐานขอมลดวยการแบงเปนสวนยอยจะท าใหแผนภาพเชงสมพนธเอนทตถกแบงเปนสวนยอยดวยเชนกน ดวยเหตนอาจท าใหแผนภาพเชงสมพนธเอนทตยอยๆอาจะเกดความซอนเหลอมกนหรออาจเกดการมเอนทตทซอนกน รวมถงการมมมมองขอมลทไมสอดคลองกน และ การแบงการท างานออกเปนสวนยอยอาจไมสนบสนนการท างานขามสวนได ดงนน การทจะหลกเลยงปญหาขางตน เราควรทจะท าการรวบรวมสวนยอยตางๆเขาดวยกน โดยเรมจากพจารณาถงสวนยอยหลกแลวน าสวนยอยตางๆมารวมกบสวนยอยหลกนน การรวมแตละครงจะเปนการเพมเอนทตตางๆใหกบสวนยอยหลก ดวยเหตนเราจงจ าเปนท

Page 21: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

250 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

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

รปท 10.12 กระบวนการในการตรวจสอบแบบจ าลองขอมลเชงสมพนธเอนทต

10.5 การเลอกซอฟตแวร DBMS การเลอกซอฟตแวรระบบจดการฐานขอมลเปนกระบวนการหน งทส าคญทซ งจะสงผลตอประสทธภาพการท างานของฐานขอมล ดงนน ในการทจะเลอกซอฟตแวรระบบจดการฐานขอมลหนงๆ เราควรทจะตองท าการศกษาถงขอด-เสยของซอฟตแวรนนๆอยางละเอยดถถวนทซงจะตองพจารณาปจจยตางๆดงน

Page 22: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

251 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

คาใชจาย—จะรวมถงคาใชจายตางๆ เชน คาลขสทธซอฟตแวร คาด าเนนการตดตงซอฟตแวร คาใชจายส าหรบอบรมพนกงานส าหรบใชงาน และคาใชจายในการด าเนนการอนๆ

คณลกษณะและเครองมอตางๆของระบบจดการฐานขอมล—ซอฟตแวรระบบจดการฐานขอมลตางๆจะมฟงกชนและเครองมอตางๆเปนสวนประกอบ ตวอยางเชน query by example (QBE) การจดการหนาจอ (screen management) การสรางรายงาน การสรางแอพพลเคชน การจดการพจนานกรมขอมล และอนๆ นอกเหนอจากฟงกชนขางตน เราควรทจะพจารณาถงการดและ/บ ารงรกษา การประมวลผลควร ความยาก-งายในการใชงาน ประสทธภาพในการท างาน มาตราการความปลอดภย และอนๆ

แบบจ าลองขอมลทสอดคลองกบซอฟตแวรระบบจดการฐานขอมล—ซอฟตแวรหนงๆอาจส าหรบแบบจ าลองขอมลทไมเหมอนกน เชน ซอฟตแวรหนงๆอาจสนบสนนการท างานภายใตแบบจ าลองขอมลแบบล าดบชน แบบจ าลองขอมลแบบเครอขาย แบบจ าลองขอมลเชงสมพนธ หรอแบบจ าลองขอมลเชงวตถ

ความสามารถในการเคลอนยาย—เราควรทจะตองพจารณาวาซอฟตแวร DBMS ทจะเลอกใชสามารถเคลอนยายขามแพลตฟอรม ระบบ และภาษาโปรแกรมไดหรอไม?

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

10.6 การออกแบบเชงตรรกะ การออกแบบเชงตรรกะเปนขนตอนทสองของขนตอนการออกแบบฐานขอมลทมเปาหมายทจะท าการออกแบบฐานขอมลดวยการประยกตใชแบบจ าลองขอมลหนงๆ การออกแบบเชงตรรกะจะเปนขนตอนทตอยอดมาจากขนตอนการออกแบบกรอบความคดทซงจะน าขอมลตางๆภายใตกรอบความคดมาก าหนดโครงสรางการจดเกบขอมลดวยการประยกตใชแบบจ าลองขอมลหนงๆ ตวอยางเชน ถาเราตองการออกแบบเชงตรรกะดวยการประยกตใชแบบจ าลองขอมลเชงสมพนธเราจะตองท าการระบถงตารางขอมล แอทรบว ความสมพนธ และเงอนไขตางๆ เปนตน การออกแบบเชงตรรกะจะประกอบไปดวย 4 ขนตอนหลกดงน

การปรบเปลยนแบบจ าลองกรอบความคดใหกลายเปนแบบจ าลองเชงตรรกะ

การตรวจสอบแบบจ าลองเชงตรรกะดวยการประยกตใชนอรมลไลเซชน

การตรวจสอบแบบจ าลองเชงตรรกะดวยกฎความสมบรณตางๆ (integrity constriants)

การตรวจสอบแบบจ าลองเชงตรรกะกบความตองการของผใช

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

Page 23: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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 เพอทจะลดความผดปกตของขอมลอกดวย ทายสดเราตองท าการตรวจสอบสทธในการเขาถง/ใชงานขอมลของผใชงานทจะชวยใหขอมลถกใชงานอยางเหมาะสมและมความปลอดภย

การตรวจสอบแบบจ าลองเชงตรรกะกบความตองการของผใช ขนตอนสดทายของการออกแบบแบบจ าลองขอมลเชงตรรกะจะเกยวของกบการตรวจสอบแบบจ าลองทไดท าการออกแบบไวกบความตองการของผใชงานทซงจะตองท าการรองขอใหผใชงานท าการ

Page 24: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

253 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

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

10.7 การออกแบบเชงกายภาพ การออกแบบเชงกายภาพจะเปนขนตอนการออกแบบองคประกอบการจดเกบขอมล และลกษณะการเขาถง/การใชงานขอมลเพอท าใหแนใจไดวาฐานขอมลทสรางขนจะมความสมบรณ มความปลอดภย และมประสทธภาพในการท างาน การออกแบบเชงกายภาพจะเปนขนตอนทตองการความสามารถเฉพาะทซงจะตองยงเกยวกบฮารดแวรและจะตองค านงถงประสทธภาพการท างานของระบบ ขนตอนการออกแบบเชงกายภาพจะประกอบไปดวย 3 ขนตอนหลกดงน

การระบถงองคประกอบการจดเกบขอมล

การประเมนความสมบรณและความปลอดภย

การตรวจสอบประสทธภาพการท างาน

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

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

การทราบถงควาถในการเพม อพเดท คนหาขอมลจะชวยใหเราทราบถงรปแบบการใชงานขอมล

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

ท าการตรวจสอบพนทส าหรบจดเกบขอมลในแตละตารางขอมลและการจดองคประกอบของตารางขอมล

ระบถงดชนทจะใชในแตละตารางขอมล

ระบถงมมมองและประเภทของมมมองทจะใชในแตละตารางขอมล

การประเมนความสมบรณและความปลอดภย หลงจากท าการระบถงองคประกอบของการจดเกบขอมลใหกบตารางขอมล การสรางดชน และการสรางมมมองส าหรบตารางขอมลหนงๆแลว ฐานขอมลจะมความพรอมใหผใชสามารถใชงานได แตกอนทจะใชงานผใชควรทจะตองระบ/ยนยนตวตนเพอเขาใชงาน ดวยเหตนจงเปนเหตใหเราตองท าการพจารณาถง 1) การก าหนดใหผใชเขาใชงานและบทบาทของผใชงาน และ 2) ก าหนดความสามารถในการด าเนนการใหกบผใช ตามล าดบ

Page 25: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

254 886301-ฐานขอมล โดย อ.ดร. โกเมศ อมพวน

การตรวจสอบประสทธภาพการท างาน กอนทจะเรมใชงานเราควรทจะตองท าการตรวจสอบประสทธภาพการด าเนนการตางๆของฐานขอมลทซงจะตองยงเกยวกบกระบวนการในการปรบจนฐานขอมลและควรตางๆเพอเพมประสทธภาพการด าเนนงานและชวยใหประสทธภาพการท างานทไดสามารถตอบสนองความตองการของผใชงานได โดยเนอหาในสวนนเราจะท าการศกษาอกครงหนงในบทท 10

10.8 กลยทธในการออกแบบฐานขอมล การออกแบบฐานขอมลจะมวธดงเดม 2 วธดงแสดงในรป 10.13 ทจะมรายละเอยดดงน

Top-down—จะเรมจากการระบถงขอมลอยางคราวๆ แลวจงท าการระบถงขอมลทมความละเอยดมากขน ตวอยางเชน เรมจากการระบถงเอนทตตางๆแลวจงท าการระบถงแอทรบวตางๆในเอนทตเหลานน

Bottom-up—จะเรมจากการระบถงขอมลทมความละเอยดกอนแลวคอยระบถงกลม/ประเภทของขอมล ตวอยางเชน การระบถงแอทรบวตางๆทจ าเปนตองท าการจดเกบในฐานขอมล จากนนคอยท าการรวบรวมแอทรบวทเกยวเนองกนเพอระบถงเอนทตหนงๆ

รปท 10.13 วธการออกแบบฐานขอมลแบบ bottom-up และ top-down

การเลอกวธการออกแบบฐานขอมลจาก 2 วธขางตน เราสามารถเลอกไดจากขอบเขตของปญหาทจะท าการออกแบบและความชอบหรอความถนดของผออกแบบ เมอเราพจารณาคราวๆ เราอาจมองวาทงสองวธนคลายคลงกน แตโดยแทจรงแลวการออกแบบในลกษณะ bottom-up จะมประสทธภาพในการแบบฐานขอมลขนาดเลกทมเอนทต แอทรบว ความสมพนธ และเงอนไขไมมากนก แตส าหรบการออกแบบในลกษณะ top-down จะเหมาะส าหรบการออกแบบฐานขอมลขนาดใหญทมความหลากหลาย ซบซอน ทซงวธการนจะชวยใหเราสามารถบรหารจดการไดโดยงาย

Page 26: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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) เมอระบบฐานขอมลมขนาดใหญและมความซบซอน เราอาจไมสามารถออกแบบฐานขอมลเพยงล าพงได ดงนนเราควรจะตองมการท างานเปนทมทซงจะแบงการท างานออกเปนโมดลยอยๆแลวก าหนดใหแตละคนในทมรบผดชอบ

Page 27: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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—แอทรบวหนงๆอาจถกจดเกบในหลายๆแผนกทซงจะใชชนดขอมลทแตกตางกน เชน แผนกหนงๆอาจจดเกบเปนขอมลเชงตวเลข แตอกแผนกหนง

Page 28: บทที่ 10 การออกแบบฐานข้อมูลkomate/886301/DB-Chpater-10.pdf · ศึกษาเกี่ยวกับกระบวนการออกแบบฐานข้อมูล

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 เปนอยางไร?