![]() |
|
![]() |
![]() |
Semantic Modelในการออกแบบฐานข้อมูล นิยมใช้แบบจำลองข้อมูล (data model) เพื่อนำเสนอรายละเอียดต่าง ๆ เกี่ยวกับโครงสร้างและความสัมพันธ์ระหว่างข้อมูลภายในฐานข้อมูลที่ออกแบบซึ่งอยู่ในรูปของแนวคิดหรือตรรกะ (logical) ที่ยากแก่การเข้าใจ ให้อยู่ในรูปแบบที่เป็นมาตรฐานซึ่งผู้ใช้ในแต่ละระดับที่มีมุมมองต่างกันสามารถเข้าใจได้ง่ายขึ้น แบบจำลองข้อมูลในระยะแรก ๆ จะมีการนำเสนอเฉพาะรายละเอียดเกี่ยวกับโครงสร้างของฐาน ข้อมูล เช่น การครบหน่วยของข้อมูล (atomic data values) การควบคุมบูรณภาพของข้อมูล (integrity constraint) เป็นต้น โดยยังขาดการนำเสนอรายละเอียดเกี่ยวกับความหมายของข้อมูลภายในฐานข้อมูล เช่น น้ำหนักและปริมาณของสินค้ามีความสัมพันธ์กันอย่างไร โดเมน (domain) ของ ข้อมูลสามารถมีค่าใดได้บ้าง ข้อมูลใดทำหน้าที่เป็นคีย์คู่แข่ง (candidate key) หรือคีย์นอก (foreign key) เป็นต้น ดังนั้น ในราวปลายปี ค.ศ.1970 ถึงช่วงต้นปี ค.ศ. 1980 จึงมีการนำเสนอแบบจำลองข้อมูลที่เรียกว่า Semantic โมเดล ขึ้น Semantic โมเดล เป็นแบบจำลองข้อมูลที่กล่าวถึงแนวคิดหรือความหมายของคำต่าง ๆ คือ เอนทิตี (entity) Property ความสัมพันธ์ (relationship) และ Subtype ดังนี้ 1. เอนทิตีเอนทิตี หมายถึง สิ่งที่สนใจสามารถระบุได้ในความเป็นจริง และต้องการทำการจัดเก็บข้อมูลที่ เกี่ยวข้องด้วย โดยสิ่งนั้นอาจเป็นรูปธรรมที่สามารถมองเห็นได้ เช่น หนังสือระบบฐานข้อมูล นาย ศ. มหาวิทยาลัยเกษตรศาสตร์ เป็นต้น หรืออาจเป็นนามธรรมที่ไม่สามารถมองเห็นได้ เช่น จำนวนวันลาพักผ่อนของพนักงาน วันหยุดราชการ เป็นต้น ก็ได้ หากนำแต่ละเอนทิตีที่มีคุณสมบัติใด ๆ เหมือนกันมารวมกัน เอนทิตีเหล่านั้นเรียกว่า Entity Type ซึ่งหมายถึง กลุ่มของเอนทิตีหรือกลุ่มของข้อมูลที่มีคุณสมบัติเหมือนกัน เช่น Entity Type นักศึกษา หมายถึง กลุ่มคนที่เป็นนักศึกษาทุกคน Entity Type บุคคลสัญชาติไทย หมายถึง กลุ่มคนที่มีสัญชาติไทยทุกคน เป็นต้น ทั้งนี้ เอนทิตีใดเอนทิตีหนึ่งที่กำลังสนใจ เรียกว่า เอนทิตีที่ปรากฏ (entity instance) ดังนั้น ในหนึ่ง Entity Type จึงอาจมีเอนทิตีที่ปรากฏได้จำนวนมาก 2. PropertyProperty หมายถึง คุณสมบัติหรือคุณลักษณะของเอนทิตี ซึ่งแต่ละเอนทิตีใน Entity Type เดียวกันจะมี Property ต่าง ๆ เหมือนกัน เช่น Property ของ Entity Type นักศึกษาประกอบด้วย รหัสประจำตัว ชื่อ-สกุล เพศ รหัสคณะ เป็นต้น แม้ว่าทุกเอนทิตีที่เป็นสมาชิกของ Entity Type เดียวกันจะมี Property ต่าง ๆ เหมือนกัน แต่จะมี ข้อมูลใน Property หนึ่งที่เป็นเอกลักษณ์เฉพาะของแต่ละเอนทิตี เช่น Property รหัสประจำตัวของ Entity Type นักศึกษาจะไม่มีค่าในแต่ละเอนทิตีที่ซ้ำกันเลย เป็นต้น ซึ่ง Property ที่สามารถกำหนดเอกลักษณ์เฉพาะให้กับแต่ละเอนทิตีได้นี้เรียกว่า Identity ภาพที่ 3.1 เอนทิตี Property และ Identityจากภาพที่ 3.1 Entity Type นักศึกษาประกอบด้วย 4 เอนทิตี แต่ละเอนทิตีประกอบด้วย 4 Property คือ รหัสประจำตัว ชื่อ-สกุล เพศ และรหัสคณะ โดยมี Property รหัสประจำตัวเป็น Identity อย่างไรก็ตาม หากพิจารณาดูจะพบว่า แต่ละ Property ก็คือแต่ละแอททริบิวต์ (attribute) ส่วนแต่ละเอนทิตีก็คือแต่ละทูเพิล (tuple) ในแบบจำลองข้อมูลเชิงสัมพันธ์ (relation data model) นั่นเอง หากทว่า Semantic โมเดล ถูกนำมาใช้เพื่อการออกแบบฐานข้อมูลในระดับแนวคิดหรือตรรกะที่มีวัตถุประสงค์เพื่อนำเสนอข้อเท็จจริงต่าง ๆ ที่เกี่ยวข้องกับข้อมูล โดยยังไม่มีการระบุโครงสร้างของฐานข้อมูลที่ใช้ ดังนั้น จึงใช้ คำว่า Property แทนคำว่า แอททริบิวต์ และคำว่า เอนทิตี แทนคำว่า ทูเพิล 3. ความสัมพันธ์
ภาพที่ 3.2ตัวอย่างของความสัมพันธ์จากภาพที่ 3.2 ความสัมพันธ์สังกัดเป็น Entity Type ที่แสดงความสัมพันธ์ระหว่าง Entity Type นักศึกษาและ Entity Type คณะ ซึ่งความสัมพันธ์สังกัดประกอบด้วย 5 Property คือ รหัสประจำตัว ชื่อ-สกุล เพศ รหัสคณะ และชื่อคณะ โดยมี Property รหัสประจำตัวเป็น Identity
ภาพที่ 3.3ตัวอย่างของความสัมพันธ์ที่สร้างจาก Identity ของแต่ละ Entity Typeจากภาพที่ 3.3 ความสัมพันธ์ที่ปรึกษาเป็น Entity Type ที่สร้างจาก Property รหัสประจำตัวซึ่งเป็น Identity ของ Entity Type นักศึกษา และ Property รหัสอาจารย์ซึ่งเป็น Identity ของ Entity Type อาจารย์ 4. Subtypeหาก Entity Type ใดมี Property ที่สามารถกำหนดเอกลักษณ์เฉพาะให้กับแต่ละเอนทิตีได้ และ ข้อมูลทุกเอนทิตีใน Entity Type นั้นเป็นข้อมูลส่วนหนึ่งใน Entity Type หลัก เรียก Entity Type นั้นว่าเป็น Subtype ของ Entity Type หลัก ภาพที่ 3.4 ตัวอย่างของ Subtypeจากภาพที่ 3.4 Entity Type นักศึกษาหญิงและ Entity Type นักศึกษาชายเป็น Subtype ของ Entity Type นักศึกษา โดยแต่ละเอนทิตีต่างก็มี Property รหัสประจำตัวเป็น Identity
|
|||
|
|