วันเสาร์ที่ 21 กรกฎาคม พ.ศ. 2550

Entity-Relation Model and Enhanced Entity-Relation Model : Part III

The Enhanced Entity-Relationship Model

แนวคิดพื้นฐานของ E-R model เพียงพอสำหรับการนำไปใช้ในการสร้างโครงสร้างฐานข้อมูลในโปรแกรมประยุกต์ในฐานข้อมูลธุรกิจทั่วๆไป แต่ยังไม่เพียงพอในการนำเสนอข้อมูลความต้องการในงานที่ใหม่กว่า เช่น งานด้านวิศวกรรม (CAD/CAM Database) ฐานข้อมูลภาพ (Image and Graphic DB) ฐานความรู้ในงานด้านปัญญาประดิษฐ์ (Knowledge base for AI) การทำให้ครอบคลุมส่วนเพิ่มขึ้นจำเป็นที่จะต้องพัฒนา แนวคิดในการออกแบบตัวแทนที่มีความเชื่อมโยงกับความหมายของคำ (Semantic modeling Concept)
E-R model ที่สนับสนุน Semantic Modeling Concept นี้ก็คือ Enhanced E-R Model
Enhanced Entity Relationship model มี E-R model เป็นพื้นฐานรวมกับส่วนที่เพิ่มเติมคือแนวคิดของ specialization/generalization และ categorization.

Semantic : adj : Connected with the meanings of words

The Concepts of Specialization/Generalization

แนวคิดของ Specialization/Generalization นั้นเกี่ยวข้องกับ Subclass และ SuperClass และ
the process of attribute inheritance.


SuperClass และ SubClass
Superclass: An entity set that includes distinct subclasses that require to be
represented in a data model.
Subclass: A subclass is also an entity set that has a distinct role and is
also a member of a superclass.

Attribute Inheritance
คุณสมบัติที่จำเป็นของ Entity ไม่ว่ามีระดับสูงกว่าหรือต่ำกว่า สร้างโดย Specailization/Gernalization นั้นคือ Attribute Inheritance (การสืบทอด Attribute)

Specialization(Top-down Approach)

หาและระบุความแตกต่างระหว่าง Object ที่อยู่ใน Class เดียวกันซึ่งสามารถถูกแบ่งได้มากกว่า 1 หรือมากกว่า
Generalization(Bottom-up Approach)
ลดความแตกต่าง Object แต่ละตัวโดยระบุ Common feature

Contraints on Specialization and Generalization
มีข้อกำหนดอยู่ 2 ประเภท ที่พบบนความสัมพันธ์ระหว่าง Superclass และ Subclass ไม่ว่าจะเป็นการทำ Specialization หรือ Generalization คือ Disjointness Constrain และ Completeness Constrain

Disjointness Constrain
เป็นข้อกำหนดเกี่ยวกับ subclass ว่า Entity ใดๆ จะเป็นสมาชิกอยู่ได้ใน Entity Subclass เดียวเท่านั้น

  • Disjoint ต้องการให้ Entity ที่ไปอยู่ในระดับต่ำกว่านั้น อยู่ได้แค่ Entity Set เดียว
  • Overlapping ต้องการให้ Entity ที่ไปอยู่ในระดับต่ำกว่านั้นอาจอยู่ได้มากกว่า 1 Entity Set

Completeness Constrain

  • Total generalization or specialization : Each higher-level entity must belong
    to a lower-level entity set. (แต่ละ Entity ที่อยู่ระดับสูงกว่าต้องไปอยู่ใน Entity ที่ต่ำกว่า)
  • Partial generalization or specialization : Some higher-level entities may not
    belong to any lower-level entity set. (Entity ที่อยู่ระดับสูงกว่าอาจจะไม่ไปอยู่ใน Entity ระดับต่ำกว่า)

Example


Total Disjoint (Complete)

จาก E-R Diagram แสดงว่า บังคับให้นิสิตทำงานอย่างใดอย่างหนึ่ง เมื่อแปลงเป็น Schema จะได้ 2 แบบ

Schema แบบที่ 1

  1. Student (SID,SName,GPA)
  2. Consultant(SID,SubCode,RatePerHour)
  3. LabAssistant(SID,LabName,Salary,Function)

Schema แบบที่ 2

  1. Consultant(SID,SName,GPA,Subcode,RatePerHour)
  2. LabAssistant(SID,SName,GPA,LabName,Salary,Function)

Partial Disjoint


นิสิตเลือกทำงานหรือไม่ทำก็ได้ ถ้าทำจะทำได้อย่างเดียว ใช้ Schema แบบที่ 1 เท่านั้น


Total Overlap



นิสิตทุกคนต้องทำงานโดย ทำทั้งสองอย่างก็ได้ ใช้ Schema แบบที่ 1 ถ้าใช้ Schema แบบที่ 2 จะเกิดข้อมูลซ้ำซ้อน ถ้านิสิตคนนั้นทำงาน 2 อย่างเป็นทั้ง Consultant และ LabAssistance



Partial Overlap


นิสิตทำงานหรือไม่ก็ได้ ถ้าทำอาจจะทำสองอย่างก็ได้ ใช้ Schema แบบที่ 1

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