บทที่ 4...

Post on 01-Jun-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related