Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore ppt เอกสารประกอบการเรียน เรื่อง แบบจำลองความสัมพันธ์ระหว่างข้อมูล

ppt เอกสารประกอบการเรียน เรื่อง แบบจำลองความสัมพันธ์ระหว่างข้อมูล

Published by ninetom0319a, 2021-06-01 04:49:27

Description: ppt เอกสารประกอบการเรียน เรื่อง แบบจำลองความสัมพันธ์ระหว่างข้อมูล

Search

Read the Text Version

แบบจำลองฐำนขอ้ มลู เชิงสมั พนั ธ์ โดย ผศ.วิลยั พร ไชยสทิ ธ์ิ สาขาวชิ าเทคโนโลยแี ละนวตั กรรมคอมพวิ เตอร์

ควำมหมำยของฐำนขอ้ มลู เชิงสมั พนั ธ์ ฐำนขอ้ มูลเชิงสมั พนั ธ์ หมายถงึ การรวบรวมขอ้ มลู ในรูปของรีเลชนั หรอื ตารางต่างๆ ซง่ึ มลี กั ษณะของตารางแบบ 2 มติ ิ ประกอบไปดว้ ยแถว หรือหรือเรียกอีกอย่างว่า ทัพเพิล ( ) และ คอลมั น์ หรอื เรยี กอกี อย่างว่า แอททริบวิ ท์ ( ) ซง่ึ รเี ลชนั ต่างๆ จะมี ความสมั พนั ธ์ ระหวา่ งกนั เชอ่ื มโยงเขา้ ไวด้ ว้ ยกนั

โครงสรำ้ งฐำนขอ้ มูลเชิงสมั พนั ธ์ รเี ลชนั (Relation) คือ การจัดเก็บข้อมลู ในรปู แบบของตาราง 2 มิติ ประกอบดว้ ย คอลมั น์ และแถว 1) คอลัมน์ แสดงถึงคุณสมบัติของรีเลชัน ซ่ึงจะหมายถึงเขตข้อมูลหรือ แอททริบิวท์ (Attribute) ของรีเลชัน เช่น รีเลชัน “นักศึกษา” ประกอบด้วยคอลัมน์ที่แสดงถึงแอททริบิวท์ต่างๆ ได้แก่ รหัส นกั ศึกษา ช่ือ-สกลุ และ สังกดั คณะ เปน็ ตน้  2) แถว จะมีความหมายเหมือนกับระเบียน ซึ่งจะเรียกได้อีกอย่างว่า ทัพเพิล (Tuple) หรือเรคอร์ด (Record) แถวจะเป็นท่ีเก็บสมาชิกของรีเลชัน ดังน้ัน แถวแต่ละแถวในรีเลชันจะต้องมีคุณสมบัติที่ เหมอื นกันหมด นน่ั คอื มขี ้อมูลตามคอลัมนท์ ี่เป็นคณุ ลกั ษณะของรีเลชัน

โครงสรำ้ งฐำนขอ้ มูลเชิงสมั พนั ธ์ (ต่อ) แสดงรูปแบบคาศพั ทพ์ น้ื ฐานของโมเดลเชงิ สัมพนั ธ์ โมเดลฐำนขอ้ มลู เชิงสมั พนั ธ์ โมเดลแบบ E-R โปรแกรมเมอร์ ผูใ้ ชง้ ำนทวั่ ไป รเี ลชนั เอนตติ ้ี แฟ้มขอ้ มลู ตาราง แอททรบิ วิ ท์ แอททรบิ วิ ท์ เขตขอ้ มลู คอลมั น์ ทพั เพลิ หรอื เรคอรด์ สมาชกิ ของเอนตติ ้ี ระเบยี น แถว

โครงสรำ้ งฐำนขอ้ มูลเชิงสมั พนั ธ์ (ตอ่ )

