บทที่ 1 การบริหารสินค้าคงคลังelearning.psru.ac.th/courses/246/บทที่ 1 การบริหาร... · 12. ความส
บทที่ 5...
Transcript of บทที่ 5...
บทท 5
การออกแบบฐานขอมล
ในองคกรทมการใชงานฐานขอมลโดยทวไป การจะใชงานฐานขอมลไดอยางมประสทธรปและตรงกบ
ความตองการของผใชนน ยอมจะตองมาจากการออกแบบฐานขอมลทมการวางแผนมาเปนอยางด โดย
จะตองมการพฒนาระบบฐานขอมลตามขนตอนทถกตอง ในการพฒนาฐานขอมลเพอสรางระบบสารสนเทศ
โดยทวไปนนจะมวงจรในการพฒนา ซงเปนขนตอนทมการทางานเปนลาดบตงแตตนจนกระทงสามารถสราง
ระบบสารสนเทศออกมาได และเปนขนตอนทผพฒนาระบบประกอบดวย นกวเคราะหระบบ (System
Analyst) และผออกแบบฐานขอมล (DBA) จะตองรวมกนศกษาและทาความเขาใจในแตละขนตอน
1. จดประสงคของการออกแบบฐานขอมล
การออกแบบฐานขอมลนนจะเหนไดวาเปนการกาหนดโครงสรางของฐานขอมลเพอเกบบนทกขอมล
เปนสวนกลาง โดยมจดประสงคในการออกแบบฐานขอมล ดงน
1.1 เพอลดความซาซอนของขอมลทอยในระบบงาน
1.2 สามารถเรยกใชโดยผใชหลายคน
1.3 ไมกอใหเกดความขดแยงของขอมลอนเปนผลเนองมาจากมขอมลชดเดยวกนอยหลายท เมอม
การปรบปรงขอมล
2. ขนตอนการพฒนาระบบฐานขอมล
วฏจกรฐานขอมล (The Database Life Cycle: DBLC) เปนขนตอนในการพฒนาหรอจดทาระบบ
ฐานขอมล ซงประกอบดวย 6 ขนตอน ดงรปท 5.1
รปท 5.1 วฏจกรฐานขอมล (The Database Life Cycle: DBLC)
ทมา (Rob and Coronel, 2002, p.326)
2.1 การศกษาเบองตน
การศกษาเบองตนมวตถประสงคเพอวเคราะหสถานการณขององคกร กาหนดปญหาและขอจากด
กาหนดวตถประสงคและขอบเขตของระบบ ดงรายละเอยดตอไปน
2.1.1 การวเคราะหสถานการณขององคกร
เพอศกษาสภาพแวดลอมในการทางานขององคกร ความตองการในการปฏบตงาน โดยควร
รวาโครงสรางขององคกรเปนอยางไร ใครเปนผควบคมอะไร และใครทารายงานใหใคร เปนตน
2.1.2 กาหนดปญหาและขอจากด
โดยการศกษาวา ระบบทมอยมการทางานอยางไร ขอมลทปอนเขาสระบบ มอะไรบาง และ
ระบบสรางรายงานอะไร มการใชรายงานเหลานอยางไรและใครเปนผใช เพอใหทราบถงปญหาและขอจากดใน
การปอนขอมล หรอการคนหาขอมลเพอการทารายงาน
2.1.3 กาหนดวตถประสงคและขอบเขตของระบบ
ในการกาหนดวตถประสงคของระบบฐานขอมลควรสอดคลองกบความตองการของผใช
จากคาถามเหลาน
- วตถประสงคแรกเรมของระบบทนาเสนอคออะไร
- ระบบนตองเชอมตอกบระบบอนๆ ทมอยในองคกรหรอไม
- ระบบนจะมการใชขอมลรวมกนกบระบบหรอผใชอนหรอไม
เมอทราบวตถประสงคแลวกทาการกาหนดขอบเขตของระบบโดยการออกแบบ ตามความ
ตองการในการปฏบตงาน เพอใชในการออกแบบฐานขอมลตอไป
2.2 การออกแบบฐานขอมล
เมอผออกแบบฐานขอมลมความเขาใจลกษณะขององคกร ปญหาและขอจากด รวมทงวตถประสงค
และขอบเขตของระบบแลว กทาการออกแบบฐานขอมลดงตอไปน
2.2.1 การออกแบบเชงแนวคด
โดยการพฒนาแบบจาลองอ-อาร (E-R Model) ทใชอธบายถงความสมพนธระหวางสงทเรา
สนใจจะจดเกบ ทเรยกวา เอนทต (Entity) และรายละเอยดหรอแอททรบวต (attribute) ของสงทจะจดเกบ
แลวทาการแปลงแบบจาลองอ-อาร โมเดล (E-R model) เปนโครงสรางตารางฐานขอมล จากนนกทาการ
นอรมลไลเซชน (normalization) เพอใหไดโครงสรางของตารางทด สามารถควบคมความซาซอนของขอมล
หลกเลยงความผดปกตของขอมล
2.2.2 การเลอกโปรแกรมจดการฐานขอมล
ในการตดสนใจเลอกซอโปรแกรมจดการฐานขอมลขององคกรใด ควรพจารณาถงสงตอไปน
1) คาใชจายตางๆ เชน ราคาการซอมบารง การปฏบตงาน ลขสทธ การตดตง การฝกอบรม
และคาใชจายในการเปลยนไปใชระบบใหม
2) คณลกษณะและเครองมอของระบบจดการฐานขอมล โปรแกรมฐานขอมลบางตวจะรวม
เอาเครองมอตางๆ ทใหความสะดวกในงานการพฒนาโปรแกรมประยกต ตวอยางเชน การออกแบบหนาจอ
การสรางรายงาน การสรางโปรแกรมประยกต และพจนานกรมขอมล เปนตน ทาใหสะดวกในการบรหาร
ฐานขอมล ใชงาย มความสามารถในการรกษาความปลอดภย และการควบคมการใชงานพรอมกน เปนตน
3) ความสามารถในการใชขาม platforms ขามระบบและภาษา
4) ความตองการดานฮารดแวร หนวยความจา และเนอททใชในการจดเกบ
2.2.3 การออกแบบทางตรรกะ
จะเกยวของกบการตดสนใจใชรปแบบเฉพาะของฐานขอมล (แบบลาดบชน แบบเครอขาย
และแบบเชงสมพนธ เปนตน) การกาหนดรปแบบของฐานขอมล ซงการออกแบบ เชงตรรกะจะเปนการแปลง
การออกแบบระดบเชงแนวคด ใหเปนแบบจาลองของฐานขอมล ในระดบภายใน (internal model) ตามระบบ
การจดการฐานขอมล (DBMS) เชน MS-Access, MySQL และ Oracle โดยการสรางตาราง ฟอรม ควร และ
รายงาน เปนตน
2.2.4 การออกแบบทางกายภาพ
การออกแบบทางกายภาพ คอ กระบวนการในการเลอกหนวยจดเกบขอมล และลกษณะ
การเขาถงขอมลของฐานขอมล การสรางดรรชน (index) การจดทาคลสเตอร (clustering) ซงเปนการจดเกบ
ขอมลทมการใชงานบอยๆ ไวในหนวยเกบขอมลเดยวกน หรอการใชเทคนคแฮชชง (hashing technique) ในการ
จดตาแหนงทอยของขอมลภายในหนวยเกบขอมล เปนตน
2.3 การตดตงระบบ
ขนอยกบระบบจดการฐานขอมลทใช โดยเรมตนจากการสรางฐานขอมล กาหนดผจดการฐานขอมล
กาหนดพนทๆ ทตองการใช และการสรางตารางตางๆ ในระบบ
2.4 การทดสอบและประเมนผล
เพอการตรวจสอบดวาระบบทพฒนามาสามารถทางานไดตามทตองการหรอไม ซงควรมการเตรยม
ขอมลทดสอบไวลวงหนา
2.5 การดาเนนการ
เมอฐานขอมลผานขนตอนการทดสอบและประเมนผล ตอไปกเปนขนตอน การดาเนนการ หรอการ
ตดตงระบบ ซงตองเปนระบบทสมบรณพรอมใหผใชไดใชงานนนเอง ซงอาจรวมไปถงการฝกอบรมใหแกผใช ท
เปนพนกงานทตองใชงานจรงดวย
2.6 การบารงรกษาและการปรบปรง
หลงจากระบบไดเรมดาเนนการ ผจดการฐานขอมลจะตองเตรยมการบารงรกษาฐานขอมลโดยการ
สารองขอมลไว เพอสะดวกในการกคนขอมล เมอระบบมปญหา และหากมการใชงานไปนานๆอาจตองทาการ
ปรบปรงแกไขโปรแกรมใหเหมาะสมกบเหตการณ และ ความตองการของผใชทเปลยนแปลงไป
เมอเราทราบขนตอนการพฒนาระบบฐานขอมลทงหมดแลว ในบทนจะเนนถงรายละเอยดของ
ขนตอนการออกแบบฐานขอมลเชงแนวคด ตงแตการพฒนาแบบจาลองอ-อาร โมเดล(E-R Model) และการ
จดรปแบบขอมลในรปแบบบรรทดฐาน (normalization) ดงรายละเอยดทจะกลาวตอไป
3. แบบจาลองอ-อาร (E-R Model)
แบบจาลองอ-อาร (Entity-Relationship Model: E-R Model) เปนแบบจาลองขอมล ทประยกตมา
จากแนวคดเรอง Semantic Model และมการพฒนามาเปน E-R Model โดย Peter Pin Shan Chen จาก
Massachusetts Institute of Technology ในป ค.ศ. 1976 และไดรบความนยมมาจนถงปจจบน
3.1 ความหมายและความสาคญของแบบจาลองอ-อาร
แบบจาลองอ-อาร เปนเครองมอทใชในการออกแบบฐานขอมล ทแสดงความสมพนธระหวางเอนทต
หรอสงทเราตองการจะจดเกบไวในฐานขอมล โดยนาเสนอในรปแบบของแผนภาพทเรยกวา อ-อาร
ไดอะแกรม (E-R Diagram) ดวยการใชสญลกษณตางๆ
แบบจาลองอ-อาร มความสาคญในการเปนสอกลางเพอสอสารกบบคลากรตางๆ ทเกยวของกบ
ระบบฐานขอมล ไมวาจะเปนในระดบผบรหาร นกเขยนโปรแกรม และผใชในระดบปฏบตการ เปนตน ทาให
เขาใจระบบไดอยางถกตองตรงกน เนองจากมการแสดงภาพรวม ของระบบในลกษณะของรปภาพหรอ
แผนภาพ ทาใหเขาใจงาย ดงนนระบบทออกแบบมาจงมความถกตองและเปนไปตามวตถประสงคขององคกร
3.2 องคประกอบของแบบจาลองอ-อาร
แบบจาลองอ-อาร ประกอบดวย เอนทต แอตทรบวต คย และความสมพนธ ดงรายละเอยดตอไปน
3.2.1 เอนทต (Entity)
เอนทต (entity) คอ สงตางๆ ทผใชงานฐานขอมลตองการจะจดเกบ ซงมลกษณะเปนคานาม
ทงรปธรรมและนามธรรม เชน บคคล สถานท วตถสงของ และเหตการณตางๆ เปนตน ตวอยางของเอนทตใน
“ระบบการลงทะเบยนเรยนของนกศกษา” ประกอบดวย รายวชา นกศกษา การลงทะเบยน ผลการเรยน
ประจาภาคเรยน สาขาวชา คณะ และหลกสตร เปนตน
เอนทตทรวบรวมไดจากระบบสามารถแยกแยะและจดเปนหมวดหมไดตามชนดของเอนทต
ไดดงตอไปน
- หมวดบคคล ไดแก เอนทต นกศกษา พนกงาน ประชาชน ผปวย และลกคา เปนตน
- หมวดสถานท ไดแก เอนทต รฐ ประเทศ จงหวด ภาค สาขา และวทยาเขต เปนตน
- หมวดวตถ ไดแก เอนทต อาคาร เครองจกร ผลผลต หนงสอ วตถดบ และรถยนต
เปนตน
- หมวดเหตการณ ไดแก เอนทต การขาย การลงทะเบยน การเดนทาง การสงซอของ
การออกใบเสรจรบเงน และการใหรางวล เปนตน
ในอ-อารไดอะแกรม ใชสญลกษณรปสเหลยมผนผา แทนหนงเอนทต โดยใชชอของเอนทตนนๆ
กากบอยภายใน เชน
แทน เอนทต “นกศกษา”
นกศกษา
3.2.2 แอตทรบวต (Attribute)
แอตทรบวต (attribute) คอ คณสมบตตางๆ ของเอนทตทเราตองการจดเกบในฐานขอมล
ตวอยางเชน
- เอนทตบตรประชาชน ประกอบดวยแอตทรบวต หรอสงทบงบอกคณสมบตของประชาชน
แตละคน ไดแก หมายเลขบตรประชาชน ชอ นามสกล วนเดอนปเกด ภมลาเนา วนทออกบตร วนทบตร
หมดอาย สวนสง นาหนก และกรปเลอด เปนตน
- เอนทตพนกงาน ประกอบดวยแอตทรบวต ไดแก รหสพนกงาน ชอ นามสกล ทอย เบอร
โทรศพท สถานรปสมรส และเงนเดอน เปนตน
- เอนทตสนคา ประกอบดวยแอตทรบวต ไดแก รหสสนคา ชอสนคา ราคา และจานวน เปน
ตน
- เอนทตนกศกษา ประกอบดวยแอตทรบวต ไดแก รหสนกศกษา ชอ นามสกล เพศ วน
เดอนปเกด ทอย และเบอรโทรศพท เปนตน
- เอนทตวชา ประกอบดวยแอตทรบวต ไดแก รหสวชา ชอวชา และจานวนหนวยกต เปนตน
คาของขอมลในแตละแอตทรบวตประกอบกน เรยกวา ทเพล (tuple) ซงเปนแถวของขอมลในตาราง
โดยแตละแถวหรอแตละทเพลจะประกอบดวยหลายแอตทรบวตหรอหลายคอลมนของขอมล จานวนแถวของ
ขอมลในตารางเรยกวา Cardinality และจานวน แอตทรบวตทงหมดในตารางเรยกวา Degree อยางเชน
จากรปท 5.2 ม 4 Cardinality 5 Degree
รปท 5.2 ตวอยางแอตทรบวต ทเพล และเอนทตนกศกษา
ในอ-อารไดอะแกรม ใชสญลกษณรปวงร แทนหนงแอตทรบวต โดยใชชอของ แอตทรบวตนนๆ
กากบอยภายใน เชน
แทน แอตทรบวตของ “ชอ”
ชอ
3.2.3 คย (Key)
คย (key) คอ แอตทรบวตทสามารถใชบงบอกความแตกตางของแตละทเพลได อาจเปนแอตทรบวต
เดยวๆ หรอ กลมของแอตทรบวตกได
ประเภทของคยประกอบดวย
1) ซปเปอรคย (super key) คอ แอตทรบวตหรอกลมของแอตทรบวต ทสามารถบงบอก
ความแตกตางของแตละทเพลได
ตารางท 5.1 ขอมลในเอนทตนกศกษา
รหสนกศกษา ชอ นามสกล เลขทบตรประชาชน
5620249001 สามารถ ประเสรฐกล 31201000475991
5620249002 วชา ปญญาเลศ 31201000475992
5620249003 นาทพย วเศษศร 31201000475993
จากตารางท 5.1 ประกอบไปดวยซปเปอรคยดงตอไปน
- รหสนกศกษา
- รหสนกศกษา, ชอ
- รหสนกศกษา, ชอ, นามสกล
- เลขทบตรประชาชน
2) คยคแขง (candidate key) คอ ซปเปอรคยทนอยทสด ทสามารถบงบอกความแตกตาง
ของแตละทเพลได
จากตารางท 5.1 ประกอบไปดวยคยคแขงดงตอไปน
– รหสนกศกษา
– เลขทบตรประชาชน
3) คยหลก (primary key) คอ คยคแขงทถกเลอก เพอใชบงบอกความแตกตางของ แตละ
ทเพล จากตารางท 5.1 คยหลก คอ รหสนกศกษา หรอเลขทบตรประชาชน อยางใดอยางหนง คยหลกอาจ
เปนแคหนงแอตทรบวตหรอกลมของแอตทรบวตกได อยางเชน ในตารางท 5.1 มแอตทรบวตเดยวทเปนคย
หลก ซงอาจจะเปน “รหสนกศกษา” หรอ “เลขทบตรประชาชน” กได แตขอมลบางตารางอาจตองอาศย
แอตทรบวตตงแต 2 ตวขนไปมาประกอบกนเปนคยหลก เพอใหเกดความแตกตางระหวางทเพล ดงเชนใน
ตารางท 5.2
ตารางท 5.2 ขอมลในเอนทตการลงทะเบยนเรยนของนกศกษา ปการศกษา 1/56
รหสนกศกษา ชอ รหสวชา ชอวชา ปการศกษา
5820248001 ปรชา 1111 คอมพวเตอร 1/56
5820248001 ปรชา 2222 ภาษาไทย 1/56
5820248002 เกยงไกร 1111 คอมพวเตอร 1/56
5820248003 ฉตรชย 3333 ภาษาองกฤษ 1/56
จากตารางท 5.2 ไมสามารถใหแอตทรบวตรหสนกศกษา เปนคยหลกเพยงแอตทรบวตเดยวได
เพราะจะเหนวา รหสนกศกษา 5620248001 ของทเพลหรอแถวท 1 จะไปซากบแถวท 2 แตถาใหแอตทรบวต
“รหสนกศกษา” และ “รหสวชา” เปนคยหลก แลวพจารณาขอมลของ 2 แอตทรบวตน จะเหนวาขอมลไมซา
กนแลว ดงนนตารางท 5.2 จงมคยหลกซงประกอบดวยแอตทรบวต 2 ตวประกอบกน คอ “รหสนกศกษา”
และ “รหสวชา”
- คยหลกจะเปนคาวาง (null) ไมได เพราะฉะนนในการกรอกขอมลตางๆ ลงในตาราง
แอตทรบวตใดทเรากาหนดใหเปนคยหลกตองกรอกขอมลใหครบ คอ จะไมมคาไมได แตแอตทรบวตอน
อาจจะปลอยเวนวางไวกไดถาไมทราบคา
4) คยนอก (foreign key) คอ แอตทรบวตทใชในการเชอมตอกบเอนทต อนๆ เพอแสดง
ความสมพนธ
คณสมบตของคยนอก คอ
- คยนอกสามารถมคาซากนได
- คยนอกสามารถเปนคาวางได
- คยนอกทไมเปนคาวางจะเปนคาทชไปยงคยหลกของเอนทตทสมพนธกน
รปท 5.3 แอตทรบวตทเปนคยรองทใชในการเชอมตอกบเอนทตอน
5) คยรอง (secondary key) คอ แอตทรบวตทไมเปนคยหลก แตสามารถใชในการคนหาขอมลนนๆ ได โดยคยรองจะมคาซากนได ตวอยางเชน ในตารางท 5.3 มรหสนกศกษาเปนคยหลก แตหากตองการคนหาขอมลจากชอนกศกษา แอตทรบวต “ชอ” กจะเปน คยรอง หรอถาตองการคนหาขอมลจากนามสกลนกศกษา แอตทรบวต “นามสกล” กจะเปน คยรอง เปนตน
ตารางท 5.3 คยรองทใชในการคนหาขอมล รหสนกศกษา ชอ นามสกล เบอรโทรศพท
58111 สามารถ ประเสรฐกล 08-111-1111 58112 วชา ปญญาเลศ 08-222-2222 58113 นาทพย วเศษศร 08-333-3333 58114 สมจตร สมสกลวงค 08-444-4444 58115 วชา รกศกดศร 08-555-5555
3.2.4 ความสมพนธ
ความสมพนธ (relationship) เปนการอธบายความสมพนธระหวางเอนทตทมความสมพนธกน วามความสมพนธกนอยางไร โดยในอ-อารไดอะแกรมใชสญลกษณรป”สเหลยมขาวหลามตด” ทมชอของความสมพนธนนกากบอยภายใน และเชอมตอกบเอนทตทเกยวของกบความสมพนธดวยเสนตรง ดงตวอยางดานลาง
รปท 5.4 ตวอยางความสมพนธระหวางเอนทต
ความสมพนธระหวางเอนทตแบงเปน 3 ประเภท คอ ความสมพนธแบบหนงตอหนง
ความสมพนธแบบหนงตอกลม และความสมพนธแบบกลมตอกลม ดงรายละเอยดตอไปน
1) ความสมพนธแบบหนงตอหนง (one to one relationship หรอ 1:1) หมายถง ขอมล
ในเอนทตหนง มความสมพนธกบขอมลในอกหนงเอนทตเพยงขอมลเดยว ตวอยางเชน นกศกษาแตละคนจะม
สตบตรไดเพยงใบเดยวเทานน และสตบตรหนงใบกเปนของนกศกษาไดเพยงคนเดยวเทานนเชนกน
รปท 5.5 ความสมพนธของขอมลแบบหนงตอหนง
ในการพจารณาความสมพนธระหวางเอนทตแบบหนงตอหนง ตองมองสองทศ คอ มองจากซายไป
ขวา และกตองมองจากขวาไปซาย แลวจงนาความสมพนธทงสองทศ มาพจารณารวมกน ดงรปท 5.6
รปท 5.6 วธการพจารณาความสมพนธแบบหนงตอหนง
2) ความสมพนธแบบหนงตอกลม (one to many relationship หรอ 1:M) หมายถง
ขอมลในเอนทตหนง มความสมพนธกบขอมลในอกหนงเอนทตมากกวาหนงขอมล ตวอยางเชน ลกคาหนงคน
มใบเสรจไดหลายใบ เนองจากลกคาหนงคนอาจมาซอสนคาหลายครง แตใบเสรจหนงใบตองเปนของลกคา
เพยงคนเดยวเทานน
รปท 5.7 ความสมพนธของขอมลแบบหนงตอกลม
ในการพจารณาความสมพนธระหวางเอนทตแบบหนงตอกลม ตองมองสองทศ คอ มองจากซายไป
ขวา และกตองมองจากขวาไปซาย แลวจงนาความสมพนธทงสองทศ มาพจารณารวมกน ดงรปท 5.8
รปท 5.8 วธการพจารณาความสมพนธแบบหนงตอกลม
3) ความสมพนธแบบกลมตอกลม (many to many relationship หรอ M:M) หมายถง
ขอมลมากกวาหนงขอมลในเอนทตหนง มความสมพนธกบขอมลในอกหนงเอนทตมากกวาหนงขอมล
ตวอยางเชน นกศกษาหนงคนสามารถลงทะเบยนเรยนไดหลายวชา และวชาแตละวชามนกศกษาลงทะเบยน
เรยนไดหลายคน
รปท 5.9 ความสมพนธของขอมลแบบกลมตอกลม
ในการพจารณาความสมพนธระหวางเอนทตแบบกลมตอกลม ตองมองสองทศ คอ มองจากซายไป
ขวา และกตองมองจากขวาไปซาย แลวจงนาความสมพนธทงสองทศ มาพจารณารวมกน ดงรปท 5.10
รปท 5.10 วธการพจารณาความสมพนธแบบกลมตอกลม
สญลกษณในแบบจาลองอ-อาร
ตารางท 5.4 สญลกษณทสาคญๆ ในแบบจาลองอ-อาร
ตวอยาง
นกศกษา และ วชา เปนเอนทตทเราสนใจจะจดเกบ ซงเอนทตนกศกษาจะประกอบดวยแอตทรบวต
ไดแก รหสนกศกษา ชอนกศกษา นามสกล และเบอรโทรศพท เปนตน โดยมรหสนกศกษาเปนคยหลก สวน
เอนทตวชาจะประกอบดวยแอตทรบวต ไดแก รหสวชา ชอวชา และจานวนหนวยกต เปนตน โดยมรหสวชา
เปนคยหลก ซงความสมพนธระหวางเอนทตนกศกษาและเอนทตวชา เปนแบบกลมตอกลม คอ นกศกษาหนง
คนสามารถลงทะเบยนเรยนไดหลายวชา และวชาแตละวชามนกศกษาลงทะเบยนเรยนไดหลายคน ดงนนเรา
สามารถนาเสนอในรปของของแผนรป ทเรยกวา อ-อารไดอะแกรม (E-R Diagram) ดวยการใชสญลกษณ
ตางๆ ดงน
รปท 5.11 ตวอยางของ อ-อารไดอะแกรม (E-R Diagram)
3.3 การแปลงแบบจาลองอ-อารเปนโครงสรางตารางฐานขอมล
ขนตอนในการแปลงแบบจาลองอ-อารเปนโครงสรางของตารางในฐานขอมล มขนตอนดงตอไปน
3.3.1 แปลงเอนทตปกตในแบบจาลองอ-อารเปน 1 ตาราง ซงประกอบดวยแอตทรบวต
ของเอนทตนนๆ โดยชอของตารางกคอชอของเอนทต และแอตทรบวตของเอนทต กคอ แอตทรบวตของ
ตาราง สาหรบแอตทรบวตทเปนคยหลกของตาราง ใหขดเสนใตทแอตทรบวตนน เชนเดยวกบในแบบจาลอง
อ-อาร ซงจากรปท 5.11 นามาแปลงเปนตารางได 2 ตาราง คอ
รปท 5.12 โครงสรางของตารางในฐานขอมลจากการแปลงเอนทตปกตในแบบจาลองอ-อาร
3.3.2 แปลงความสมพนธเปนตาราง
1) แปลงความสมพนธแบบ 1 : M นนไมตองสรางตารางใหม แตใหนา แอตทรบวต ท
เปนคยหลกของเอนทตทอยดานความสมพนธทเปน 1 ไปเพมเปนแอตทรบวตของตารางดานทมความสมพนธ
เปน M
2) แปลงความสมพนธแบบ M : M จะไดตารางใหม 1 ตาราง ซงประกอบดวย
แอตทรบวตของความสมพนธนนรวมกบแอตทรบวตทเปนคยหลกของ 2 เอนทตทมความสมพนธ แบบ M : M
จากแบบจาลองอ-อารในรปท 5.11 สามารถสรางตารางตามขนตอนนไดอก 1 ตาราง คอ ตารางการ
ลงทะเบยน ซงประกอบดวยแอตทรบวต รหสนกศกษา (คยหลกของ เอนทต นกศกษา) และ รหสวชา (คย
หลกของเอนทตวชา) ฉะนนตารางใหมทเกดขน ซงกคอ ตารางการลงทะเบยน ม รหสนกศกษาและรหสวชา
เปนคยหลก ดงน
รปท 5.13 โครงสรางของตารางทไดจากการแปลงความสมพนธแบบ M:M
จากการแปลงแบบจาลองอ-อารตามขนตอนขางตน สรปตารางทไดทงหมด 3 ตาราง ดงตอไปน
รปท 5.14 โครงสรางฐานขอมลการลงทะเบยนเรยนของนกศกษา
ทงนโครงสรางฐานขอมลทไดจากการแปลงแบบจาลองอ-อารนนจะอยใน 1NF ดงนนจงจาเปนตอง
นามาทานอรมลไลเซชนตอ เพอใหไดฐานขอมลทปราศจากความซาซอนหรอซาซอนนอยทสด แตถาไดทาการ
ออกแบบฐานขอมลโดยการใชแบบจาลองอ-อาร มาอยางถกตองแลว เมอแปลงเปนโครงสรางฐานขอมลแบบ
สมพนธ จะไดโครงสรางความสมพนธทจดกลมของแอตทรบวตมาเปนอยางด และบางทโครงสรางของ
ความสมพนธทไดนนอาจอยในนอรมลฟอรมทสงกวานอรมลฟอรมท 1 แลว อยางไรกตามขนตอนถดมา
จาเปนตองวเคราะหความสมพนธระหวางแอตทรบวต ซงกคอ วธนอรมลไลเซชนทจะกลาวตอไป
3.4 การจดระบบขอมลในรปแบบบรรทดฐาน (Normalization)
การเกบรวบรวมขอมลทไดจากการศกษาของระบบงานเดมจะอยในรปแบบของเอกสารหรอรายงาน
ตางๆซงจะมรปแบบทซบซอนเนองจากมการเกบรายละเอยดของขอมลทกอยางไวดวยกนหมด ทฤษฏหนงท
ผออกแบบฐานขอมลจะตองนามาใชในการแปลงขอมลทอยในรปแบบทซบซอนใหอยในรปแบบทงายตอการ
นาไปใชและกอใหเกดปญหานอยทสด ไดแก ทฤษฏเกยวกบเรอง “กระบวนการนอรมลไลเซชน” หรอ
กระบวนการจดระบบขอมลในรปแบบบรรทดฐาน ซงเปนเครองมอทชวยในการออกแบบฐานขอมลแบบเชง
สมพนธ การออกแบบจะตองผานกระบวนการจดระบบขอมลในรปแบบบรรทดฐาน เพอขจดกลมขอมลทซา
กนในรเลชนออกไป และสรางรเลชนรปแบบใหมซงจะเปนการแตกรเลชนออกเปนรเลชนยอยหลายรเลชน เพอ
แกไขปญหาฐานขอมล จดการกบขอมลไดงาย สามารถเพม ลบ และเปลยนแปลงขอมลไดโดยไมกอใหเกด
ปญหา ฐานขอมลทดตองสามารถจดการขอมลไดอยางมประสทธภาพ
3.4.1 แนวคดเกยวกบนอรมลไลเซชน
กตต ภกดวฒนะกล และจาลอง ครอตสาหะ (2544 หนา 133) ใหความหมายวา นอร
มลไลเซชน คอวธการทใชในการตรวจสอบและแกไขปญหาเกยวกบความซาซอนของขอมล โดยดาเนนการให
ขอมล ในแตละรเลชน (relation) อยในรปทเปนหนวยทเลกทสดทไมสามารถแตกออกเปนหนวยยอยๆ ไดอก
โดยยงคงความสมพนธระหวางขอมลในรเลชนตางๆ ไวตามหลกการทกาหนดไวใน relational model การทา
นอรมลไลเซชนน เปนการดาเนนการอยาง เปนลาดบ ทกาหนดไวดวยกนเปนขนตอน ตามปญหาทเกดขนใน
ขนตอนนนๆ ซงแตละขนตอน จะมชอตามโครงสรางขอมลทกาหนดไวดงน
1. First Normal Form (1NF)
2. Second Normal Form (2NF)
3. Third Normal Form (3NF)
4. Boyce-Codd Normal Form (BCNF)
5. Fourth Normal Form (4NF)
6. Fifth Normal Form (5NF)
ในการออกแบบฐานขอมลเพอลดความซาซอนในการจดเกบขอมลอยางนอยตองม
คณสมบตเปน 3NF เพราะจรงๆ แลว ในการทางานทวๆ ไป แค 3 NF กสามารถใชงานไดแลว แตสาหรบ
BCNF ไปจนถง 5NF เปนฐานขอมลชนดพเศษจรงๆ ทแทบจะไมมในชวตประจาวน โอกาสพบประมาณ 0.01 %
ดงนนในทนจะศกษาเพยงแค 1NF 2NF และ 3NF เทานน เพอใชเปนแนวทางในการศกษาระดบอนตอไป
ในแตละขนตอนของการทานอรมอไลเซชน จะมการะบรปแบบของโครวงสรางขอมลเรยกวา
นอรมลฟอรม (Normal Form) ซงโครงสรางนสามารถแกไขปญหาทเกดขนในโครงสรางขอมลของขนตอนกอน
หนานนได นนคอ การทานอรมอไลเซชนแตละขนตอนตองอาศยผลทไดจากการจดระบบขอมลในนอรมอไลเซ
ชนกอนหนา มาปรบปรงเพอใหมโครงสรางเปนไปตามโครงสรางทกาหนดไวในขนตอนนนๆ
หากการออกแบบขอมลมปญหาในการจดดาเนนการขอมล การทาใหขอมลอยในการทานอร
มอฟอรม (Normal Form) จะทาการแยกรเลชนเดมเปนรเลชนยอย โดยการแยกรเลชนจะตองคงไวซง
คณสมบต 2 ประการคอ
ประการท 1 ตองไมมขอมลทไมเหมอนเดมเกดขน หรอมขอมลใหมเกดขนจากการเชอมโยงขอมล
ประการท 2 หากมการแยกรเลชนยอย ยงคงรกษาไวซงขอกาหนดเดมไวใหไดมากทสดและเปน
ประโยชนตอการใชงาน
3.4.2 รปแบบรปแบบบรรทดฐาน (Normal Form: NF)
1) รปแบบบรรทดฐานระดบท 1 (First Normal Form: 1NF)
รปแบบบรรทดฐานระดบท 1 หรอ First Normal Form เปนการปรบบรรทดฐานระดบแรกสด
จะเปนกระบวนการในการปรบตารางขอมลของผใชงานใหอยในรปแบบบรรทดฐานระดบท 1 ซงรเลชน ใดๆ
จะอยในรปแบบบรรทดฐานระดบท 1 กตอเมอ คาของแอททรบวตตางๆ ในแตละทเพลจะตองมคาของขอมล
เพยงคาเดยว และตองมคณสมบตดงน
หลกการแปลงเปน 1NF
(1) หากพบวามกลมขอมลซา ใหแยกขอมลออกใหเปนเอกเทศเปนแตละคอลมน หมายความ
วาขอมลทเกบในแตละคอลมนจะตองมลกษณะเปนคาเดยว (single valued) ไมสามารถแบงยอยไดอก
(2) กาหนดคยหลก (Primary key) ใหกบรเลชน (Relation)
ในการทานอรมลไลเซชนจะตองดขอมลในตารางเปนหลก ตวอยางเชน ขอมลในตารางท 5.5 แสดง
การเกบขอมลเกยวกบการสงสนคา ซงแตละรหสการสงสามารถสงสนคาไดมากกวา 1 อยาง
ตารางท 5.5 แสดงรเลชนทอยในรปแบบไมเปนบรรทดฐาน (Un-Normal Form: UNF)
รหสการสง วนทสง รหสสนคา ชอสนคา จานวนทสง ราคาสนคา
OR58001 02/02/58 5811101 กระดาษ 8 2800
OR58002 02/02/58 5811102
5811103
ดนสอ
ปากกา
12
24
250
500
OR58003 04/03/58 5811104 แฟม 6 300
OR58004 04/03/58 5811105 หมกพมพ 1 3200
OR58005 05/03/58 5811101
5811102
กระดาษ
ดนสอ
4
12
1400
250
OR58006 05/03/58 5811103 ปากกา 12 250
OR58007 05/03/58 5811104 แฟม 12 600
จากตารางท 5.5 จะเหนวาขอมลในคอลมนรหสสนคา ชอสนคา จานวนทสงและราคาสนคามคา
มากกวา 1 คา แสดงวาไมเปน atomic หรออยในรปของ repeating group ดงนนตารางท 5.5 จงไมเปน 1NF
โดยเราจะเรยกตารางทยงไมผานแมแต 1NF วา Un-normalized Form (UNF)
ตารางทเปน 1NF นนทกๆคาของแตละคอลมนจะตองเปน Atomic นนคอจะตองไมมคอลมนใดทมขอมล
มากกวา1 คา (จะตองไมม Repeation Groups)
จากตารางท 5.5 ทไมมคณสมบตเปน 1NF สามารถทาใหมคณสมบตเปน 1NF ไดดงตารางท 5.6 ซง
มรหสการสง และรหสสนคา เปนคยหลก
ตารางท 5.6 ขอมลนกศกษาทผานการทารปแบบบรรทดฐานระดบท 1 ( First Normal Form: 1NF)
รหสการสง วนทสง รหสสนคา ชอสนคา จานวนทสง ราคาสนคา
OR58001 02/02/58 5811101 กระดาษ 8 400
OR58002 02/02/58 5811102 ดนสอ 12 25
OR58002 02/02/58 5811103 ปากกา 24 25
OR58003 04/03/58 5811104 แฟม 6 30
OR58004 04/03/58 5811105 หมกพมพ 1 3200
OR58005 05/03/58 5811101 กระดาษ 4 400
OR58005 05/03/58 5811102 ดนสอ 12 25
OR58006 05/03/58 5811103 ปากกา 12 25
OR58007 05/03/58 5811104 แฟม 12 30
ถงแมวาตารางท 5.6 จะไดรบการออกแบบใหอยในรป 1NF แลว แตลกษณะของขอมลภายในอาจ
กอใหเกดปญหาขนไดอก เชน ขอมลทเกยวกบขอมลสงชอ รหส OR58002 ถกจดเกบไวในแถวท 2 และ 3
ไดแก วนท และรหสสนคา โดยจะเหนวาเปนการเกบขอมลทซาซอนกน ทาใหสนเปลองเนอทในการจดเกบ
และกอใหเกดปญหาในการเปลยนแปลงขอมลดวย เชน ถารหสสนคา 5811101 มการเปลยนชอ หรอราคา ก
ตองทาการแกไขขอมลหลายแถว ซงถามการแกไขขอมลไมครบ กอาจทาใหขอมลภายในตารางเกดความ
ขดแยงกนได ดงนนจงตองมการนอรมลไลเซชนระดบท 2 ตอไป
2) รปแบบบรรทดฐานระดบท 2 (Second Normal Form: 2NF)
รเลชนใดๆ จะอยในรปแบบบรรทดฐานระดบท 2 กตอเมอ รเลชนนนๆ อยในรปแบบบรรทด
ฐานระดบท 1 และแอททรบวตทกตวทไมไดเปนคยหลก จะตองมความสมพนธระหวางคาของแอททรบวตแบบ
ฟงกชนกบคยหลก (Fully Functional Dependency) ตวอยางรเลชน นกศกษา (รหสนกศกษา, ชอ, สกล, เบอร
โทรศพท) จะเหนวาเมอทราบคาแอททรบวตรหสนกศกษาจะสามารถทราบคาของแอททรบวตตวอนๆ ได
อยางสมบรณตองมคณสมบตดงน
หลกกการแปลงเปน 2NF
(1) หากมรเลชนใดทมแอททรบวตมการขนตอกนกบบางสวนของคยหลก ใหตดแอททรบวตดงกลาว
ออกไปไวในรเลชนใหม และในรเลชนเดมใหคงแอททรบวตทขนกบทกสวนของคยหลกไว
1) ตองมคณสมบตของรปแบบบรรทดฐานระดบท 1 หรอ 1NF
2) ทกๆคอลมนทไมใชคย (non-key column) จะตองขนกบ Primary key โดยสมบรณ
แมวา Primary key จะเปน Composite key กตาม (จะตองไมเกด Partial Dependency)
(2) สรางรเลชนใหม โดยดงแอททรบวตทขนกบบางสวนของคยหลก และกาหนดคยหลกของรเลชน
จากแอททรบวตทเปนสวนประกอบของรเลชนทแอททรบวตเหลาน มฟงกชนการขนตอกน
นนคอแอตทรบวตทไมใชคยหลกจะตองมคาขนอยกบคยหลกเทานน โดยถาคยหลกประกอบดวย
แอตทรบวตทมากกวา 1 ตวกจะตองขนอยกบแอตทรบวตทงหมดทเปนคยหลก ไมใชขนอยกบบางตวการทจะ
รวาแอตทรบวตใดขนอยกบแอตทรบวตใดนน ตองใชความรในเรองฟงกชนการขนตอกน หรอ functional
dependency ซงเปนสงทใชแสดงความสมพนธระหวาง แอตทรบวต ในรปแบบฟงกชน เพอชวยในการตดสนใจ
วาแอตทรบวตทไมใชคยหลกควรจะปรากฏเปนคอลมนอยในตารางหรอควรจะแยกออกมาสรางเปนตาราง
ใหม
สมมตวา X และ Y เปนแอตทรบวตในตารางหนง ถา Y ขนอยกบ X จะสามารถเขยนฟงกชนการขน
ตอกนไดดงน
การท Y ขนอยกบ X หมายความวา ทกๆคาของ X ทเราเลอกขนมา จะสามารถหาคาของ Y มา 1
คาทสอดคลองกบคาของ X ไดเสมอ เชน จากตารางท 5.7 เปนตารางทเกบขอมลเกยวกบนกศกษา ถาถามวา
นกศกษาคนใดทมรหสนกศกษาเปน 56111 กสามารถตอบไดทนทวาคอ นกศกษาทชอวา สามารถ ประเสรฐ
กล ดงนนชอนกศกษาจงขนอยกบรหสนกศกษา ซงเขยนเปนฟงกชนการขนตอกนไดวา รหสนกศกษา ชอ
นนเอง
ตารางท 5.7 ตารางนกศกษา
รหสนกศกษา (คยหลก) ชอ นามสกล เบอรโทรศพท
56111 สามารถ ประเสรฐกล 08-1111-1111
56112 วชา ปญญาเลศ 08-2222-222
56113 นาทพย ปญญาเลศ 08-3333-3333
56114 สมจตร สมสกลวงศ 08-4444-4444
56115 วชา รกศกดศร 08-5555-5555
จากตารางท 5.6 พบวาไดเกดความซาซอน เมอมการสงซอสนคาชนดเดยวกนขน เชน มการสงซอ
สนคา 5811102 ซากนในแถวท 2 และ 7 เกดความซาซอนทาใหเปลองเนอท และยงทาใหเกดปญหา ซง
สามารถแบงลกษณะของปญหาออกเปน 4 ประเภท ไดแก
1) การแกไขขอมล หากมการเปลยนแปลงชอสนคาจากดนสอเปนสมด เราตองแกไขในทกๆ
เรคอรดทมรายการดนสอ ซงการแกไขอาจไมครอบคลมทกเรคอรด
2) ความขดแยงของขอมล เชน ถามการแกไขรหสสนคา และชอสนคา กตองแกไขราคา
สนคาดวย เพอใหราคาสนคาชนดเดยวกนเทากน เชน แถวท 2 ราคาสนคา 500 บาท ในขณะทแถวท 7 ม
ราคาสนคา 25 บาท
XY
3) การเพมเตมขอมล หากบรษทเกดตดสนใจนาสนคาชนดใหมเขามาขาย เชน คอมพวเตอร
จะตองรอใหมการสงซอจากลกคาเสยกอน จงจะมรายการของสนคาใหมเกดขน ซงผดหลกการคา
4) การลบขอมล หากมลกคายกเลกการสงรหสการสง OR58001 ซงมผลใหตองลบขอมลใน
แถวท 1 ออกไปจากตาราง ทาใหระบบสญเสยขอมลของสนคากระดาษไปดวย
ทาใหเราตองทาการจดขอมลในรปแบบบรรทดฐานระดบท 2 โดยการสรางตาราง (รเลชน) ขนมาใหม
เพอแกปญหาทเกดขนกบ 1NF
การสงสนคา (รหสการสง, วนทสงสนคา)
สนคา (รหสสนคา, ชอสนคา, ราคา)
บญชการสง (รหสการสง, รหสสนคา, จานวนทสง)
ซงเราอาจจะตงชอตาราง (รเลชน) ทง 3 นวา การสงสนคา สนคา และบญชการสง แสดงดง
ตารางท 5.8 ตารางท 5.9 และตารางท 5.10
ตารางท 5.8 แสดงตารางการสงสนคาทอยในรปแบบบรรทดฐานระดบท 2 (Second Normal Form: 2NF)
รหสการสง วนทสง
OR58001 02/02/58
OR58002 02/02/58
OR58003 04/03/58
OR58004 04/03/58
OR58005 05/03/58
OR58006 05/03/58
OR58007 05/03/58
ตารางท 5.9 แสดงตารางสนคาทอยในรปแบบบรรทดฐานระดบท 2 (Second Normal Form: 2NF)
รหสสนคา ชอสนคา ราคาสนคา
5811101 กระดาษ 400
5811102 ดนสอ 25
5811103 ปากกา 25
5811104 แฟม 30
5811105 หมกพมพ 3200
5811106 ยางลบ 80
5811107 กระดาษกาว 125
5811108 ไมบรรทด 50
5811109 คลปหนบ 130
ตารางท 5.10 แสดงตารางบญชการสงอยในรปแบบบรรทดฐานระดบท 2 (Second Normal Form: 2NF)
รหสการสง ชอสนคา จานวนทสง
OR58001 กระดาษ 8
OR58002 ดนสอ 12
OR58002 ปากกา 24
OR58003 แฟม 6
OR58004 หมกพมพ 1
OR58005 กระดาษ 4
OR58005 ดนสอ 12
OR58006 ปากกา 12
OR58007 แฟม 12
จากตารางท 5.9 พบวาการแกไขขอมลทเคยเปนปญหาอยจะไมเกดขนแลว เชน การเปลยนชอของ
5811102 จากดนสอเปนสมดกจะทาในตารางสนคาเพยงแถวเดยว ซงไมทาใหเกดความขดแยงขน สวนกรณ
ของการสงกระดาษ ซงมรหสการสง OR58001 ในตาราง 5.10 เรากเพยงแตลบขอมลแถวแรกออกจากตาราง
บญชการสง ซงจะไมกระทบกระเทอนขอมลเกยวกบ 5811101 เพราะยงเกบอยในตารางสนคาในรปเดม ไมม
การเปลยนแปลง
3) รปแบบบรรทดฐานระดบท 3 (Third Normal Form: 3NF)
รเลชนใดๆ จะอยในรปแบบบรรทดฐานระดบท 3 กตอเมอ รเลชนนนๆ อยในรปแบบบรรทด
ฐานระดบท 2 และแอททรบวตทไมไดเปนคยหลกไมมคณสมบตในการกาหนดคาของแอททรบวตอนทไมใชคย
หลก (Transitive Dependency) แสดงดงตารางท 5.11 ตองมคณสมบตดงน
หลกการแปลงใหเปน 3NF
(1) หากในรเลชนมการขนตอกนแบบทรานซทฟ ใหตดเอาแอททรบวตทขนตอกนแบบทรานซทฟ
ออกไปสรางรเลชนใหม
(2) สรางรเลชนใหม โดยนาเอาแอททรบวตทขนตอกนแบบทรานซทฟจากรเลชนเดมมาและกาหนด
คยหลกโดยเลอกเอาแอททรบวตทสามารถกาหนดคาของแอททรบวตอนๆ ได
(3) ในรเลชนเดมใหคงแอททรบวตทสามารถเลอกคาแอททรบวตทไมใชคยหลกไวเปนคยนอก
(Foreign key) เพอใชในการเชอมโยงกบรเลชนใหม
ตารางทเปน 3NF นนจะตองเปน 2NF
และจะตองไมมคอลมนใดชนตอคอลนมอนทไมใชคยหลก (Primary key)
ตารางท 5.11 แสดงรเลชนลกคาทมรปแบบบรรทดฐานระดบท 2 (2NF)
รหสลกคา ชอลกคา ทอย รหสพนกงาน ชอพนกงาน
C58124 เฉลยว 18 สขสวสด S553 วนย
C58256 สวด 22 สขมวท 9 S556 พรพรรณ
C58311 ยงยทธ 25/1 รามอนทรา 21 S557 ประสทธ
C58315 พชย 105 ลาดพราว 32 S556 พรพรรณ
C58405 นนทวน 172 สาธประดษฐ S557 ประสทธ
C58255 ประมวล 21 เจรญกรง S553 วนย
C58522 มณรตน 56 ลาดพราว 120 S557 ประสทธ
C58587 วชระ 41 วทย S556 พรพรรณ
C58622 มณรตน 258 พหลโยธน S553 วนย
จากตารางท 5.11 มคยประกอบดวยแอททรบวตเพยงตวเดยวคอ รหสลกคา กยงมปญหาเกดขนกบ
ขอมลถาเราเพมเตมขอมลของพนกงานขายเขาไป การซาซอนในสวนของพนกงานขายเกดขนปญหาในการ
แกไขขอมลกจะเกดขนตามมาเหมอนเดม เชน
1) การแกไขขอมล ถามการแกไขขอมลเกยวกบพนกงานขาย เชน พนกงานขายหมายเลข S557 ทา
การเปลยนชอจาก ประสทธ เปนประจกษ จะยงผลใหตองทาการแกไขหลายแหง
2) ความขดแยงของขอมล ผลสบเนองมาจากการแกไขขอมลทปรากฏหลายแหง อาจจะทาการแกไข
ไมครบทกแหงซงเปนตนเหตใหขอมลแตละแหงมคาไมตรงกน
3) การเพมเตมขอมล ถาบรษทรบพนกงานขายเขามาใหมยกตวอยาง ชอสมศร ซงไดรบรหส
หมายเลข S555 เราไมสามารถเพมขอมลของสมศรเขาไปในระบบได เนองจากสมศรยงไมมลกคา
4) การลบขอมล ถาเราเกดลบขอมลเกยวกบลกคาของพนกงานขายหมายเลข S557 ออกจากระบบ
กจะยงผลใหขอมลของพนกงานขายคนนจะหายไปดวยทงๆ ทเขายงคงทางานอยในบรษท
จากตารางท 5.11 การกาจดขอมลทเกดขนจากทรานซทฟดเพนเดนซ โดยการแยกขอมลชอพนกงาน
ขายจากรเลขนลกคาทเปนทรานซทฟดเพนเดนซออกมาสรางเปนรเลชนใหม ใหคงแอททรบวตรหสพนกงาน
ขายทจะทาหนาทเปนคยนอก (Foreign Key) ไวในรเลชนเดม โดยตงชอรเลชนใหมนวา พนกงานขาย
กาหนดใหรหสพนกงานขายเปนคยหลก ซงจะทาใหไดผลลพธดงน
ลกคา (รหสลกคา, ชอลกคา, ทอย, รหสพนกงานขาย)
พนกงานขาย (รหสพนกงานขาย, ชอพนกงานขาย)
การจดเกบขอมล ดงแสดงในตารางท 5.11 จะเหนไดวาขอมลเกยวกบพนกงานขาย ถกแยกออกมาอย
คนละรเลชนจงไมเกดความซาซอนแตอยางใดทาใหการเพมเตมขอมลของพนกงานขายคนใหมสามารถกระทา
ไดโดยไมตองมลกคาเนองจากขอมลถกจดเกบแยกรเลชนกน นอกจากนนปญหาในการลบขอมลของลกคาก
จะไมเกดขนอกตอไป เพราะกระทาเฉพาะรเลชนลกคาเทานน แสดงดงตารางท 5.12 และตารางท 5.13
ตารางท 5.12 แสดงรเลชนลกคาและรเลชนพนกงานขายทมรปแบบบรรทดฐานระดบท 3 (3NF)
รเลชน “ลกคา”
รหสลกคา ชอลกคา ทอย รหสพนกงาน
C58124 เฉลยว 18 สขสวสด S553
C58256 สวด 22 สขมวท 9 S556
C58311 ยงยทธ 25/1 รามอนทรา 21 S557
C58315 พชย 105 ลาดพราว 32 S556
C58405 นนทวน 172 สาธประดษฐ S557
C58255 ประมวล 21 เจรญกรง S553
C58522 มณรตน 56 ลาดพราว 120 S557
C58587 วชระ 41 วทย S556
C58622 มณรตน 258 พหลโยธน S553
รเลชน “พนกงานขาย”
รหสพนกงาน ชอพนกงาน
S553 วนย
S556 พรพรรณ
S557 ประสทธ
4) รปแบบบรรทดฐานของบอยสและคอดด (Boyce/Codd Normal Form : BCNF)
รเลชนหนงๆ จะอยในรปแบบบรรทดฐานของบอยสและคอดดกตอเมอรเลชนนนๆ อยใน
รปแบบบรรทดฐานระดบท 3 และไมมแอททรบวตอนในรเลชนทสามารถระบคาของแอททรบวตทเปนคยหลก
หรอสวนหนงสวนใดของคยหลกในกรณทคยหลกเปนคยผสม แสดงดงตารางท 5.13
ตารางท 5.13 แสดงตวอยางการจดระบบขอมลในรปแบบบรรทดฐานของบอยสและคอดด
รเลชน “ลกคา”
รหสลกคา รหสประจาตวประชาชน ชอลกคา ทอย
C58124 2900021854468 เฉลยว 18 สขสวสด
C58256 4351385359001 สวด 22 สขมวท 9
C58311 3650008087302 ยงยทธ 25/1 รามอนทรา 21
C58315 5400346134331 พชย 105 ลาดพราว 32
C58405 3546421600164 นนทวน 172 สาธประดษฐ
C58255 5156135430043 ประมวล 21 เจรญกรง
สามารถเขยนความสมพนธไดดงน
รหสประจาตวประชาชน ชอลกคา ทอย
2900021854468 เฉลยว 18 สขสวสด
4351385359001 สวด 22 สขมวท 9
3650008087302 ยงยทธ 25/1 รามอนทรา 21
5400346134331 พชย 105 ลาดพราว 32
3546421600164 นนทวน 172 สาธประดษฐ
5156135430043 ประมวล 21 เจรญกรง
รหสลกคา ชอลกคา ทอย
C58124 เฉลยว 18 สขสวสด
C58256 สวด 22 สขมวท 9
C58311 ยงยทธ 25/1 รามอนทรา 21
C58315 พชย 105 ลาดพราว 32
C58405 นนทวน 172 สาธประดษฐ
C58255 ประมวล 21 เจรญกรง
รหสลกคา รหสประจาตวประชาชน
C58124 2900021854468
C58256 4351385359001
C58311 3650008087302
C58315 5400346134331
C58405 3546421600164
C58255 5156135430043
5) รปแบบบรรทดฐานระดบท 4 (Fourth Normal Form : 4NF)
รเลชนหนงๆ จะอยในรปแบบบรรทดฐานระดบท 4 กตอเมอ รเลชนนนๆ อยในรปแบบBCNF
และเปนรเลชนทไมมความสมพนธในการระบคาของแอททรบวตแบบหลายคาโดยทแอททรบวตทถกระบคา
หลายคาเหลานไมมความสมพนธกนรเลชนทอยในรปแบบ BCNF จะอยในรปแบบบรรทดฐานระดบท 3 แต
รเลชนทอยในรปแบบบรรทดฐานระดบท 3 ไมจาเปนจะตองอยในรปแบบ BCNF ดงนนรเลชนทควรตองผาน
การทาใหอยในรปแบบ BCNF จะตองมลกษณะทรเลชนนนมคยคแขงหลายตว โดยคยคแขงเหลานนเปนคย
ผสมและมความซาซอนกน
ตวอยาง สนคาชนดหนง มผผลตหลายบรษท ผผลตแตละบรษทมโครงการผลตหลายโครงการ และ
มโรงงานตงอยหลายจงหวด แสดงดงตารางท 5.14
ตารางท 5.14 แสดงการปรบใหเปน 1NF โดยใหทกแอททรบวตประกอบกนเปนคยหลก
รเลชน “ผผลต” รเลชน “ผผลต”
รหสผผลต รหส
โครงงาน
จงหวดทตง
โรงงาน
รหสผผลต
รหส
โครงงาน
จงหวดทตง
โรงงาน
P1 PJ001 กรงเทพฯ P1 PJ001 กรงเทพฯ
PJ001 อยธยา P1 PJ001 อยธยา
PJ002 กรงเทพฯ P1 PJ002 กรงเทพฯ
PJ002 สมทรปราการ P1 PJ002 สมทรปราการ
P2 PJ003 ระยอง P2 PJ003 ระยอง
PJ003 ชลบร P2 PJ003 ชลบร
PJ004 ระยอง P2 PJ004 ระยอง
PJ004 ชลบร P2 PJ004 ชลบร
PJ005 ระยอง P2 PJ005 ระยอง
PJ005 ชลบร P2 PJ005 ชลบร
จากตารางท 5.14 รเลชนผผลตประกอบดวยรหสผผลต ซงมความสมพนธแบบหนงตอกลมกบแอ-
ททรบวต รหสโครงการ และจงหวดทตงโรงงาน รเลชนผผลตจะอยในรปแบบ BCNF เมอมแอททรบวตทกแอ
ททรบวตประกอบกนเปนคยหลก แตแอททรบวตรหสโครงการทสงผลตไมมความสมพนธกบจงหวดทตง
โรงงานแตมาอยในรเลชนเดยวกนจงกอใหเกดความซาซอนของขอมลเกดขน เพราะจงหวดทตงโรงงานอยใน
รเลชนทซากน ดงนนรเลชนนจงมปญหาแฝงอยแมวารเลชนผผลตจะอยในรปแบบของ BCNF โดยมแอททร
บวตทกแอททรบวตประกอบกนเปนคยหลกกตาม
ปญหาความผดพลาดทเกดขนจากการเพม ลบ หรอปรบปรงขอมลในรเลชนผผลต มโอกาสเกดขน
เชน หากผผลตรหส P2 ยายโรงงานทตงอยในจงหวดระยองไปอยจงหวดอน ตองทาการแกไขขอมลหลาย
เรคอรด หรอความผดพลาดทเกดจากการเพมขอมลอาจจะทาไมได เชน การเกบขอมลชอจงหวดทตงโรงงาน
ของผผลตรายใหมทยงไมเคยไดรบงานโครงการใดเลยจะทาไมได เปนตนการแกไขปญหาทาไดโดยการแตก
รเลชน ผผลต ออกเปนสองรเลชน แสดงดงตารางท 5.15
โครงการผลต (รหสผผลต, รหสโครงการทสงผลต)
โรงงานผลต (รหสผผลต, จงหวดทตงโรงงาน)
ตารางท 5.15 แสดงตวอยางการจดระบบขอมลในรปแบบบรรทดฐานระดบท 4
รเลชน “โครงการผลต”
รหสผผลต รหสโครงการ
P1 PJ001
P1 PJ002
P2 PJ003
P2 PJ004
P2 PJ005
รเลชน “โรงงานผลต”
รหสผผลต จงหวดทตงโรงงาน
P1 กรงเทพฯ
P1 อยธยา
P1 สมทรปราการ
P2 ระยอง
P2 ชลบร
6) รปแบบบรรทดฐานระดบท 5 (Fifth Normal Form : 5NF)
รเลชนหนงๆ จะอยในรปแบบบรรทดฐานระดบท 5 หรอทเรยกวา Project-Join Normal Form
(PJ/NF) กตอเมอรเลชนนนอยในรปแบบบรรทดฐานระดบท 4 และไมม Symmetric Constraint กลาวคอหากม
การแตกรเลชนออกเปนรเลชนยอย (Projection) และเมอทาการเชอมโยงรเลชนยอยทงหมด (Join) จะไม
กอใหเกดขอมลใหมทไมเหมอนรเลชนเดม (Squrious Tuple)
ตวอยาง รเลชนผผลต ประกอบดวยแอททรบวต ชอผผลต ชอสนคา และชอโครงการ
โดยมแอททรบวตทงสามเปนคยหลก แสดงดงตารางท 5.16
ตารางท 5.16 แสดงรเลชนผผลต ทอยในรปแบบบรรทดฐานท 4
รเลชน “ผผลต”
ชอผผลต ชอสนคา ชอโครงการ
เสร ปากกา PJ2
เสร โตะ PJ1
พนดา ปากกา PJ1
เสร ปากกา PJ1
จากตารางท 5.16 รเลชนผผลตทอยในรปแบบบรรทดฐานระดบท 4 ดวยการใหแอททรบวตทงสาม
ประกอบกนเปนคยหลก แตยงมปญหาในการปรบปรงแกไขขอมล เชน หากตองการลบขอมลของทเพลท 3
(พนดา, ปากกา, PJ1) ขอมลของชอผผลต คอ พนดาจะหายไปจากฐานขอมลหรอหากมการเปลยนชอสนคาก
ตองทาการปรบปรงขอมลหลายทเพล เปนตน เพอหลกเลยงปญหาดงกลาว จงทาการแยกรเลชน ผผลต เปน
สามรเลชนยอย โดยแตละรเลชนยอยจะประกอบดวยแอททรบวตแตละคเปนคยหลก แสดงดงตารางท 5.17
ตารางท 5.17 แสดงตวอยางการจดระบบขอมลในรปแบบบรรทดฐานระดบท 5
จากตารางท 6.13 เมอแตกรเลชน ผผลต ออกเปนรเลชน การผลต สนคาทผลต และโครงการผลต
หากนารเลชนทงสามมาเชอมโยงกน (JOIN) จะมขอมลเหมอนในรเลชนเดม (Symmetric Constraint) คอ ไมม
ลกษณะของทเพลทเกนมาซงเรยกวา Spurious Tuple
ประเดนทควรคานงถงในการทาใหเปนรปแบบบรรทดฐาน คอ การแตกรเลชนมากเกนไป (Over
normalization)
วตถประสงคหนงของการทาใหเปนรปแบบบรรทดฐาน คอ เพอลดปญหาในดานความซาซอนของ
ขอมล และลดปญหาในเรองการเพม การปรบปรง หรอลบขอมล โดยทวไปแลวการออกแบบในระดบแนวคด
ผออกแบบจะพยายามวเคราะหรเลชนใหอยในรปแบบระดบท3 แตถามกรณของปญหาทจาเปนตองทาตอไป
ถงรปแบบบรรทดฐานของบอยสและคอดด หรอระดบท 4 หรอระดบท 5 (ซงเกดขนนอยมากในทางปฏบต)
แตอยาพยายามแตกรเลชนใหมากเกนความจาเปน (Over normalization) เพราะการแตกรเลชนออกเปนรเลชน
ยอยมากเกนไป มผลตอประสทธภาพในการทางานของฐานขอมลนนๆ เชน ในการคนหาขอมลจะใชเวลามาก
เกนไป เปนตน
สรป
การออกแบบฐานขอมลเปนขนตอนหนงในการพฒนาระบบฐานขอมล เครองมอทนยมนามาใชในการ
ออกแบบฐานขอมล คอ แบบจาลองอ-อาร ซงประกอบดวย เอนทต แอตทรบวต คย และความสมพนธ โดย
เอนทต คอ สงตางๆ ทผใชงานฐานขอมลตองการจะจดเกบ สวนแอตทรบวต คอ คณสมบตตางๆ ของเอนทต
สาหรบคย คอ แอตทรบวตทสามารถใชบงบอกความแตกตางของขอมลแตละทเพลหรอแถวได และ
ความสมพนธนนคอความสมพนธระหวางเอนทต เมอนาองคประกอบทงหมดมาประกอบกนเปนแบบจาลอง
อ-อาร กตองทาการแปลงแบบจาลองอ-อารเปนโครงสรางตารางฐานขอมล แลวจงนามาทาการนอรมลไลเซ
ชน เพอใหฐานขอมลทออกแบบไวเกดความซาซอนนอยทสด และสามารถแกไขปรบปรงขอมลไดงาย จากนน
กนาฐานขอมลทออกแบบไวนนมาสรางใหใชงานไดจรงดวยโปรแกรมสาเรจรปในการจดการฐานขอมล