วันศุกร์ที่ 2 กันยายน พ.ศ. 2554

โมเดลจำลองความสัมพันธ์ระหว่างข้อมูล (E-R Model)



แบบจำลองความสัมพันธ์ระหว่างข้อมูล  (Model)
·       Entity-Relationship  Model
หรือเรียกอีกอย่างว่า  “E-R  Model”  เป็น  Data  Model  เป็นที่นิยมอย่างแพร่หลาย  เป็นเครื่องมือที่ดีมากและมีโครงสร้างสำคัญเพิ่มขึ้นมา  คือ  “E-R  Diagram”  ใช้แสดงความสัมพันธ์ระหว่างข้อมูลในฐานข้อมูล
·       Data  Model
คือ  แบบจำลองที่ใช้เป็นเครื่องมือในการแสดงโครงสร้างภายในระบบฐานข้อมูล  โดยใช้รูปภาพเป็นสื่อ  ทำให้ง่ายต่อการเข้าใจและการเรียนรู้    เข้าใจโครงสร้างพื้นฐานของระบบได้ง่าย
คุณสมบัติของ  Data  Model
1.      Expressiveness  คือ ต้องเป็นเครื่องมือที่สามารถแสดงหรืออธิบายโครงสร้างของข้อมูล  ได้ชัดเจนและครบถ้วน
2.      Simplicity  คือ  ต้องทำให้ง่ายต่อการเข้าใจ  ไม่ซับซ้อน
3.      Minimality  คือ  ลักษณะโครงสร้างของข้อมูลแต่ละชนิด  ต้องชัดเจน  และไม่กำกวม
4.      Formality  คือ  ข้อมูลแต่ละชนิดต้องไม่ซ้ำซ้อน  มีรูปแบบเป็นมาตรฐาน

องค์ประกอบของ  E-R  Model
               โครงสร้างพื้นฐานของ E-R  Model  ได้แก่  Entity,  Attribute, Relationship,  Key, Domain  เป็นต้น

คำศัพท์พื้นฐานแบบจำลองความสัมพันธ์ระหว่างข้อมูล  (Model)
1. Entity  Set  คือ  กลุ่มของความสัมพันธ์ภายในกลุ่มของ Entity  เดียวกัน  เช่น  Entity  Set  ของนักเรียน   นอกจากนั้นยังประกอบด้วย   Entity  อาจารย์  , Entity  วิชา  ประกอบในระบบด้วย  ซึ่งมี  2  ประเภทคือ
·       Strong  Entity  Set  คือ  Entity Set  ใด ๆ  ที่มี Attribute  ภายในเพียงพอที่จะสามารถทำหน้าที่เป็น Primary  Key  ได้
Weak  Entity  Set  คือ  Entity  Set    ที่มีลักษณะตรงกันข้ามกับ  Strong  Entity  Set  คือ  กลุ่มของ Entity  Set  ใด    ที่ Attribute  ภายในทั้งหมด  แม้จะรวมกันแล้วยังไม่สามารถทำหน้าที่เป็น Primary 
Key  ให้กับ Entity Set
2.      Relationship  Set  คือ  กลุ่มของ Relationship  ที่มีความลัมพันธ์และอยู่ในประเภทเดียวกันมารวมเข้าด้วยกัน 
3.      Primary  Key   มีคุณสมบัติดังนี้
·       ข้อมูลของคอลัมน์  ทุก ๆ  แถวของตารางจะต้องไม่มีข้อมูลซ้ำกันเลย
·       ต้องประกอบไปด้วย  Attribute  ที่น้อยที่สด  ที่สามารถในการอ้างอิงถึงข้อมูล  ใน Tuple ใด Tuple  หนึ่งได้
4.   Existence  Dependency  คือ   เหตุการณ์ที่  Entity  จะเกิดขึ้นได้และคงอยู่ได้  ต้องขึ้นอยู่กับการมีหรือเกิดขึ้นของอีก Entity      เช่น  Entity  รายการฝาก-ถอน  จะเกิดขึ้นได้ก็ต่อเมื่อมี  Entity  ลูกค้า

ER model (Entity-Relationship Model)
:: เสนอครั้งแรกโดย ปีเตอร์(Chen,1976 - 2519) เป็นเครื่องมือนำเสนอโครงสร้างของฐานข้อมูลใน ระดับความคิด(Conceptual level)ออกมาในลักษณะของแผนภาพ(Diagram) ที่ง่ายต่อความเข้าใจ เพื่อสื่อความหมายระหว่างนักออกแบบฐานข้อมูล และผู้ใช้ เกี่ยวกับ ความสัมพันธ์ของเอนติตี้(Entity) กับเอนติตี้(Entity) และเอนติตี้(Entity) กับ แอททริบิวท์(Attibute) 