โครงสรำ้ งฐำนขอ้ มลู เชิงสมั พนั ธ์ (ตอ่ ) จานวนของแอททริบิวท์ในรีเลชัน เรียกว่า ดกี รี (Degree) และจานวนแถวหรือทพั เพิลในรเี ลชัน เรียกวา่ คารด์ นิ ลั ลติ ี (Cardinality) จากรีเลชนั “นักศึกษา” มกี ี่ ดีกรี (Degree) และก่ี คาร์ดินลั ลิตี (Cardinality)

โครงสรำ้ งฐำนขอ้ มูลเชิงสมั พนั ธ์ (ต่อ) สามารถเขยี นเป็นโมเดลเชงิ สมั พนั ธส์ าหรบั รเี ลชนั “นกั ศึกษา” ไดด้ งั น้ี รหสั นกั ศึกษา ช่อื – นามสกลุ ทอ่ี ยู่ เพศ เบอรโ์ ทรศพั ท์ อเี มล หรืออาจเขียนแทนดว้ ยขอ้ ความสัญลักษณส์ นั้ ๆ ท่ปี ระกอบด้วยช่อื รีเลชนั แลว้ ตามด้วยวงเลบ็ ซึง่ ภายในประกอบดว้ ยชอ่ื ของแอตทรบิ วิ ต์ตา่ ง ๆ ดงั นี้ นักศกึ ษา (รหสั นักศึกษา, ชือ่ -นามสกลุ , ท่ีอย,ู่ เพศ, เบอร์โทรศัพท์, อเี มล)

แสดงตารางสรปุ ความหมายของคาศัพทต์ า่ ง ๆ คาศัพท์ ความหมาย รเี ลชนั (Relation) ตารางข้อมูลแบบ 2 มิติ ประกอบด้วยแถวและคอลัมน์ ซึ่งแต่ละรีเล ชนั จะมีช่ือรีเลชันเพ่ือใชอ้ า้ งอิง แอททรบิ วิ ท์ (Attribute) คอลัมน์ท่ีอยู่ในรีเลชัน แต่ละแอททริบิวท์จะมีช่ือกากับแต่ละแอททริ ทพั เพลิ (Tuple) บวิ ทใ์ นแตล่ ะรีเลชนั แถวท่อี ยใู่ นรีเลชนั หรอื แตล่ ะรายการขอ้ มูลในรเี ลชนั ดีกรี (Degree) จานวนแอททริ ิบิวท์ในแต่ละรีเลชัน คารด์ ินลั ลิตี (Cardinallity) จานวนทเู พลิ หรอื จานวนแถวในแตล่ ะรีเลชนั

โครงสรำ้ งฐำนขอ้ มลู เชิงสมั พนั ธ์ (ต่อ) ประเภทของรเี ลชัน 1) รีเลชันหลัก (Base Relation) เปน็ รีเลชนั หลกั ที่ถกู กาหนดข้ึนใชเ้ กบ็ ขอ้ มูลเพือ่ นาข้อมูลไปใช้ เมื่อมกี ารสรา้ งรเี ลชนั ในภาษาสาหรับนยิ ามข้อมูล (DDL) 2) วิว (View) เปน็ รีเลชนั ทถ่ี กู สรา้ งขึน้ ตามความต้องการใช้ข้อมูลของผู้ใช้แต่ละคน เพราะผู้ใชแ้ ตล่ ะคนในฐานขอ้ มูล

โครงสรำ้ งฐำนขอ้ มลู เชิงสมั พนั ธ์ (ต่อ) โดเมน คอื กลมุ่ หรอื ขอบเขตของขอ้ มลู ทง้ั หมดทเ่ี ป็นไปไดข้ องแต่ละแอททริบวิ ทท์ ส่ี นใจ เช่น รีเลชนั นกั ศึกษา จะมแี อททริบวิ ท์ รหสั นกั ศึกษา ซง่ึ โดเมนของ รหสั นกั ศึกษา คอื กลุม่ ของรหสั นกั ศึกษาทง้ั หมด กจ็ ะมคี ่าทเ่ี ป็นไปไดค้ อื 634247001 ถงึ 634247005 หรือแอททริบวิ ทเ์ พศ ซง่ึ โดเมนของ เพศ คอื กลมุ่ ของขอ้ มลู เพศทง้ั หมด และค่าทเ่ี ป็นไปได้ ตอ้ งเป็นค่า ชาย หรอื หญงิ เท่านนั้

ตวั อย่างการกาหนดโดเมนของแอททรบิ วิ ตใ์ นรีเลชัน “นักศึกษา” ช่ือแอททรบิ วิ ท์ ช่ือโดเมน ควำมหมำย ขอ้ กำหนดโดเมน รหสั นกั ศึกษา หมายเลขสาขา ขอ้ มลู รหสั ทก่ี าหนดใหก้ บั นกั ศึกษา ตวั อกั ษร หรอื ตวั เลข ขนาด 9 ตวั อกั ษร ค่า ชอ่ื -นามสกลุ ทง้ั หมด ตงั้ แต่ 544247001-544247005 ทอ่ี ยู่ ซ่ือ - น า ม ส กุ ล ขอ้ มูลช่ือ-นามสกุลของนกั ศึกษา ตวั อกั ษร ขนาด 50 ตวั อกั ษร นกั ศึกษา แต่ละคน ทอ่ี ยู่นกั ศึกษา ขอ้ มลู ทอ่ี ยู่ของนกั ศึกษาแต่ละคน ตวั อกั ษร ขนาด 20 ตวั อกั ษร เพศ เพศ เพศของนกั ศึกษา ตวั อกั ษร ขนาด 5 ตวั อกั ษร ซ่ึงมี 2 ค่าคือ ชาย หรือ หญงิ เบอรโ์ ทรศพั ท์ เบอรโ์ ทรศพั ท์ เบอรโ์ ทรศพั ทข์ องนกั ศึกษา ตวั เลข หรอื ตวั อกั ษร ขนาด 10 ตวั อเี มล อเี มล อเี มลข์ องนกั ศึกษา ตวั อกั ษร ขนาด 20 ตวั อกั ษร

โครงสรำ้ งฐำนขอ้ มลู เชิงสมั พนั ธ์ (ต่อ) ค่าว่าง (Null Values) คือ ค่าที่ให้แก่แอททริบิวท์หน่ึงๆ ในกรณีที่ยังไม่พร้อมท่ีจะ ใสข่ อ้ มลู หรอื การไมท่ ราบคา่ ขอ้ มูลของแอททริบิวทน์ ั้น ๆ เช่น นักศึกษาบางคนในรีเลชันนักศึกษา ไม่มีข้อมูลเบอร์โทรศัพท์ ซ่ึงเป็นส่ิงท่ีเป็นไป ได้ เนอ่ื งจากนักศึกษาบางคนอาจจะยงั ไมม่ ีโทรศัพท์เปน็ ของตวั เอง

คยี ์ (Keys) คีย์ (keys) คอื แอททรบิ ิวท์ 1 แอททรบิ ิวท์ หรืออาจจะเป็นหลายๆ แอททริบิวท์มาประกอบกันก็ ได้ ซ่ึงจะต้องมีค่าที่ไม่ซ้ากันในแต่ละทัพเพิลทาให้สามารถใช้แอททริบิวท์หรือกลุ่มของแอททริบิวท์ เหล่านใ้ี นการระบุถึงทัพเพลิ แต่ละทพั เพลิ ไดฐ้ านข้อมลู ประกอบดว้ ยคียช์ นดิ ต่างๆ ดงั ต่อไปนี้ ➢ ซเู ปอรค์ ยี ์ (Super key) ➢ คียค์ แู่ ขง่ (Candidate key: CK) และ คีย์รอง (Alternate key) ➢ คยี ห์ ลัก (Primary key : PK) ➢ คยี น์ อก (Foreign key : FK) ➢ คยี ร์ ่วม (Composite key)

คีย์ (keys) (ต่อ) ซเู ปอรค์ ยี ์ (Super key) ➢ คือ แอททริบิวท์ (คอลัมน์) หรือกลุ่มของแอททริบิวท์ท่ีสามารถใช้จาแนกความ แตกต่างของแต่ละทัพเพิล (แถว) ได้ หรือระบุถงึ ความเป็นเอกลักษณ์ในแต่ละทัพเพิล ของรีเลชันน้ันได้ ซ่ึงหากมีแอททริบิวท์ หรือกลุ่มของแอททริบิวท์ใดที่ไม่มีโอกาสมีค่า ซ้ากนั เลยในแตล่ ะทัพเพิล ก็จัดได้ว่าแอททริบวิ ท์น้ัน หรือกลุ่มของแอททริบวิ ท์น้ันเปน็ “ซูเปอรค์ ยี ์ (SuperKey)” นัน้ เอง

คีย์ (keys) (ต่อ) ยกตัวอยา่ งเชน่ รีเลชนั “พนกั งาน” ประกอบดว้ ยแอททริบวิ ต์ตา่ ง ๆ ดังน้ี

คีย์ (keys) (ต่อ) คียค์ ูแ่ ขง่ (Candidate key) ➢ คอื แอททริบิวท์ทมี่ ีคณุ สมบัติที่สามารถเลอื กขึน้ มาเป็นคีย์หลักได้ จากตัวอย่างในตัวอยา่ งรีเลชันพนักงาน ซ่ึง จะมีคยี ์คู่แข่ง 3 แอททริบวิ ท์ ไดแ้ ก่ รหัสพนักงาน เลขบัตรประชาชน และเบอร์โทร ซ่ึงท้ัง 3 แอททริบิวท์จะไม่ มขี อ้ มลู ท่ซี า้ กันเลย

คยี ์ (keys) (ต่อ) คีย์คู่แขง่ (Candidate key) ➢ดังนั้นเราสามารถเลือกเป็นคีย์หลักได้ ถ้าเลือกแอททริบิวท์รหัสพนักงาน มาเป็น คีย์ หลัก คีย์คู่แข่งที่เหลืออย่างเช่น แอททริบิวท์เลขบัตรประชาชน และเบอร์โทร ก็จะ กลายเปน็ คยี ์สารอง (Alternate key) ไป

คีย์ (keys) (ต่อ) คยี ์หลัก (Primary key : PK) ➢ คอื คยี ์คู่แขง่ ท่ีถกู คดั เลือกให้เปน็ คียห์ ลกั ที่สามารถนาไปใช้เพื่อการอ้างอิงความเปน็ เอกลักษณข์ องแตล่ ะทพั เพิลในรีเลชันนัน้ ๆ ได้ ซงึ่ มหี ลักเกณฑ์ดงั น้ี 1) ต้องมคี ่าไม่ซ้ากนั ในแตล่ ะทัพเพลิ (แถว) (Unigue) 2) ต้องมคี า่ เสมอ จะมีค่าเป็น NULL ไมไ่ ด้ 3) Primary Key จะถกู เปลยี่ นแปลงคา่ ไมไ่ ด้ 4) ต้องมีคา่ ทนี่ ้อยที่สดุ แต่สามารถอ้างอิงถงึ ทพั เพลิ ใดทัพเพลิ หนงึ่ ในรีเลชนั ได้

คีย์ (keys) (ต่อ) คยี น์ อก (Foreign Key : FK) ➢ คือ แอททริบิวท์ หรือกลุ่มของแอททริบิวท์ในรีเลชันหนึ่ง ท่ีมีคุณสมบัติเป็นคีย์หลัก หรือสามารถอ้างอิงกับคีย์หลักของอีกเลชันหนึ่งได้ โดยมีเป้าหมายเพ่ือสร้าง ความสัมพันธ์ระหว่างรีเลชันต่างๆ ในฐานข้อมูล ให้สามารถอ้างอิงถึงค่าใน แอททริบิวทอ์ ่นื ๆของอีกรีเลชนั ได้ ➢ดังนัน้ คยี ์นอก จึงจัดเปน็ คียท์ ่มี คี วามสาคญั มากทีเดียวในฐานข้อมูลเชงิ สัมพนั ธ์

ยกตวั อย่างเช่น ➢ รีเลชัน “นักศึกษา” มีแอตทริบิวต์ รหัสนักศึกษา, ช่ือ-นามสกุล, ที่อยู่, เพศ, เบอร์โทรศัพท์ และรหัสสาขาวิชา ซ่ึงเป็นคีย์นอกเพื่อเชื่อมโยงกับแอตทริ บิวต์ รหัสสาขาวิชา ที่เป็นคีย์หลักของ รีเลชันสาขาวิชา

คยี ์ (keys) (ต่อ) สรปุ คุณสมบัตขิ องคยี ์นอก มีดงั ตอ่ ไปน้ี 1) คยี น์ อกจะเป็นแอททริบวิ ทห์ รือกลุ่มของแอททรบิ ิวทท์ ่อี ย่ใู นรเี ลชนั หน่งึ ๆ ท่ีค่าของแอททริบวิ ทน์ น้ั ไป ปรากฏเป็นคยี ์หลกั ในอกี รีเลชัน (หรอื อาจเป็นรีเลชนั เดิมกไ็ ด้) 2) คียน์ อกเปรยี บเสมือนกาวเช่ือมขอ้ มูลในรีเลชันหนึง่ กบั อีกรีเลชันหนงึ่ ซึ่งเปน็ การสรา้ งความสมั พนั ธ์ ระหวา่ งรเี ลชนั 3) คยี น์ อกและคยี ์หลกั ของอีกรเี ลชันที่มีความสมั พนั ธก์ นั จะตอ้ งอยูภ่ ายใตโ้ ดเมนเดยี วกนั และคียน์ อกไม่ จาเปน็ ตอ้ งมชี อ่ื เหมอื นกบั คียห์ ลกั ของอีกรเี ลชันทม่ี ีความสมั พนั ธ์กัน 4) รเี ลชันหนึง่ ๆ อาจจะมคี ยี น์ อกอย่หู รือจะไม่มกี ไ็ ด้ แตท่ ุกรเี ลชนั จะต้องมีคีย์หลกั เสมอ

คยี ์ (keys) (ต่อ) คีย์ร่วม (Composite key) ➢ คือ แอททริบิวท์ท่ีมีคุณสมบัติเป็นคีย์หลัก คือไม่มีข้อมูลซา้ และไม่มีค่าว่าง (Null) ท่ีประกอบด้วยหลายแอททริ บิวท์มารวมกัน เพ่ือจะให้ค่าที่เป็นเอกลักษณ์ได้ เน่ืองจากในบางครั้งการสร้างคีย์หลักจากคอลัมน์เดียวอาจมี โอกาสท่จี ะเกิดขอ้ มลู ซา้ กนั ได้

คีย์ (keys) (ต่อ) สรปุ ความหมายและประเภทของคยี ์ตา่ ง ๆ ประเภทคยี ์ ความหมาย ซปู เปอร์คีย์ (Super key) แอททริบิวท์หรือกลุ่มของแอททริบิวท์ที่บ่งบอกถึงความเป็นเอกลักษณ์ของแต่ละ ทพั เพลิ ในรเี ลชนั ได้ คีย์คู่แข่ง(Candidate Key)/คีย์รอง (Alternate กลมุ่ ของแอททรบิ วิ ทท์ ่ีมีสิทธิ์ถูกเลือกให้เป็นคีย์หลกั ของ รีเลชนั key) คีย์หลกั (Primary Key) คีย์คแู่ ข่งทีถ่ กู เลือกข้ึนมาเปน็ คยี ์หลกั ของรีเลชนั หรือคยี ์ทใ่ี ชเ้ ปน็ ตัวแทนของเรคอรด์ ในฐานข้อมูล คยี น์ อก (Foreign Key) กลมุ่ ของแอททริบิวท์ในรีเลชันหนึ่งๆ ทีม่ คี ่าขอ้ มลู ไปปรากฏเปน็ คยี ห์ ลักของอีกรีเลชัน (หรืออาจเป็นรเี ลช่ันเดียวกนั ) คียร์ ่วม (Composite Key) คียห์ ลักทปี่ ระกอบด้วยแอททรบิ ิวท์มากกวา่ หนง่ึ แอททรบิ ิวท์

