Back to Home

DataBase System

Lesson1245679101112131415

Lesson 3 : E-R Model



Lesson Plan
Section No.
Section 1
Section 2
Test
PDF file
PPT File

<<Prev pageCourse MapNext page>>

Print content of this page
Save content of this page

 

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. Property

Property หมายถึง คุณสมบัติหรือคุณลักษณะของเอนทิตี ซึ่งแต่ละเอนทิตีใน 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. ความสัมพันธ์

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

ภาพที่ 3.2 ตัวอย่างของความสัมพันธ์

จากภาพที่ 3.2 ความสัมพันธ์สังกัดเป็น Entity Type ที่แสดงความสัมพันธ์ระหว่าง Entity Type นักศึกษาและ Entity Type คณะ ซึ่งความสัมพันธ์สังกัดประกอบด้วย 5 Property คือ รหัสประจำตัว ชื่อ-สกุล เพศ รหัสคณะ และชื่อคณะ โดยมี Property รหัสประจำตัวเป็น Identity

นอกจากความสัมพันธ์ระหว่าง Entity Type ที่มี Property ร่วมกันจะเป็นตัวกำหนดความสัมพันธ์ขึ้นมาแล้ว ความสัมพันธ์อาจสร้างขึ้นมาจาก Property ที่เป็น Identity ของแต่ละ Entity Type ก็ได้

ภาพที่ 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

 


 

Last Updated: 12/13/2001 11:23:19 AM
© โครงการเครือข่ายสารสนเทศเพื่อพัฒนาการศึกษา ทบวงมหาวิทยาลัย