บทท4่ี Entity-Relationship Model (E-R Model) 1.ข้นั ตอนการออกแบบฐานข้อมลู การออกแบบฐานขอ้ มลู สามารถเขียนข้นั ตอนคร่าวๆไดด้ งั น้ี รูปท่ี4.1 ข้นั ตอนการออกแบบฐานขอ้ มลู จากรูปที่4.1เป็นการอธิบายข้นั ตอนในการออกแบบฐานขอ้ มลู ซ่ึงมีการออกแบบอย3ู่ ระดั คือConcetualDesign,Logical Design,Physical Design โดยมขี ้นั ตอนการออกแบบดงั น้ี Database Requirements เป็นการวเิ คราะห์ความตอ้ งการของฐานขอ้ มลู ท่ีตอ้ งการออกแบบซ่ึงถือวา่ เป็นข้นั ตอนท่มคี วามสาคญั เป็นอยา่ งยงิ่ เน่ืองจาก หากเราไม่สามารถวเิ คราะหห์ าความตอ้ งการของฐานขอ้ มลู ได้อยา่ งถกู ตอ้ งและครบถว้ นแลว้ จะทาใหฐ้ านขอ้ มลู ท่ีเราออกแบบไมส่ ามารถรองรับการเก็บขอ้ มลู ไดค้ รบท้งั หมด ซ่ึงอาจจะตอ้ งมีการแกไ้ ขโครงสร้างของฐานขอ้ มลู ใหม่ทาให้เกิดปัญหาต่างๆตามมา
1.การออกแบบในระดบั แนวความคดิ (Conceptual Design) เป็นการออกแบบฐานขอ้ มลู ในระดบั ของแนวความคิด คือ ถา่ ยทอดโครงสร้างของฐานขอ้ มลู ที่คิด ไว้ใหอ้ อกมาอยใู่ นรูปแบบที่สามารถมองเห็นเขา้ ใจได้ เช่น การใชE้ -R Diagram เขียนโครงสร้างความสมั พนั ธ์ของขอ้ มลู ในฐานขอ้ มลู ซ่ึงผลลพั ธข์ องการออกแบบในระดบั แนวความคิด ก็จะไดโ้ มเดลหรือโครงสร้างของฐานขอ้ มลู ในระดบั แนวความคิด เช่นได้ E-R Dtagram ของฐานขอ้ มลู 2.การออกแบบในระดับลอจกิ (Logical Design) คือ การออกแบบฐานขอ้ มลู โดยนาโครงสร้างฐานขอ้ มลู ในแนวความคดิ มาออกแบบ ใหเ้ ป็นโครงสร้างของฐานขอ้ มลู เพื่อใชง้ าน โดยการออกแบบจะอา้ งอิงตาม ซอฟตแ์ วรฐานขอ้ มลู ท่ีใชว้ ่ามโี ครงสร้าง ประเภทขอ้ มลู อยา่ งไรบา้ ง ผลลพั ธจ์ ากการออกแบบน้ี จะได้โครงสร้าง ท่ีพร้อมจะนาไปสร้างเป็นโครงสร้างของฐานขอ้ มลูต่อไป 3.การออกแบบในระดบั กายภาพ(Physical Design) คือการสร้างฐาานขอ้ มลู เพ่ือเก็บขอ้ มลู โดยซอฟตแ์ วร์ฐานขอ้ มลู เป็นตวั จดั การ เช่นการสร้างโครงสร้างการจดั ก็บต่างๆในฮาร์ดดิสก์จากข้นั ตอนในการออกแบบฐานขอ้ มลู สามารถสรุปข้นั ตอนการปฎิบตั ิไดด้ งั รูปที่4.2 รูปที่4.2 ข้นั ตอนการปฎิบตั ิในการออกแบบฐานขอ้ มลูสรุปข้ันตอนปฎิบตั ใิ นการออกแบบฐานข้อมูล1.ออกแบบโครงสร้างฐานขอ้ มลู ดว้ ย E-R Diagram
2.เลอื กซอฟตแ์ วร์ระบบจดั การฐานขอ้ มลู3.แปลงจาก E-R Diagram ใหเ้ ป็นโครงสร้างฐานขอ้ มลู ตาม DBMS ท่ีเลอื ก4.สร้างฐานขอ้ มลู ตามโครงสร้างที่ออกแบบ 2. E-R Model E-R Model คือ แบบจารองที่ใชอ้ ธิบายโครงสร้างของฐานขอ้ มลู ซ่ึงเขียนออกมา ในลกั ษณะของรูปภาพสญั ลกั ษณ์ ที่เรียกวา่ E-R Diagram ในฐานขอ้ มลู การอธิบายโครงสร้างและความสมั พนั ธข์ องขอ้ มลู จะประกอบดว้ ย2ส่วนคือ 1.เอนทิต้ี (Entity)ต่างๆท่ีอยใู่ นฐานขม้ ลู น้นั 2.ความสมั พนั ธ์ (Relationship) ของแต่ละเอนทิต้ีในฐานขอ้ มลู น้นั 3. เอนทติ (ี้ Entity) เอนทิต้ี คือ สิ่งท่ีคงอยู่ สามารถระบุไดใ้ นความจริง เช่น บุคคคล เหตกุ ารณ์ สถานท่ี โดยทวั่ ไปเอนทิต้ีมกั จะอยใู่ นรูปของนาม เอนทิต้ีสามารถมีพรอพเพอต้ี หรือคุณสมบตั ิ ไดห้ ลายอยา่ งเช่น บุคคล มีคณุ สมบตั ิไดห้ ลายอยา่ งเช่น ช่ือ ท่ีอยู่ อายุ เพศ วฒุ ิการศกึ ษา ฯลฯ เอนทิต้ีแบ่งออกเป็น 2 ชนิด คือ 3.1 Regular Entity Regular Entity หรือ เอนทิต้ีทว่ั ไปๆไป ท่ีตวั เอนทิต้เี องมคี ุณสมบตั ิ ที่สามารถ กาหนดใหเ้ ป็นเอกลกั ษณ์เฉพาะกบั เอนทิต้ีได้ คือมีแอตทิบิวสใ์ ดแอทริบิวสห์ น่ึงท่ีแยก ความแตกต่างของขอ้ มลู แต่ละทูเพิลได้ เอนทิต้ีStudentSID Sname Address Grand 3.547035501 ประสาน สมพงษ์ 111หม่5ู สามเสน กรุงเทพฯ 2.8 3.047035502 อานาจ รักดี 222 หม่2ู บางซ่ือ กรุงเทพฯ47035503 ประนอม รักอา่ น 333 หม่1ู หนองจอก กรุงเทพฯ Student
สญั ลกั ษณ์ของRegular Entity รูปที่ 4.3 ตวั อยา่ ง Regular Entoty และสญั ลกั ษณ์จากรูปท่ี4.3 เป็นตวั อยา่ งของ Regular Entity ท่ีช่ือว่า Student ซ่ึงสญั ลกั ษณ์จะเขียนแทนดว้ ยส่ีเหล่ยี มผนื ผา้และมชี ื่อของเอนทิต้ีอยภู่ ายใน 3.2 Weak Entity Weak Entity หรือเอนทิต้ีอ่อนแอ คือเอนทิต้ีท่ีไมส่ ามารถคงอยู่ หรือมีคุณสมบตั ิท่ีแยกความแตกต่างของขอ้ มลู แต่ละทูเพลิ ไดด้ ว้ ยคณุ สมบตั ิของตวั เองตวั อยา่ งของ Weak Entity คือเวลาเขา้ ออกของพนกั งานEmpID Data TIme_In Time_Out47035501 2/2/47 7.30 17.3047035502 2/2/47 8.00 18.0047035503 2/2/47 7.45 17.45 รูปท่ี 4.4 ตวั อยา่ ง Weak Entity และสญั ลกั ษณ์จากตวั อยา่ ง เอนทิต้ีTimestamp มีคุณสมบตั ิคือวนั ท่ีและเวลาเขา้ เวลาออกเท่าน้นั ซ่ึงถา้ มีคุณสมบตั ิเพียงเท่าน้ี จะไม่สามารถแยกความแตกต่างของขอ้ มลู ในแต่ละทูเพลิ ไดเ้ ลย ดงั น้นั จึงตอ้ งมกี ารนาเอทริบิวต์ EmpID มารวมเขา้ กบั เอนทิต้ี Timestamp เพ่อื ใหส้ ามารถแยกความแตกต่างของขอ้ มลู ในแต่ละทเู พลิ ได้ 4. พรอพเพอตี้ (Property) หรือ แอททริบวิ ต์ (Attribute) พรอพเพอต้ี หรือ แอททริบิวส์ คือคุณสมบตั ิต่างๆ ของเอนทิต้ีซ่ึงในแต่ละเอนทิต้ีสามารถมคี ุณสมบตั ิต่างๆไดม้ ากมายข้ึนอยูู่ ู บกบั ว่าเราจะตอ้ งจดั เกบ็ ขอ้ มลูอะไรบา้ งเช่น คุณสมบตั ิ ของพนกั งาน คือ จะมรี หสั พนกั งาน ช่ือ-นามสกลุ ท่ีอยู่ เงินเดือน ฯลฯ เป็นตน้
EmpID Data TIme_In Time_Out 47035501 2/2/47 7.30 17.30 47035502 2/2/47 8.00 18.00 47035503 2/2/47 7.45 17.45 รูปที่ 4.5 ตวั อยา่ งของพรอพเพอต้ี พรอพเพอต้ีมหี ลายประเภทดว้ ยกนั ดงั น้ี 4.1 Simple Property คือพรอพเพอต้ีท่ีค่าภายในพรอพเพอต้ีน้นั จะไมแ่ บ่งแยกยอ่ ยออกมาอีก เช่น รหสั นกั ศึกษา ชื่อ เกรด เป็นตน้ สญั ลกั ษณ์ที่ใช้ คือรูปวงรีดงั รูปท่ี4.6 เป็นตวั อยา่ งเอนทิต้ี Student ซ่ึงมพี รอพเพอต้ี คือ SID,Sname และ Grade รูปท่ี4.6 เอนทิต้ี Student และ พรอพเพอต้ี SID,Sname, Grade 4.2 Composite Property คือพรอพเพอต้ีที่ค่าภายในพรอพเพอต้ีน้นั สามารถแยกยอ่ ยออกมาไดอ้ กี เช่น ช่ือ ที่อยู่ เป็นตน้ ซ่ึงสามารถแบ่งแยกยอ่ ยเป็น ชื่อและนามสกลุ ส่วนที่อยสู่ ามารถแบ่งแยกยอ่ ยไดเ้ ป็นเลขที่ ถนน อาเภอ จงั หวดั เป็นตน้ จากรูปที่4.7 แสดงพรอพเพอต้ี Sname ซ่ึงประกอบดว้ ย FirstNameและ LastName
รูปที่4.7 เอนทิต้ี Student และ Composite Property Sname4.3 Key Property คือ พรอพเพอต้ีที่ใชแ้ ยกความแตกต่างของขอ้ มลู ในแต่ละทูเพลิ ซ่ึง ค่าของพรอพเพอตื้ีที่ทาหนา้ ท่ีเป็นKey น้นั จะมีค่าไม่ซ้ากนั ดงั แสดงในรูปที่4.8 เอนทิต้ี Student มพี รอพเพอต้ีSID เูป็ ็น Key ซ่ึงจะเขียนเสน้ใตท้ ่ีพรอพเพอต้ีท่ีทาหนา้ ท่ีเป็น Key รูปที่4.8 เอนทิต้ี Studentและ Keyพรอพเพอต้ี4.4 Single-Valued Property คือพรอพเพอต้ีท่ีค่าขอ้ มลู ของพรอพเพอต้ีน้นั มีอยเู่ พีงค่าเเดียว เช่น SID,Sname,Grade4.5 Multi-Valued Property คือพรอพเพอต้ีที่ค่าขอ้ มลู ของพรอพเพอต้ีน้นั มีอยไู่ ดห้ ลายค่าเช่น หมายเลขโทรศพั ท
รูปที่ 4.9 Single-V alued Property และ Multi-Valued Property จากรูปท่ี 4.9 เอนทิต้ี Student ประกอบดว้ ย Single-Valued Property คือ Sid,Sname,Grade ส่วน Multi-Valued Property คือ Tel ใชส้ ญั ลกั ษณ์ คือวงรี 2วง4.6 Derived Property คือพรอพเพอต้ีที่ไดจ้ ากการนาค่าของพรอพเพอต้ีอน่ื มาคานวณ เช่น อายุ ไดจ้ ากการนาวนั เดือนปี เกิด มาคานวณ สญั ลกั ษณ์แสดงดงั ตวั อยา่ งรูปท่ี4.10 โดยใชว้ งรีเป็นเสน้ ปะ รูปท่ี 4.10 Derived Property จากรูปท่ี4.10 สาเหตุที่แอตทิบิวส์ AGE ตอ้ งใชก้ ารคานวณจากวนั เูืดือนปี เกิด เนื่องจากถา้ เก็บค่าอายุโดยตรง จะตอ้ งทาการแกไ้ ขขอ้ มลู อายทุ ุกปี เน่ืองจากขอ้ มลู จะเปลี่ยนไปเร่ือย ๆ แต่หากคานวณจากวนั เดือนปี เกิด ขอ้ มลู อายจุ ะถกู ตอ้ งอยเู่ สมอ
5 ความสัมพนั ธ์ของเอนทิตี้ (RelationShip) ความสมั พนั ธข์ องเอนทิต้ี คือ การอธิบายความสมั พนั ธร์ ะหวา่ งเอนทิต้ี ว่ามคี วามสมั พนั ธข์ องขอ้ มลู กนัอยา่ งไร ใชส้ ญั ลกั ษณ์สี่เหลี่ยมขา้ วหลามตดั และมเี สน้ โยงความสมั พนั ธร์ ะหวา่ งเอนทิต้ดี งั ตวั อยา่ งรูปที่4.11 รูปที่ 4.11 ความสมั พนั ธข์ องขอ้ มลู เอนทิต้ี สามารถมคี วามสมั พนั ธก์ นั ไดม้ ากว่าหน่ึงความสมั พนั ธ์ เช่นตวั อยา่ งดงั รูปท่ี4.12 เป็นความสมั พนั ธข์ องเอนทิต้ี Student และเอนทิต้ี Major ซ่ึงมคี วามสมั พนั ธ์ 2 แบบ คือ ความสมั พนั ธ์ Leaderและความสมั พนั ธ์ IN ซ่ึงบอกว่านกั ศกึ ษาเป็นหวั หนา้ สาขาวิชาใด และ บอกความสมั พนั ธว์ า่ นกั ศกึ ษาเรียนอยใู่ นสาขาใด รูปที่4.12 ความสมั พนั ธข์ องเอนทิต้ีสามารถมคี วามสมั พนั ธไ์ ดม้ ากกวา่ หน่ึง เอนทิต้ีสามารถมคี วามสมั พนั ธก์ บั ตวั เองได้ ซ่ึงเรียกว่า ความสมั พนั ธ์ Leader กบั ตวั เองไดค้ ือนกั ศกึ ษาเป็นหวั หนา้ ของนกั ศึกษา จึงสามารถเขียนความสมั พนั ธ์ระหว่างนกั ศกึ ษากบั นกั ศกึ ษาไดโ้ ดยใชเ้ อนทิต้ีเดียว คือ เอนทิต้ี Student
รูปที่ 4.13 ความสมั พนั ธข์ื องเอนทิต้ีแบบ Recursive ความสมั พนั ธข์ องเอนทิต้ี สามารถระบุได3้ แบบดงั น้ี5.1 ความสัมพนั ธ์ของเอนทิตแี้ บบหนงึ่ ต่อหนง่ึ (One to One) ความสมั พนั ธข์ องเอนทิต้ี แบบหน่ึงต่อหน่ึง คือความสมั พนั ธท์ ่ีขอ้ มลู ของเอนทิต้ีหน่ึงจะมคี วามสมั พนั ธ์กบั ขอ้ มลู ในเอนทิต้ีหน่ึงเพียง ขอ้ มลู เดียว ซ่ึงใชต้ วั เลข กากบั ท่เสน้ เพ่อื นระบุความสมั พนั ธ์ ดงั ตวั อยา่ งรูปท่ี4.14 เป็นความสมั พนั ธข์ องเอนทิต้ี Student และ เอนทิต้ี Major ซ่ึงกาหนดใหแ้ ต่ละสาขาวิชามหี วั หนา้หอ้ งไดเ้ พยี งหอ้ งเดียวเท่าน้นั รูปที่4.14 ความสมั พนั ธข์ องขอ้ มลู แบบ1:15.2ความสัมพนั ธ์ของเอนทติ แี้ บบหนึ่งต่อกลุ่ม(One to Many) ความสมั พนั ธข์ องเอนทิต้ีแบบหน่ึงต่อกล่มุ คือ ความสมั พนั ธท์ ่ีขอ้ มลู ของเอนทิต้ีทางดา้ นหน่ึงจะมีความสมั พนั ธก์ บั ขอ้ มลู ในเอนทิต้ีอน่ื ไดเ้ พียงขอ้ มลู เดียว แต่เอนทิต้ีที่อยทู่ างดา้ นกลุม่ สามารถมความสมั พนั ธ์ของขอ้ มลู กบั เอนทิต้ีที่อยทู่ างดา้ นหน่ึงไดห้ ลายขอ้ มลู ดงั ตวั อยา่ งรูปที่4.15 เป็นความสมั พนั ธข์ องเอนทิต้ีStudent และเอนทิต้ี Major ซ่ึงกาหนดใหน้ กั ศกึ ษาแต่ละคนจะตอ้ งสงั กดั อยใู่ นสาขาวชิ าใดสาขาวิชาหน่ึงเท่าน้นั แต่ในสาขาวชิ าสามารถ มีนกั ศึกษาสงั กดั ยใู่ นสาขาน้นั ไดม้ ากกว่าหน่ึงคน
รูปที่ 4.15 ความสมั พนั ธข์ องขอ้ มลู แบบ 1:M5.3 ความสัมพนั ธ์ของเอนทิตแี้ บบกล่มุ ต่อกล่มุ (Many to Maty) ความสมั พนั ธข์ องเอนทิต้ีแบบกล่มุ ต่อกลุ่ม คือ ความสมั พนั ธท์ ี่ขอ้ มลู ของเอนทิต้ีทางดา้ นหน่ึงจะมีความสมั พนั ธก์ บั ขอ้ มลู ในเอนทิต้ีอ่นื หลายขอ้ มลู ดงั ตวั อยา่ งรูปท่ี4.16 เป็นความสมั พนั ธข์ องเอนทิต้ Studentและ เอนทิต้ี Course ซ่ึงนกั ศึกษาแต่ละคน สามารถลงทะเบียนเรียนไดห้ ลายวชิ าและแต่ละวิชาสามารถมนี กั ศกึ ษาลง ทะเบียเรียนไดห้ ลาายคน รูปท่ี4.16 ความสมั พนั ธข์ องขอ้ มลู แบบM:M 6 Participation ของเอนทติ ููี ้ Participation คือ ความเกี่ยวขอ้ งกนั ระหวา่ งเอนทิต้ีกบั ความสมั พนั ธ์ ว่ามลี กั ษณะความเกี่ยวขอ้ งกนัอยา่ งไร ซ่ึงมีอยดู่ ว้ ยกนั 2 ลกั ษณะ คือ 1.Total Participation คือ ทุกขอ้ มลู ภายในเอนทิต้ี จะตอ้ งมีความสมั พนั ธก์ บั ขอ้ มลู ในอีกเอนทิต้ีหน่ึงตวั อยา่ งแสดงดงั รูปท่ี4.17 แสดงความสมั พนั ธข์ องนกั ศึกษากบั ชมรมซ่ึงกาหนดวา่ ทกุ ชมรม จะตอ้ งมีนกั ศกึ ษาสงั กดั ชมรมน้นั ไมม่ ีไมไ่ ด้ ใชส้ ญั ลกั ษณ์คือใชเ้ ส้นแสดงความสมั พนั ธ์ 2เสน้ ค่กู นั 2.Partial Participation คือขอ้ มลู ภายในเอนทิต้ี อาจจะมคี วามสมั พนั ธก์ บั ขอ้ มลู ในอกี เอนทิต้ีหน่ึงหรือไม่มกี ็ได้ ซ่ึงเขียนแทนโดยใชเ้ สน้ แสดงความสมั พนั ธเ์ พยี งเสน้ เดียว
รูปท่ี4.17 ควาูู มสมั พนั ธแ์ บบ Total และ Partial Participationสรุปข้นั ตอนการออกแบบฐานขอ้ มลู ดว้ ย E-R Diagram ไดด้ งั น้ี 1.กาหนดเอนทิต้ีท่ีตอ้ งการจดั เก็บขอ้ มลู หรือเอนทิต้ีท่ีควรจะมีในฐานขอ้ มลู 2.กาหนดพรอพเพอต้ีที่จาเป็นต่อการใชง้ านของเอนทิต้แี ต่ละตวั ซ่ึงแต่ละเอนทิต้ีสามารถมีพรอะเพอต้ีได้อยา่ งมากมาย แต่ใหเ้ รากาหนดเฉพาะพรอเพอต้ีท่ีจาเป็นต่อการใชง้ านหรือท่ีตอ้ งการจะเกบ็ ขอ้ มลู เช่น พรอพเพอต้ี Stident ก็ไม่จาเป็นตอ้ งเกบ็ ขอ้ มลู ส่วนสูงน้าหนกั ความดนั โลหิต ฯลฯ แต่ถา้ เป็นงานเกี่ยวกบั สุขภาพ กจ็ าเป็นตอ้ งจดั เกบ็ ขอ้ มลู เหล่าน้ี 3.เลอื กพรอพเพอต้ีที่จะทาหนา้ ที่เป็นคีย์ โดยเลอื กพรอพเพอต้ี ท่ีสามารถแยกความแตกต่างของแต่ละทูเพิลได้ โดยค่าที่ทาหนา้ ที่เป็นคียน้ี จะไมส่ ามารถมขี อ้ มลู ซ้า กนั ไดใ้ ูู้้นบางเอนทิต้ีอาจไม่จาเป็นตอ้ งกาหนดคียก์ ็ไดอ้ ข้ึนอยกู่ บั ความตอ้ งการในการใชง้ าน แต่โดยส่วนใหญ่แลว้ มกั จะตอ้ งมคี ่าคียเ์ สมอ 4.กาหนดความสมั พนั ธข์ องแต่ละเอนทิต้ี วา่ เอนทิต้ีใดมคี วามสมั พนั ธก์ บั เอนทิต้ีใดและจะตอ้ งมีความสมั พนั ธแ์ บบใด เช่น หากเป็นเอนทิต้ี Studentกบั Major โดยมคี วามสมั พนั ธค์ ือนกั เรียนอยใู่ นสาขาวิชาใด สาขาวิชาหน่ึงเท่าน้นั ส่วนแต่ละสาขาวชิ าสามารถมนี กั ศกึ ษาเรียนในสาขาน้นั ไดห้ ลายคน 5.กาหนด Participation ของเอนทิต้ี เช่นเอนทิต้ี Student จาเป็นจะตอ้ งมีความสมั พนั ธก์ บั เอนทิต้ี Majorเน่ืองจาก นกั ศกึ ษาจาเป็นตอ้ งมสี าขาวชิ าท่ีสงั กดั ไม่มีไมไ่ ด้ ดงั น้นั ตอ้ งกาหนดParticipation เป็นแบบ Totalซ้่ึงเมื่อนาไปสร้างเป็นฐานขอ้ มลู ขอ้ กาหนดเหล่าน้ีกจ็ ะตอ้ งถกู นาไปกาหนดเป็นกฏเกณฑใ์ นการสร้างฐานขอ้ มลู เพื่อใหข้ อ้ มลู มคี วามถกู ตอ้ ง ตรงตามความตอ้ งการ 6.นาเอนทิต้ี และความสมั พนั ธข์ องแต่บะเอนทิต้ี มาเขียนรวมกนั เป็น E-R Diagram ของฐานขอ้ มลู และทาการตรวจสอบขอ้ มลู ท้งั หมดอกี คร้ังวา่ ถกู ตอ้ งและครบตรงตามความตอ้ งการหรือไม่ ดงั ตวั อยา่ งรูปที่ 4.18 เป็น E-R Diagram ของการเกบ็ ขอ้ มลู รายวิชาขอ้ มลู อารจาร์ผสู้ อนขอ้ มลู แผนกวิชาต่างๆ และขอ้ มลู คณะวิชาต่างๆ
รูปที่4.18 ตวั อยา่ งของ E-R Diagram 7.การเปลยี่ นแปลง E-R diagram เป็ นตารางข้อมลู วิธีการเปลีย่ นจาก E-R Diagram เป็นตารางในการเก็บขอ้ มลู สามารถสรุปข้นั ตอนและตวั อยา่ งไดด้ งั น้ี 1.Stong Entity สามารถเปลย่ี นเป็นตารางไดเ้ ลย โดยมจี านวนแอนทิบิวต(์ คอลมั น์)ของตาราง ตามจานวนพรอพเพอต้ีของเอนทิต้ี ถา้ พรอพเพอต้ีเป็นแบบ Simple Property และไดค้ ียข์ องพรอพเพอต้ี ทาหนา้ ที่เป็นไพรมารี่คยี ข์ องตาราง ตาราง Student
SID Sname GPA รูปท่ี4.19 การเปลยี่ นแปลงจาก Strong Entity เป็นตารางเกบ็ ขอ้ มลู จากรูปท่ี4.19 จะเห็นว่าชื่อของพรอพเพอต้ จะนามาต้งั เป็นช่ือแอทริบิวตข์ องตารางไดเ้ ลยและช่ือของ เอนทิต้ ีจะนามากาหนดเป็ นช่ือของตาราง 2.กรณถี ้าพรอพเพอตเี้ ป็ นแบบ Composite Prpperty ใหแ้ ยกพรอพเพอต้ียอ่ ยที่รวมกนั เป็นCompositePrppertyออกเป็ นแต่บะแอทริ บิวต์ของตารางไดเ้ ลย ดงั ตวั อยา่ งรูปท่ี 4.20 ตาราง Student SID Sname LastName GPA รูปที่ 4.20 การเปล่ียนแปลงจาก Storng Entity ท่ีมี Composite Property เป็นตารางเก็บขอ้ มลู
3.กรณถี ้าพรอพเพอตเี้ ป็ บแบบ Multivalue Prpperty ใหน้ าค่าพรอพเพอต้ีท่ีเป็น Multivalue แยกออกมาสร้างเป็นตารางใหม่ และนาค่าคียข์ องเอนทิต้ีเดิม มารวมกบั พรอพเพอต้ีที่เป็น Multivalue แลว้ กาหนดให้เป็นไพรมารี่คียข์ องตารางท่ีแยกออกมาสร้างใหม่ ดงั ตวั อยา่ งรูปท่ี4.21 ตารางStudent SID FristName LastName GPA ตารางTel SID Tel รูปท่ี4.21 การแปลงMultivalue Pro[erty เป็นตารางเก็บขอ้ มลู 4.Weak Entity มหี ลกั การเช่นเดียวกบั Stong Entity แต่ใหน้ าค่าพรอพเพอต้ี ที่ทาหนา้ ท่ีเป็นคียข์ อง Strong Entity ที่ Weak Entity น้นั มีความสมั พนั ธอ์ ยู่ มารวมกบั พรอพเพอต้ีของ weak Entity เองพร้อมท้งั กาหนดใหเ้ ป็นค่าไพรมารี่คีย์ ของตารางดว้ ย ดงั ตวั อยา่ งรูปท่ี 4.22
ตาราง TimeStamp EmpID TDate T_In T_Out รูปท่ี4.22 การแปลง Weak Entity เป็นตาราง เก็บขอ้ มลู การเปลย่ี นจากความสัมพนั ธ์เป็ นตาราง การเปลย่ี นจากความสมั พนั ธเ์ ป็นตารางมแี นวทางในการทา ดงั น้ี 1.ความสัมพนั ธ์เป็ นแบบกล่มุ ต่อกล่มุ (M:M) ใหน้ าความสมั พนั ธน์ ้นั มาสร่้งเป็นตาางใหม่ โดยนาไพรมาร่ีคียข์ องเอนทิต้ี ท่ีมีความสมั พนั ธก์ บัความสมั พนั ธน์ ้นั มากาหนดเป็นพรอพเพอต้ีของตารางใหม่ พร้อมท้งั กาหนดใหท้ าหนา้ ท่ีเป็นไพรมาร่ีคีย์หากความสมั พนั ธน์ ้นั มพี รอพเพอต้ีของความสมั พนั ธด์ ว้ ย ก็นาพรอพเพอต้ีน้นั มาเป็นแอนทริบิวตข์ องตารางใหมด่ ว้ ย ตวั อยา่ งดงั รูที่4.23
Student SID Sname Take SID CID Grade Coures CID Cname รูปท่ี4.23 การแปลงจากความสมั พนั ธ์ เป็นตารางเกบ็ ขอ้ มลู กรณีความสมั พนั ธแ์ บบกลุ่มต่อกลมุ่ การเปลี่ยนจากความสมั พนั ธเ์ ป็นตารางมแี นวทางในการทา ดงั น้ี จากรูปที่4.23 จะเห็นว่าตารางท่ีสร้างมาจากความสมั พนั ธค์ ือ ตาราง Take ซ่ึงไดจ้ ากการนาไพรมารี่ยค์ ีย์ของตาราง Student คือ SID และไพรมาร่ียค์ ีย์ของตาราง Course คือCID มารวมกนั แลว้ กาหนดใหพ้ รอพ เพอต้ีท้งั ค่รู วมกนั เป็นไพรมาร่ีคียข์ องตาราง Take และมีแอตทริบิวสข์ องความสมั พนั ธ้เ์ องคือ Grade 2.ความสัมพนั ธ์เป็ นแบบหนึ่งต่อกล่มุ (1:M) ใหน้ าค่าไพรมาร่ียค์ ียข์ องเอนทิต้ีที่มีความสมั พนั ธท์ างดา้ นหน่ึงมาเป็นแอทริบิวส์หน่ึงของเอนทิต้ี ทางดา้ นกลมุ่ โดยไม่ตอ้ งมีการสร้างตารางของความสมั พนั ธข์ ้ึน มาใหม่ตวั อยา่ งดงั รูปท่ี 4.24
Stedent SID Sname GPA MID Major MID Mname รูปที่4.24 การแปลงจากความสมั พนั ธ์ เป็นตารางเกบ็ ขอ้ มลู กรณีความสมั พนั ธแ์ บบหน่ึงต่อกลุ่ม จากรูปที่4.24 จะเห็นว่าตารางStudent จะมกี ารนาเอาแอททริบิวส์ MID ซ่ึงเป็นค่าไพรมารี่คียข์ องตารางMajor มาเป็นแอททริบิวส์หน่ึงของตาราง Student เูาพือ่ ใชส้ าหรับการเชื่อมโยงความสมั พนั ธข์ องท้งั สองตารางน้นั เอง ซ่ึงค่า MID ในตาราง Student กจ็ ะทาหนา้ ที่เป็นคียน์ อก(Foreing Key)ของตาราง 3.ความสัมพนั ธ์เป็ นแบบหน่ึงต่อหนงึ่ (1:1) ใหน้ าค่าไพรมารี่คียข์ องเอนทิต้ีที่มีความสมั พนั ธก์ นั มาเป็นแแอทริบิวส์ หน่ึงของอีกเอนทิต้ีท่ีมีความสมั พนั ธข์ ้ึนมาใหมต่ วั อยา่ งดงั รูปท่ี4.25
Student SID Sname GPA Leader_of_MID Major MID Mname หรือ Student SID Sname GPA Major MID Mname SID_Leader รูปที่4.25 การแปลงจากความสมั พนั ธ์ เป็นตารางเก็บขอ้ มลู กรณีความสมั พนั ธแ์ บบหน่ึงต่อกลมุ่ จากรูปท่ี 4.25 ในกรณีแรกเป็นการนาแอทริบิส์ MID ซ่ึงเป็นไพรมารี่คียข์ องเอนทิต้ี Major มาเป็นแอทริบิวส์หน่ึงของเอนทิต้ี Student โดยต้งั ช่ือวา่ Leader_of_MID ส่วนกรณีท่ีสองจะนาค่าSIDของเอนทิต้ี Student มาเป็นแอทริบิวส์ของเอนทิต้ี Major โดยต้งั ช่ือวา่ SID_Leaderซ่ึงในการใช้ งานจริงสามารถที่จะเลอื กแบบใดกไ็ ด้
Search
Read the Text Version
- 1 - 19
Pages: