บทที่ 4...
TRANSCRIPT
บทท 4 โมเดลเชงสมพนธ
หวขอเรอง
4.1 โมเดลขอมลเชงสมพนธ (Entity Relationship Model) 4.2 เอนทต (Entity) 4.3 แอททรบวต (Attribute) 4.4 ความสมพนธระหวางเอนทต (Entity Relationship) 4.5 ความเกยวของกนระหวางเอนทตกบความสมพนธ (Participation) 4.6 การแปลง E-R Diagram ไปเปนตารางเกบขอมล 4.7 การเปลยนจากความสมพนธเปนตาราง
สรปบทเรยน ประเมนผลหลงเรยน
จดประสงคทวไป
เพอใหมความรความเขาใจเกยวกบระบบฐานขอมลเบองตน
จดประสงคเชงพฤตกรรม
เมอศกษาบทท 4 จบแลว ผเรยนสามารถ
1. บอกสญลกษณทใชใน E-R diagram 2. บอกสญลกษณทใชแทนความสมพนธของขอมลได 3. สามารถอธบายความสมพนธของเอนทตแบบตางๆ ในฐานขอมลเชงสมพนธได 4. สามารถแปลง E-R Diagram ใหเปนตารางในการเกบขอมลได 5. สามารถเปลยนความสมพนธเปนตารางได
4.1 โมเดลขอมลเชงสมพนธ (Entity Relationship Model)
โมเดลขอมลเชงสมพนธ (Entity Relationship Model) หรอ E-R Model ถกน าเสนอโดย Chen (1976) และไดรบการพฒนาจะสมบรณในป 1979 เพอใชในการอธบายฐานขอมลในรปแบบแผนภาพ เรยกวา E-R diagram นนคอมนษยพยายาม เขยนสรางทเปนจนตภาพ (ในทนคอ มมมองทเขามองฐานขอมล) ใหเปนกายภาพ ในรปแผนภาพ แผนภาพ ER ดงกลาวใชพนฐานของโมเดลขอมลเชงตรรกะ (Logical Data Model) ของ Fleming ทเสนอไวในป 1989
เปนวธการแสดงความตองการสารสนเทศในระบบธรกจใหเปนแผนภาพ ในขนตอนการวเคราะหและออกแบบระบบฐานขอมล เนนตวขอมลทมอยจรงโดยไมค านงถงรายละเอยดในการ ตดตง, ความตองการพเศษอนในแงการใชงาน และความเรวในการสบคนขอมล หรออาจกลาวอกนยหนงวาโมเดลขอมลเชงตรรกะเปนการสรางโครงรางววของ ผใช (Skeletal User View) จะแสดงขอมลในขอบเขตทผออกแบบสนใจโดยมสงทตองก าหนดเปนพนฐาน ไดแก เอนทต, รเลชนชป, แอททรบวต ในแงของ ER-Diagram ประกอบดวย
เอนทต (Entity) คอ สงทมอยจรง จบตองได หรอเปนจนตภาพทแสดงความเปนหนงเดยว เมอ กลาวถงแลวทกคนเขาใจตรงกน เชน สนคา, วตถดบ, แผนกตาง ๆ, การสงซอ รเลชนชป (Relationship)คอความสมพนธซงเปนลกษณะการเกยวพนกนระหวางเอนทตหนงกบตว มนเองหรอ เอนทตอน อาจเปนความสมพนธทมากกวา 2 เอนทตกได เชน แผนกจดซอท าการสงซอสนคาหรอวตถดบ แอททรบวต (Attribute) คอกลมของคาความจรงใด ๆ ทเปนรายละเอยดของเอนทตซงแสดงลกษณะ และ คณสมบตของเอนทต ท าใหเขาใจเอนทตไดลกซงยงขน และเปนสงทไมสามารถแตกยอยลงไปไดอกโดยไมเสยความหมายไป เชน รหสสนคา, สถานทเกบ, ชอสนคา, ราคา นอกจากนนยงมการระบดวยวาแอททรบวตใดเปนคยก าหนดกฎขอบงคบตาง ๆ ของเอนทตและรเลชนชป
4.2 เอนทต (Entity) เอนทต คอ สงทคงอย สามารถระบได ในความจรง เชน บคคล เหตการณ สถานท โดยทวไป เอนทต มกจะอยในรปของนาม เอนทตสามารถมพรอพเพอต หรอคณสมบต ไดหลายอยาง เชน บคคล มคณสมบตไดหลายอยาง เชน ชอ ทอย อาย เพศ วฒการศกษา ฯลฯ
4.2.1 Regular Entity Regular Entity หรอ เอนทตทวๆไป ทตวเอนทตเองมคณสมบต ทสามารถ ก าหนด ใหเปนเอกลกษณเฉพาะกบเอนทตได คอมแอททรบวตใดแอททรบวตหนงทแยก ความแตกตางของ ขอมลแตละทเพลได
เอนทต STUDENT
SID Sname Address Grade 4739010001 ประสาน สมพงษ 111 หม 5 สามเสน กรงเทพฯ 3.5 4739010002 อ านาจ รกด 222 หม 2 บางซอ กรงเทพฯ 2.8 4739010003 ประนอม รกการอาน 333 หม 1 หนองจอก กรงเทพฯ 3.0
สญลกษณของ Regular Entity
รปท 4.1 ตวอยาง Regular Entity และสญลกษณ
จากรปท 4.1 เปนตวอยางของ Regular Entity ทชอวา STUDENT ซงสญลกษณจะเขยน แทน ดวยสเหลยมผนผา และมชอของเอนทตอยภายใน
4.2.2 Weak Entity Weak Entity หรอเอนทตออนแอ คอเอนทตทไมสามารถคงอย หรอมคณสมบตทแยกความ แตกตางของขอมล แตละทเพลไดดวยคณสมบตของตวเองได ตวอยางของ Weak Entity คอเวลาเขาออกของพนกงาน
เอนทต TimeStamp
EmpID Date TimeIn TimeOut 47035501 2/7/47 7:30 17:30 47035502 2/7/47 8:00 18:00 470355503 2/7/47 7:45 17:45
รปท 4.2 ตวอยาง Weak Entity และสญลกษณ
จากตวอยาง เอนทต Timestamp มคณสมบตคอวนทและเวลาเขา เวลาออกเทานน ซงถาม คณสมบตเพยงเทาน จะไมสามารถแยกความแตกตางของขอมลในแตละทเพลไดเลย ดงนน จงตองม การน าแอททรบวต EmpID มารวมเขากบ เอนทต Timestamp เพอใหสามารถแยก ความแตกตาง ของขอมลในแตละทเพลได
4.3 แอททรบวต (Attribute)
แอททรบวต หรอ พรอพเพอต (Property) คอคณสมบตตางๆ ของเอนทต ซงในแตละเอนทต สามารถม คณสมบตตางๆ ไดมากมาย ขนอยกบวาเราตองการจดเกบขอมลอะไรบาง เชน คณสมบตของพนกงาน คอ จะมรหสพนกงาน ชอ-นามสกล ทอย เงนเดอน ฯลฯ เปนตน
รปท 4.3 ตวอยางของพรอพเพอต
ประเภทของพรอพเพอต มดงน
4.3.1 Simple Property คอพรอพเพอต ทคาภายในพรอพเพอตนน จะไมแบงแยกยอยออกมาอก เชน รหสนกศกษา ชอ เกรด เปนตน สญลกษณทใช คอวงร ดงรปท 4.6 เปนตวอยางเอนทต Student ซงมพรอพเพอตคอ SID, Sname และ Grade
รปท 4.4 เอนทต Student และ พรอพเพอต SID, Sname, Grade
4.3.2 Composite Property คอพรอพเพอต ทคาภายในพรอพเพอตนน สามารถแบงแยกยอยออกมาไดอก เชน ชอ ทอย เปนตน ซงสามารถแบงแยกยอยเปน ชอ และนามสกล สวนทอยสามารถแบงแยกยอยไดเปน เลขท ถนน อ าเภอ จงหวด เปนตน จากรปท 4.5 แสดงพรอพเพอต Sname ซงประกอบดวย FirstName และ LastName
รปท 4.5 เอนทต Student และ Composite Property Sname
4.3.3 Key Property คอพรอพเพอต ทใชแยกความแตกตางของขอมลในแตละทเพล ซง คาของพรอพเพอต ทท าหนาทเปน Key นนจะมคาไมซ ากน ดงแสดงในรปท 4.6 เอนทต Student มพรอพเพอต SID เปน Key ซงจะเขยนเสนใตทพรอพเพอตทท าหนาทเปน Key
รปท 4.6 เอนทต Student และ Key พรอพเพอต
4.3.4 Single-Valued Property คอพรอพเพอต ทคาขอมลของพรอพเพอตนน มอยเพยงคาเดยว เชน SID,Sname,Grade ดงแสดงในรปท 4.7
4.3.5 Multi-Valued Property คอพรอพเพอต ทคาขอมลของพรอพเพอตนน มอยไดหลายคา เชน หมายเลขโทรศพท ดงแสดงในรปท 4.7
รปท 4.7 Single-Valued Property และ Multi-Valued Property
4.3.6 Derived Property คอพรอพเพอตทไดจากการน าคาของพรอพเพอตอนมาค านวณ เชน อาย ไดจากการ น าวน เดอนปเกด มาค านวณ สญลกษณแสดงดงตวอยางรปท 4.8 โดยใชวงรเปนเสนประ
รปท 4.8 Derived Property
จากรปท 4.8 สาเหตทแอททรบวต AGE ตองใชการค านวณจากวนเดอนปเกด เนองจากถาเกบ คาอายโดยตรง จะตองท าการแกไขขอมลอายทกป เนองจากขอมลจะเปลยนไปเรอยๆ แตหากค านวณ จากวนเดอน ปเกด ขอมลอายจะถกตองอยเสมอ
4.4 ความสมพนธระหวางเอนทต (Entity Relationship)
ความสมพนธของเอนทตคอการอธบายความสมพนธระหวางเอนทต วามความสมพนธของ ขอมลกนอยางไร ใชสญลกษณสเหลยมขาวหลามตด และมเสนโยง ความสมพนธระหวางเอนทต ดงตวอยางรปท 4.9
รปท 4.9 ความสมพนธของขอมล
เอนทต สามารถมความสมพนธกนไดมากกวาหนงความสมพนธ เชนตวอยางดงรปท 4.10 เปนความสมพนธของเอนทต Student และ เอนทต Major ซงมความสมพนธ 2 แบบ คอ ความสมพนธ Leader และ ความสมพนธ IN ซงบอกวานกศกษาเปนหวหนาสาขาวชาใด และ บอกความความ สมพนธวานกศกษาเรยนอยในสาขาวชาใด
รปท 4.10 ความสมพนธของเอนทตสามารถมความสมพนธไดมากกวาหนง
เอนทต สามารถมความสมพนธกบตวเองได ซงเรยกวา ความสมพนธแบบ Recursive ดงตวอยางในรปท 4.11 ซงเอนทต Student สามารถมความสมพนธ Leader กบตวเองได คอ นกศกษา เปนหวหนาของนกศกษา จงสามารถเขยนความสมพนธระหวางนกศกษากบนกศกษาได โดยใชเอนทตเดยวคอเอนทต Student
รปท 4.11 ความสมพนธของเอนทต แบบ Recursive
ความสมพนธของเอนทต สามารถระบได 3 รปแบบ ดงน
4.4.1 ความสมพนธของเอนทต แบบหนงตอหนง (one to one, 1:1 Relationship) ความสมพนธของเอนทต แบบหนงตอหนง คอ ความสมพนธทขอมลของเอนทตหนง จะมความสมพนธกบขอมลในเอนทตหนง เพยง ขอมลเดยว ซงใชตวเลข ก ากบทเสนเพอระบ ความสมพนธ ดงตวอยางรปท 4.12 เปนความสมพนธของเอนทต Student และ เอนทต Major ซงก าหนดใหแตละสาขาวชามหวหนาหองไดเพยงคนเดยว และนกศกษาทเปนหวหนาหอง จะเปนหวหนาหองไดเพยงหองเดยวเทานน
รปท 4.12 ความสมพนธของขอมลแบบ 1 : 1
4.4.2 ความสมพนธของเอนทต แบบหนงตอหลาย (one to many, 1:N Relationship ) ความสมพนธของเอนทตแบบหนงตอหลาย คอ ความสมพนธทขอมลของเอนทตทางดานหนง จะมความสมพนธกบขอมลในเอนทตอนไดเพยงขอมลเดยว แตเอนทตทอยทางดานกลม สามารถมความสมพนธของขอมลกบเอนทตทอยทางดานหนงไดหลายขอมล ดงตวอยางรปท 4.13 เปนความสมพนธของเอนทต Student และ เอนทต Major ซงก าหนดใหนกศกษาแตละคน จะตองสงกดอยในสาขาวชาใดสาขาวชาหนงเทานน แตในสาขาวชาสามารถ มนกศกษาสงกดอย ในสาขานนไดมากกวาหนงคน
รปท 4.13 ความสมพนธของขอมลแบบ 1 : N
4.4.3 ความสมพนธของเอนทต แบบหลายตอหลาย (many to many, M : N relationship) ความสมพนธของเอนทต แบบกลมตอกลม คอ ความสมพนธทขอมลของเอนทตทางดานหนง จะมความสมพนธกบขอมลในเอนทตอนหลายขอมล ดงตวอยางรปท 4.14 เปนความสมพนธของเอนทต Student และ เอนทต Course ซงนกศกษาแตละคน สามารถลงทะเบยนเรยนไดหลายวชา และแตละวชาสามารถมนกศกษาลงทะเบยนเรยนไดหลายคน
รปท 4.14 ความสมพนธของขอมลแบบ M : N
4.5 ความเกยวของกนระหวางเอนทตกบความสมพนธ (Participation)
Participation คอ ความเกยวของกนระหวางเอนทตกบความสมพนธ วามลกษณะ ความเกยวของกนอยางไร ซง มอยดวยกน 2 ลกษณะคอ
1) Total Participation คอ ทกขอมลภายในเอนทต จะตองมความสมพนธกบขอมล ในอกเอนทต หนง ตวอยางแสดงดงรปท 4.15 แสดงความสมพนธของนกศกษากบชมรม ซงก าหนดวาทกชมรม จะตองมนกศกษาสงกดชมรมนน ไมมไมได ใชสญลกษณคอใชเสน แสดงความสมพนธ 2 เสนคกน
2) Partial Participation คอ ขอมลภายในเอนทต อาจจะมความสมพนธกบขอมล ในอกเอนทตหนง หรอไมมกได ตวอยางแสดงดงรปท 4.15 แสดงความสมพนธของนกศกษากบชมรม ซงนกศกษาบางคนอาจจะไมสงกดชมรมใดกได ซงเขยนแทนโดย ใชเสนแสดงความสมพนธ เพยงเสนเดยว
รปท 4.15 ความสมพนธแบบ Total และ Partial Participation
4.6 การแปลง E-R Diagram ไปเปนตารางเกบขอมล ( Mapping ER Diagram )
วธการเปลยนจาก E-R Diagram เปนตารางในการเกบขอมลสามารถสรปขนตอนและตวอยางได ดงน
1) Strong Entity สามารถเปลยนเปนตารางไดเลย โดยมจ านวนแอททรบวต (คอลมน) ของ ตาราง ตามจ านวนพรอพเพอตของเอนทต ถาพรอพเพอตเปนแบบ Simple Property และใหคยของพรอพเพอตท าหนาท เปนไพรมารคยของตาราง
รปท 4.16 การแปลงจาก Strong Entity เปนตารางเกบขอมล
จากรปท 4.16 จะเหนวาชอของพรอพเพอต จะน ามาตงเปนชอแอทรบวตของตารางไดเลย และชอของเอนทตจะน ามาก าหนดเปนชอของตาราง
2) กรณถาพรอพเพอตเปนแบบ Composite Property ใหแยกพรอพเพอตยอยทรวมกนเปน Composite Property ออกเปนแตละแอททรบวตของตารางไดเลย ดงตวอยางรปท 4.17
รปท 4.17 การแปลงจาก Strong Entity ทม Composite Property เปนตารางเกบขอมล
3) กรณถาพรอพเพอตเปนแบบ Multivalue Property ใหน าคาพรอพเพอตทเปน Multivalue แยกออกมาสรางเปนตารางใหม และน าคาคยของเอนทตเดม มารวมกบพรอพเพอตทเปน Multivalue แลวก าหนดใหเปนไพรมารคยของตารางทแยกออกมาสรางใหม ดงตวอยางรปท 4.18
รปท 4.18 การแปลง Multivalue Property เปนตารางเกบขอมล
4) Weak Entity มหลกการเชนเดยวกบ Strong Entity แตใหน าคาพรอพเพอต ทท าหนาท เปน คยของ Strong Entity ท Weak Entity นนมความสมพนธอย มารวมกบพรอพเพอตของ Weak Entity เอง พรอมทงก าหนดใหเปนคาไพรมารคยของตารางดวย ดงตวอยางรปท 4.19
รปท 4.19 การแปลง Weak Entity เปนตารางเกบขอมล
4.7 การเปลยนจากความสมพนธเปนตาราง
การเปลยนจากความสมพนธเปนตาราง มแนวทางในการท าดงน
1) ความสมพนธเปนแบบกลมตอกลม (M : N) ใหน าความสมพนธนนมาสรางเปนตารางใหม โดยน าไพรมารคยของเอนทตทมความสมพนธกบความสมพนธนนมาก าหนด เปนพรอพเพอตของตารางใหม พรอมทงก าหนดใหท าหนาทเปนไพรมารคย หากความสมพนธนนมพรอพเพอตของความสมพนธดวย กน าพรอพเพอตนนมาเปน แอททรบวตของตารางใหมดวย ตวอยางดงรปท 4.20
รปท 4.20 การแปลงจากความสมพนธ เปนตารางเกบขอมล กรณความสมพนธแบบกลมตอ
กลม
จากรปท 4.20 จะเหนวาตารางทสรางมาจากความสมพนธคอตาราง Take ซงไดจากการ น าไพรมารยคย ของตาราง Student คอ SID และ ไพรมารยคยของตาราง Course คอ CID มารวมกน แลวก าหนดใหพรอพเพอตทงครวมกนเปนไพรมารยคยของตาราง Take และมแอตทรบวส ของความสมพนธเองกคอ Grade
2) ความสมพนธเปนแบบหนงตอกลม (1 : N ) ใหน าคาไพรมารคยของเอนทตทมความสมพนธทางดาน หนง มาเปนแอททรบวต หนง ของเอนทตทางดานกลม โดยไมตองมการสรางตารางของความสมพนธขนมาใหม ตวอยางดงรปท 4.21
รปท 4.21 การแปลงจากความสมพนธ เปนตารางเกบขอมล กรณความสมพนธแบบหนงตอ
กลม
จากรปท 4.21 จะเหนวาทตาราง Student จะมการน าเอาแอททรบวต MID ซงเปนคาไพรมารคยของตาราง Major มาเปนแอททรบวตหนงของตาราง Student เพอใชส าหรบการ เชอมโยงความสมพนธของทงสองตารางนนเอง ซงคา MID ในตาราง Student กจะท าหนาทเปน คยนอก (Foreign Key) ของตาราง
3) ความสมพนธเปนแบบหนงตอหนง (1 : 1 ) ใหน าคาไพรมารคยของเอนทตทมความสมพนธกน มาเปนแอททรบวต หนงของอกเอนทต ทมความสมพนธกน โดยจะน าจากเอนทตดานใดกได โดยไมตองมการสรางตารางของ ความสมพนธขนมาใหม ตวอยางดงรปท 4.22
รปท 4.22 การแปลงจากความสมพนธ เปนตารางเกบขอมล กรณความสมพนธแบบหนงตอ
หนง
จากรปท 4.22 ในกรณแรกเปนการน าแอททรบวต MID ซงเปนไพรมารคยของเอนทต Major มาเปนแอททรบวตหนงของเอนทต Student โดยตงชอวา Leader of MID สวนกรณทสอง จะน าคา SID ของเอนทต Student มาเปนแอททรบวตของเอนทต Major โดยตงชอวา SID Leader ซงในการใชงานจรง สามารถทจะเลอกแบบใดกได
สรปบทท 4
โมเดลขอมลเชงสมพนธ (Entity Relationship Model) เปนการอธบายโครงรางของฐานขอมลผานทางแผนภาพ E-R Diagram เปรยบเสมอนเปนพมพเขยวของระบบฐานขอมล ซงประกอบดวยองคประกอบส าคญ คอ เอนทต (Entity), รเลชนชป (Relationship) และ แอททรบวส (Attribute)
เอนทต (Entity) คอสงทมอยจรง จบตองได หรอเปนจนตภาพทแสดงความเปนหนงเดยว เมอกลาวถงแลวทกคนเขาใจตรงกน เชน สนคา, พนกงาน, นกศกษา, การสงซอ เปนตน
รเลชนชป (Relationship) คอความสมพนธซงเปนลกษณะการเกยวพนกนระหวางเอนทตหนงกบตว มนเองหรอเอนทตอน อาจเปนความสมพนธทมากกวา 2 เอนทตกได เชน แผนกจดซอท าการสงซอสนคาหรอวตถดบ
แอททรบวส (Attribute) หรอ พรอพเพอต (Property) คอกลมของคาความจรงใด ๆ ทเปนรายละเอยดของเอนทตซงแสดงลกษณะและคณสมบตของเอนทต เชน รหสสนคา, สถานทเกบ, ชอสนคา, ราคา นอกจากนนยงมการระบดวยวาแอตตรบวใดเปนคยก าหนดกฎขอบงคบตาง ๆ ของเอนทตและรเลชนชป
สญลกษณทใชในแผนภาพ E-R diagram