Page 1

เอกสารประกอบการเรี ยนรายวิชา ง30206

ใบความรู้ที่ 2.2 เรื่อง การออกแบบฐานข้อมูล การออกแบบฐานข้อมูลเป็นขั้นตอนที่มีความสําคัญที่สุดในการพัฒนาระบบฐานข้อมูล ปัจจุบัน นิยมใช้แบบจําลองความสัมพันธ์ระหว่างข้อมูล E-R (Entity Relationship Model) ซึ่งเป็นเครื่องมือใน การออกแบบฐานข้อมูล นําเสนอโดย Peter Chen ในปี ค.ศ.1976 โดยมีวัตถุประสงค์เพื่อนําเสนอ โครงสร้างของฐานข้อมูลในระดับแนวความคิดในลักษณะของแผนภาพ (Diagram) ที่มีโครงสร้างที่ง่ายต่อ การทําความเข้าใจ ทําให้สามารถมองเห็นภาพรวมของเอนทิตี้ทั้งหมดในระบบ รวมถึงความสัมพันธ์ ระหว่างเอนทิตี้ด้วย เพื่อนําเสนอต่อผู้ใช้งาน และเพื่อให้มั่นใจว่าข้อมูลในระบบงานใหม่มีความถูกต้อง และครบถ้วน ตรงตามความต้องการของผู้ใช้ระบบอย่างแท้จริง การออกแบบเป็นผังมโนภาพ (Conceptual Design) เป็นวิธีออกแบบฐานข้อมูลและ ความสัมพันธ์ต่างๆ ในระดับความคิดโดยใช้แผนภาพแสดงความสัมพันธ์ของ Entity และ Relation เรียกว่าแผนภาพ E-R สัญลักษณ์ที่ใช้ในแผนภาพ ได้แก่ รูปวงรี แทน แอททริบิว หรือเขตข้อมูลสัญลักษณ์ละหนึ่งเขตข้อมูล รูปสี่เหลี่ยมผืนผ้า แทน เอนทิตี้ หรือตารางข้อมูลหนึ่งตาราง รูปสี่เหลี่ยมข้าวหลามตัด แทน รีเลชันชิพ หรือความสัมพันธ์ระหว่าง เอนทิตี้แต่ละเอนทิตี้ ER-DIAGRAM ประกอบด้วยองค์ประกอบพื้นฐานดังนี้   

เอนทิตี้ (Entity) เป็นวัตถุ หรือสิ่งของที่เราสนใจในระบบงานนั้น ๆ แอททริบิว (Attribute) เป็นคุณสมบัติของวัตถุที่เราสนใจ ความสัมพันธ์ (Relationship) คือ ความสัมพันธ์ระหว่างเอนทิตี้

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

ชื่อ

เลขที่

นามสกุล

นักเรี ยน พ.ป. ความสัมพันธ์ของเอนทิตี้อาจจําแนกได้เป็น 3 แบบ คือ

การวิเคราะห์ และออกแบบฐานข้อมูล -1-


เอกสารประกอบการเรี ยนรายวิชา ง30206

1. ความสัมพันธ์แบบหนึ่งต่อหนึ่ง ตัวอย่าง ครูประจําชั้นกับชั้นเรียน ซึ่งสามารถแสดงเป็นผัง แสดงความสัมพันธ์ของเอนทิตี้ได้ดังต่อไปนี้ ครูประจําชั้น

1

ประจํา

1

ชั้นเรียน

จากผังสัญลักษณ์สี่เหลี่ยมผืนผ้าหมายถึงเอนทิตี้ สัญลักษณ์รูปข้าวหลามตัดหมายถึง ความสัมพันธ์ระหว่างเอนทิตี้ และค่าที่อยู่บนเส้นที่ลากเชื่อมสัญลักษณ์แสดงว่ามีความสัมพันธ์เป็นแบบใด ซึ่งในผังแสดงว่า ครูประจําชั้นมีความสัมพันธ์กับชั้นเรียนโดยการประจําชั้นเรียน และเป็นความสัมพันธ์ แบบหนึ่งต่อหนึ่งหมายความว่า ครูประจําชั้นท่านใดท่านหนึ่งจะประจําชั้นห้องเรียนใดห้องเรียนหนึ่ง เท่านั้น 2. ความสัมพันธ์แบบหนึ่งต่อหลายหรือหลายต่อหนึ่ง ตัวอย่าง เช่น ครูประจําชั้นสอนนักเรียน ซึ่งสามารถแสดงเป็นผังได้ดังต่อไปนี้ ครูประจําชั้น

1

สอน

M

นักเรียน

จากผังแสดงว่าครูมีความสัมพันธ์กับนักเรียนโดยครูทําการสอนนักเรียน และเป็นความสัมพันธ์ แบบหนึ่งต่อหลายหมายถึงครู 1 คนสอนนักเรียนหลายคนในชั้นเรียน 3. ความสัมพันธ์แบบหลายต่อหลาย ตัวอย่าง เช่น สมาชิกห้องสมุดยืมหนังสือซึ่งสามารถแสดง เป็นผังได้ดังต่อไปนี้ สมาชิก

M

ยืม

N

หนังสือ

