หน่วยที่ 2 การวิเคราะห์และออกแบบฐานข้อมูล
การออกแบบ ER Diagram
หน่วยที่ 2 การวิเคราะห์และออกแบบฐานข้อมูล
การออกแบบ ER Diagram
ER Diagram
ER Diagram เป็นไดอะแกรมที่ใช้แสดง Entity Relationship Model หรือ ER Model โดยเราจะใช้ ER Model ในการเปลี่ยนข้อมูลและความสัมพันธ์ต่างๆ ที่เกิดขึ้นจริงให้เป็น Conceptual schema ซึ่งในที่นี้ก็
คือ ตางรางนั่นเอง
1. ส่วนประกอบของ ER Diagram
ส่วนประกอบที่ 1 : Entity
Entity ก็คือตัวข้อมูลที่เราสนใจจะเก็บลงฐานข้อมูล เป็นข้อมูลที่มีส่วนสำคัญให้ระบบงานดำเนินต่อไปได้ ในระบบงานหนึ่งๆ จะมี Entity อยู่หลายชนิดโดยแต่ละชนิดก็จะมี Entity ที่แตกต่างกันในรายละเอียดอยู่
ส่วนประกอบที่ 2 : Attribute
Attribute เป็นคุณสมบัติเฉพาะของ Entity แต่ละตัว โดยถึงแม้จะเป็น Entity ชนิดเดียวกันก็อาจจะมีค่าของ Attribute เหมือนหรือต่างกันก็ได้ และ Entity สามารถมี Attribute ได้มากมายหลายตัวขึ้นอยู่กับความจำเป็นที่เราต้องจัดเก็บลงฐานข้อมูลเพื่อนำมาใช้ในระบบงาน
สัญลักษณ์ที่ใช้แทน Attribute ใน ER Diagram คือ รูปวงรี โดยถ้าชื่อ Attribute ใดถูกขีดเส้นใต้หมายถึง เป็น Attribute ที่ไม่มีค่าซ้ำหรือเป็น Primary Key นั่นเอง
ส่วนประกอบที่ 3 : Relationship
Relationship ในระบบงานจะมีอะไรบ้างนั้นขึ้นอยู่กับความเกี่ยวข้องหรือความสัมพันธ์ระหว่าง Entityซึ่ง Entity แต่ละคู่ก็อาจมีความสัมพันธ์กันมากกว่า 1 ก็ได้ และถึงแม้ว่าจะเป็นระบบงานเดียวกันแต่ถ้าอู่คนละที่ก็อาจจะมี Relationship ไม่เหมือนกันขึ้นอยู่กับลักษณะงานและความเป็นจริงที่เกิดขึ้นในการทำงานนั้นๆ ที่อาจมีข้อจำกัดหรือความต้องการไม่เหมือนกันนั่นเอง
สัญลักษณ์ที่ใช้แทน Relationship ใน ER Diagram คือ รูปสี่เหลี่ยมขนมเปียกปูน
2. จำนวน Entity ต่อ Entity ในความสัมพันธ์หนึ่งๆ (Cardinality or Relationship)
1. One-to-One (1 : 1) เป็นความสัมพันธ์ของสมาชิกใน Entity หนึ่งไปสัมพันธ์กับสมาชิกใน Entity อีกอันหนึ่ง เพียงหนึ่งเดียวเท่านั้น
2. One-to-Many (1 : M) เป็นความสัมพันธ์ของสมาชิกใน Entity หนึ่งไปสัมพันธ์กับสมาชิกใน Entity อีกอันหนึ่ง มากกว่า 1 สมาชิก
3. Many-to-Many (M : M) เป็นความสัมพันธ์ของสมาชิกมากกว่า 1 สมาชิก ของใน Entity หนึ่งไปสัมพันธ์กับสมาชิกของใน Entity อีกอันหนึ่ง มากกว่า 1 สมาชิก
3. การแทนความสัมพันธ์ของข้อมูลด้วย ER Diagram
ขั้นที่1 : กำหนดว่า Entity มีอะไรบ้าง
โดยหลักในการพิจารณาว่าอะไรเป็น Entity บ้างมีดังนี้
Entity มักจะเป็นการคำนวณที่ปรากฏในแบบสำรวจความต้องการของผู้ใช้
เป็นสิ่งที่มีเป็นจำนวนมากในระบบฐานข้อมูล โดยมีชนิดเดียวกันแต่จะแตกต่างกันในรายละเอียด เช่น Entity นักศึกษาแต่ละตัวก็จะต่างกันตามข้อมูลส่วนตัวของนักศึกษาแต่ละคน
Entity จะประกอบด้วย Attribute จำนวนหนึ่ง
มีความสัมพันธ์กับ Entity ตัวอื่นๆ ซึ่งความสัมพันธ์นั้นเป็นสิ่งที่ต้องมีในระบบงานจึงจะตอบคำถามที่ต้องการทราบจากระบบงานนั้นๆ ได้
ตัวอย่าง Entity ที่ได้จากระบบงานทะเบียนนักศึกษาและวิชาที่เปิดสอน เราสามารถนำมาเขียนเป็น ER Diagram ได้ดังนี้
ขั้นที่ 2 : กำหนดความสัมพันธ์ระหว่าง Entity
จาก Entity ที่ได้ในขั้นตอนที่ 1 เราจะพบว่าความสัมพันธ์ระหว่าง Entity เหล่านี้มีอยู่รูปแบบเดียวคือการลงทะเบียนเรียน
การลงทะเบียนเรียนจะมี Entity ที่มาเกี่ยวข้อง 2 ตัวได้แก่ Entity นักศึกษาและ Entity วิชาเรียน ซึ่งมีความสัมพันธ์แบบ M : M เพราะนักศึกษาสามารถลงทะเบียนเรียนได้หลายวิชา แต่ละวิชาก็มีนักศึกษาหลายคนมาลงทะเบียนเพื่อเรียน
ขั้นที่ 3 : กำหนด Attribute ของ Entity ให้ครบ
กำหนดว่าจะเก็บรายละเอียดใดของ Entity บ้าง โดยกำหนดเข้าไปใน ER Diagram เลย ซึ่งราจะต้องมั่นใจว่าได้กำหนด Attribute เพียงพอที่จะนำไปตอบคำถามที่ผู้ใช้ต้องการทราบจากระบบฐานข้อมูล
Attribute ที่จะต้องจัดเก็บก็คือ รายละเอียดทั้งหมดของ Entity ที่ปรากฏในผลการสำรวจความต้องการใช้งานของผู้ใช้
ขั้นที่ 4 : พิจารณา Attribute ที่ขึ้นกับ Relationship
แยก Attribute ซึ่งเคยเป็นของ Entity นักศึกษามาเป็น Attribute ของ Relationship ลงทะเบียนเรียนด้วยกัน 3 ตัวนั่นคือ เกรดของวิชา คะแนนของวิชา และภาครวมทั้งปีการศึกษาที่เรียนวิชานั้นๆ
ทั้งนี้ก็เพราะว่า Attribute ทั้ง 3 ตัวเป็นคุณสมบัติเฉพาะของนักศึกษาแต่ละคนโดยที่จะไม่เหมือนกันในแต่ละวิชาที่นักศึกษาได้ลงทะเบียนเรียนนั่นเอง หรือเป็น Attribute ที่ขึ้นอยู่กับทั้ง Entity นักศึกษาและ Entity วิชาเรียนผ่าน Relationship ลงทะเบียนเรียนนั่นเอง
ขั้นที่ 5 : เลือก Identify หรือ Primary Key
โดย Identify หรือ Primary Key ของ Entity นักศึกษาก็คือ รหัสนักศึกษา และ Primary Key ของวิชาเรียน ก็คือ รหัสวิชา ซึ่งใน ER Diagram นั้นจะมีการขีดเส้นใต้ Attribute ที่ถูกกำหนดเป็น Primary Key เพื่อให้แตกต่างจาก Attribute ตัวอื่นๆ
4. เปลี่ยน ER Diagram เป็นตาราง
ตารางที่ 1 และ 2 จาก Entity
การเปลี่ยนจาก ER Diagram มาเป็นตารางนั้นจะเริ่มต้นที่ Entity ก่อน โดย Entity ใดๆ ก็ตามและAttribute ของ Entity นั้นสามารถแปลงมาเป็นตารางได้ทันที ซึ่งตารางที่ได้มาก็จะมีคอลัมน์เป็นจำนวนเท่ากับ Attribute ของ Entity นั้นๆ
จาก ER Diagram ที่ได้ดังรูปในขั้นตอนที่ 3 เราสามารถสร้างตารางขึ้นมาแทน Entity นักศึกษาและEntity วิชาเรียนได้ดังนี้
ตาราง Student
ตารางที่ 3 จาก Relationship
ตารางที่ได้จาก Relationship จะมี Attribute อยู่ 2 ประเภท
ประเภทแรกคือ Primary Key จาก Entity ที่มีความสมัพันธ์กัน ในที่นี้ก็คือ StudentID และ SubjectID ซึ่งแทนรหัสนักศึกษาและรหัสวิชาตามลำดับ
ประเภทที่สองก็คือ Descriptive Attribute ซึ่งในที่นี้มีอยู่ 3 ตัวคือ Grade, Score และ Term นั่นเอง (แทนเกรดของวิชา คะแนนของวิชา และภาครวมทั้งปีการศึกษาที่เรียนวิชานั้นๆ ตามลำดับ)
ตาราง Student_Subject
ตัวอย่างงาน ออกแบบ ER Diagram
จัดทำโดย
นางสาวทิพย์สุคนธ์ พันธ์กิ่ง (ครูกั้ง)
กลุ่มสาระวิทยาศาสตร์และเทคโนโลยี (คอมพิวเตอร์)
โรงเรียนบุญวัฒนา สำนักงานเขตพื้นที่การศึกษามัธยมศึกษานครราชสีมา