ส่วนประกอบของ ER model 
-
เอ็นติตี้ (Entity) 
-
แอททริบิวท์ (Attribute) 
-
ความสัมพันธ์ระหว่างเอ็นติตี้ (Relationship) 
-
ดีกรีของความสัมพันธ์ (Degree of a relation)





ขั้นตอนการเขียน ER model
3.1
สร้าง entity ขึ้นมาจากความต้องการของผู้ใช้
3.2
สร้างความสัมพันธ์(Relation) ระหว่าง entity
3.3
พิจารณา key ของแต่ละ entity
3.4
พิจารณาคุณสมบัติของ entity แต่ละตัว

4. ขั้นตอนการเขียน ER model
4.1 กำหนด Entity type โดยกำหนดมาจากความต้องการของผู้ใช้ระบบ ว่าจะให้มี
Entity สำหรับเก็บข้อมูลอะไรบ้าง
        เอนติตี้(Entity) อาจเรียกว่า file หรือ table
4.1.1 Strong entity คือเกิดขึ้นด้วยตนเองไม่ขึ้นกับ entity ใด เช่น นักศึกษา 
หรืออาจารย์ หรือสินค้า เป็นต้น
4.1.2 Weak entity คือขึ้นโดยอาศัย entity อื่น เช่น เกรดเฉลี่ย ที่มาจากแฟ้ม  
ผลการเรียน หรือแฟ้มลงทะเบียน หรือ แฟ้มสั่งซื้อ เป็นต้น
 สิ่งต่าง ๆ ที่ผู้ใช้งานฐานข้อมูลจะต้องยุ่งเกี่ยวด้วย เช่น คน แผนก ประเภท การสั่งซื้อ เป็นต้น







4.2 กำหนดความสัมพันธ์ (Relationship type) ที่เกิดขึ้นระหว่าง entity ในลักษณะของกริยา
ดีกรีของความสัมพันธ์(Degree of relation) มี 4 แบบ 
4.2.1 Unary relationship
คือความสัมพันธ์ภายใน entity เดียวกัน เช่นแต่งงานของพนักงาน แต่ถ้ามีระดับแบบลูกน้อง หัวหน้าจะเรียก Recursive relationship(Unary) 
4.2.2 Binary relationship
คือความสัมพันธ์แบบสอง entity 
4.2.3 Ternary relationship
คือความสัมพันธ์แบบสาม entity 
4.2.4 Quaternary relationship
คือความสัมพันธ์แบบสี่ entity 




4.3 กำหนดแอททริบิวท์ (Attribute) ของแต่ละเอนติตี้
 แอททริบิวท์(Attibute) อาจเรียก field หรือ column คือ สิ่งที่ใช้อธิบายคุณสมบัติของเอนติตี้ เช่นคุณสมบัติของคน ก็มี รหัส ชื่อ อายุ เพศ เป็นต้น











คำต่าง ๆ ที่ควรทราบ
- คีย์หลัก (Primary key) คีย์หลักประจำแฟ้ม
   คุณสมบัติของคีย์หลัก
       1.    ข้อมูลของแอททริบิวท์มีความเป็นหนึ่งเดียว(Uniqueness) กล่าวคือทุก ๆ แถวของตารางจะต้องไม่มีข้อมูลของแอททริบิวท์ที่เป็นคีย์หลักซ้ำกันเลย
2.    ต้องประกอบด้วยจำนวนแอททริบิวท์ที่น้อยที่สุด(Minimality) ที่จะสามารถใช้เจาะจง หรืออ้างอิงถึงแถวใดแถวหนึ่งในรีเลชันได้
      - คีย์คู่แข่ง (Candidate key)  คีย์ที่สามารถเป็น Primary key ได้ เช่น รหัสบัตรประชาชน หรือรหัสผู้เสียภาษี
      - คีย์สำรอง (Alternate key)  คีย์ตัวอื่น ๆ ในตารางหลังจากเลือก primary key แล้ว
      - คีย์นอก (Foreign key) คีย์ตัวอื่น ๆ ในตารางหลังจากเลือก primary key แล้ว
      - คีย์ร่วม (Composite key)  สามารถแยกออกไปได้อีก เช่น ที่อยู่
    - Composite attibute   สามารถแยกออกไปได้อีก เช่น ที่อยู่
       - Atomic attibute  ไม่สามารถแยกออกไปได้อีก เช่น นามสกุล
       - Multivalued attibute  อาจมีหลายค่าได้ เช่น สีรถ
       - Derived attibute  ไม่มีค่าแน่นอนของตน แต่ขึ้นกับค่าอื่น เช่นอายุ ขึ้นกับปีเกิด และปีปัจจุบัน
       - Entity type :: ชื่อของ entity เช่น course (courseno,coursename)
    - Entity instance :: ค่าภายในของ entity เช่น bcom101,Introduction to comput





















ไม่มีความคิดเห็น:

แสดงความคิดเห็น