จากผั ง แสดงว่ า สมาชิ ก มี ค วามสั ม พั น ธ์ กั บ หนั ง สื อ โดยสมาชิ ก ทํ า การยื ม หนั ง สื อ และเป็ น ความสัมพันธ์แบบหลายต่อหลาย หมายถึงนักเรียนต่างยืมหนังสือได้หลายเล่ม และในขณะเดียวกันหนังสือ เรื่องเดียวกันอาจถูกยืมโดยสมาชิกหลายคน แต่ละเอนทิตี้ที่สัมพันธ์กันนี้จะประกอบด้วย ข้อมูลต่างๆ เป็นแฟ้มข้อมูลหนึ่งแฟ้มสามารถแสดง ในรูปของตารางความสัมพันธ์ เช่น สมาชิกห้องสมุดจะประกอบด้วยข้อมูล ที่เกี่ยวข้องกับห้องสมุดได้แก่ รหัสสมาชิก ชื่อ-นามสกุล ชั้นเรียน และจํานวนหนังสือที่มีสิทธิ์ยืม สามารถแสดงดังตารางที่ 2-1 แสดง ความสัมพันธ์ของข้อมูลสมาชิกดังนี้ รหัสสมาชิก ชื่อ-นามสกุลสมาชิก ชั้นเรียน จํานวนหนังสือที่ยืมได้ S000001 ณัฐพล โพธิ์สุวรรณ ม.1/12 5 S000002 สุเมธ พุ่มเจริญ ม.2/8 5 T000001 สุภาภรณ์ อร่ามศรี ม.4/6 5 จากตารางความสัมพันธ์สมาชิกห้องสมุด แฟ้มข้อมูลก็คือตาราง เนื่องจากในระบบงานใดๆจะ ประกอบด้วยแฟ้มข้อมูลหลายแฟ้ม หรือตารางแสดงความสัมพันธ์หลายตาราง แฟ้มข้อมูลเหล่านี้จะมี ความสัมพันธ์ที่ต้องมีการอ้างอิงถึง ดังนั้นในสดมภ์แต่ละสดมภ์คือเขตข้อมูลและแถวแต่ละแถวคือระเบียน การวิเคราะห์ และออกแบบฐานข้อมูล -2-


เอกสารประกอบการเรี ยนรายวิชา ง30206

ของข้อมูล ในเขตข้อมูลนี้จะต้องมีค่า แต่ละระเบียนจะมีเขตข้อมูลที่ถูกกําหนดเป็นเขตกุญแจ (key filed) ซึ่งค่าของข้อมูลในเขตข้อมูลนี้จะต้องมีค่าไม่ซ้ํากัน ตามตัวอย่าง จะกําหนดให้รหัสสมาชิกเป็นเขตกุญแจ ของตารางความสัมพันธ์สมาชิกห้องสมุดไว้สําหรับอ้างอิง ในระบบการยืมหนังสืออาจกําหนดความสัมพันธ์ ของเอนทิตี้ในส่วนการยืมหนังสือ ได้ดังรูป M

สมาชิก

N

ยืม

หนังสื อ

เมื่อได้ความสัมพันธ์ของเอนทิตี้ต่างๆ ก็จะทําการวิเคราะห์ถึงข้อมูลที่เกี่ยวข้อง ซึ่งจะประกอบขึ้น เป็นตารางความสัมพันธ์ในแต่ละเอนทิตี้ การวิเคราะห์ข้อมูลดังกล่าวอาจนําไปสู่การจัดเอนทิตี้ต่าง ๆ และ ความสัมพันธ์ใหม่ ด้วยจุดประสงค์เพื่อง่ายต่อการจัดสร้างและดูแลฐานข้อมูล รูปด้านล่างแสดงตัวอย่าง ความสัมพันธ์ใหม่ของงานยืมหนังสือหลังการวิเคราะห์ข้อมูลแล้ว สมาชิก

1

มี

M การยืม

M

ได้รับ

1

หนังสื อ

จากความสัมพันธ์ข้างต้น ตารางความสัมพันธ์หรือแฟ้มข้อมูลของระบบยืมหนังสือจะมี 3 ตาราง ดังต่อไปนี้ ตารางสมาชิก ประกอบด้วยข้อมูล รหัสสมาชิก ชื่อสมาชิก ชั้นเรียนและจํานวน หนังสือที่มีสิทธิ์ ยืม ฯลฯ โดยมีรหัสสมาชิกเป็นเขตกุญแจ ตารางการยืม ประกอบด้วย รหัสสมาชิก รหัสหนังสือ วันที่ยืมและวันกําหนดส่งคืนฯลฯ โดยมี รหัสสมาชิกและรหัสหนังสือเป็นเขตกุญแจคู่กัน ตารางหนังสือ ประกอบด้วยข้อมูลเกี่ยวกับรหัสหนังสือ ชื่อหนังสือ ชื่อผู้แต่ง และจํานวนเล่มที่มี ให้บริการฯลฯ โดยมีรหัสหนังสือเป็นเขตกุญแจ

การวิเคราะห์ และออกแบบฐานข้อมูล -3-

Dbchapter2 2  

การออกแบบฐานข้อมูล