ควำมสมั พนั ธข์ องขอ้ มูลเชิงสมั พนั ธ์ ➢ ความสัมพันธ์ระหว่างขอ้ มูล จัดเป็นสว่ นสาคัญทม่ี ผี ลตอ่ โครงสร้างของฐานข้อมลู และเป็นส่วนท่ี ใช้แบง่ ฐานข้อมูลประเภทต่างๆ ออกจากกัน เพ่ือประโยชนใ์ นการกาหนดโครงสร้างการเช่ือมโยง ขอ้ มูล และลดความซา้ ซ้อนของขอ้ มลู ซ่งึ สามารถแบง่ ออกเปน็ 3 ลกั ษณะ ดังน้ี 1) ความสัมพันธแ์ บบหน่ึงตอ่ หน่ึง (one to one) 2) ความสัมพันธ์แบบหนึ่งต่อกล่มุ (one to many) 3) ความสมั พนั ธแ์ บบกล่มุ ต่อกลมุ่ (many to many)

ควำมสมั พนั ธข์ องขอ้ มลู เชิงสมั พนั ธ์ (ต่อ) 1. ความสมั พันธ์แบบหนง่ึ ต่อหน่งึ (One to one Relationship) ความสัมพันธ์แบบนี้จะสามารถเขียนย่อได้ว่าเป็นความสัมพันธ์แบบ 1:1 เป็นความสัมพันธ์ที่สมาชิกหนึ่งรายการของ เอนติต้ีหนึ่ง มีความสัมพันธ์กับสมาชิกเพียงหนึ่งรายการของอีก เอนติตี้หน่ึง ตัวอย่างเช่น อาจารย์หนึ่งคน จะสามารถ เป็นคณบดีได้เพียงหนึ่งคณะเท่าน้ัน ในทางกลับกัน คณะแต่ละคณะจะสามารถมีคณบดีได้เพียงหน่ึงคนเท่าน้ัน ดังนั้น เอนตติ ้อี าจารย์ จะมีความสมั พันธ์กับเอนตติ ้ีคณะ แบบ 1:1

ควำมสมั พนั ธข์ องขอ้ มลู เชิงสมั พนั ธ์ (ต่อ) 2. ความสัมพนั ธแ์ บบหนง่ึ ต่อกลมุ่ (One to many relationship) ความสัมพันธ์แบบน้ีจะสามารถเขียนยอ่ ได้ว่าเป็นความสัมพันธ์แบบ 1:M เป็นความสัมพันธ์ที่สมาชิกหน่ึงรายการของ เอนติตี้หน่ึงมีความสัมพันธ์กับ สมาชิกหลายรายการในอีก เอนติต้ีหน่ึง ตัวอยา่ งเช่น คณะสามารถมีนักศึกษาท่ีสังกัดได้หลายคน แต่นักศึกษา แต่ละคนสามารถสังกัดได้เพียงคณะเดียวเท่าน้ัน ดังนั้น เอนติต้ีคณะ จะมีความสัมพันธ์กับ เอนติต้ีนักศึกษา แบบ 1:M แสดงดงั ภาพ

ควำมสมั พนั ธข์ องขอ้ มลู เชิงสมั พนั ธ์ (ตอ่ ) ➢3. ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many to many Relationship) ความสัมพันธ์แบบน้ีจะ สามารถเขียนย่อได้ว่าเป็นความสัมพันธ์แบบ M:N เป็นความสัมพนั ธ์ท่ีสมาชิกหลายรายการใน เอนติต้ีหน่ึงมีความสัมพันธ์กับสมาชิกหลายรายการในอีกเอนติต้ีหน่ึง ตัวอย่างเช่น นักศึกษาแต่ ละคนจะสามารถลงทะเบียนเรียนได้หลายวิชา และวิชาแต่ละวิชาก็จะสามารถมีนักศึกษา ลงทะเบียนเรียนได้มากกว่าหนึ่งคนข้ึนไป ดังนั้น เอนติตี้นักศึกษาจะมีความสัมพันธ์กับ เอนติตี้ วชิ าแบบ M:N แสดงดังภาพ

Q&A