ความหมายของฐานข้อมูลเชิงสัมพันธ์

      ระบบฐานข้อมูลเชิงสัมพันธ์ (Relational Database) เป็นฐานข้อมูลที่ใช้โมเดลเชิงสัมพันธ์ (Relational Database Model) ซึ่งผู้คิดค้นโมเดลเชิงสัมพันธ์นี้คือ Dr. E.F. Codd โดยใช้หลักพื้นฐานทางคณิตศาสตร์ เนื่องด้วยแนวคิดของแบบจำลองแบบนี้มีลักษณะที่คนใช้กันทั่วกล่าวคือมีการเก็บเป็นตาราง ทำให้ง่ายต่อการเข้าใจและการประยุกต์ใช้งาน ด้วยเหตุนี้ ระบบฐานข้อมูลแบบนี้จึงที่ได้รับความนิยมมากที่สุด ในแง่ของ entity แบบจำลองแบบนี้คือ แฟ้มข้อมูลในรูปตาราง และ attribute ก็เปรียบเหมือนเขตข้อมูล ส่วนความสัมพันธ์คือความสัมพันธ์ระหว่าง entity
    ฐานข้อมูลเชิงสัมพันธ์ คือ การเก็บข้อมูลในรูปของตาราง (Table) หลายๆตารางที่มีความสัมพันธ์กัน ในแต่ละตารางแบ่งออกเป็นแถวๆ และในแต่ละแถวจะแบ่งเป็นคอลัมน์ (Column) ในทางทฤษฎีจะมีคำศัพท์เฉพาะแตกต่างออกไป เนื่องจากแบบจำลองแบบนี้เกิดจากทฤษฎีทางคณิตศาสตร์เรื่องเซ็ท (Set) ดังนั้น เราจะมีคำศัพท์เฉพาะดังตาราง



ฟังก์ชั่นการขึ้นต่อกัน (Functional Dependency : FD)

ฟังก์ชั่นการขึ้นต่อกัน เป็นการอธิบายถึงความสัมพันธ์ระหว่างค่าของ แอตทริบิวต์ ที่อยู่ใน รีเลชั่นเดียวกัน โดยแอตทริบิวต์หรือกลุ่มแอตทริบิวต์ที่สามารถระบุค่าของแอตทริบิวต์อื่น ๆ ในทูเพิล เดียวกันได้ จะเรียกว่า "ดีเทอร์มิแนนท์" (Determinant) และแอตทริบิวต์ ที่ถูกระบุค่าถึงเรียกว่า "ดีเพนเดนซี่" (Dependency) ตัวอย่างเช่น รีเลชั่นนักศึกษาที่มี รหัสนักศึกษาเป็นค่าคีย์จะ สามารถระบุ ค่าอื่น ๆ ได้เช่น เมื่อระบุรหัสนักศึกษา จะได้ค่าในแอตทริบิวต์ ชื่อ, สาขา, ห้อง และชั้นปี ออกมา เป็นต้น การเขียนฟังก์ชั่นการขึ้นต่อกัน สามารถเขียนโดยใช้สัญลักษณ์ --> ดังตัวอย่าง
Determinant --> Dependency
รหัสนักศึกษา --> ชื่อ, สาขา, ห้อง, ชั้นปี จากตัวอย่างด้านบน รหัสนักศึกษา คือ ดีเทอร์มิแนนท์ และส่วน ชื่อ, สาขา, ห้อง, ชั้นปี คือ ดีเพนเดนซี่ ในการพิจารณาว่ารีเลชั่นว่าอยู่ในรูปแบบนอร์มอลระดับใดนั้น จะพิจารณาจากฟังก์ชั่นการ ขึ้นต่อกัน
ประเภทของฟังก์ชั่นการขึ้นต่อกัน
ฟังก์ชั่นการขึ้นต่อกับ แบ่งออกเป็น 4 ประเภท คือ
1)ฟังก์ชั่นการขึ้นต่อกัน ที่เกิดจากความสัมพันธ์ระหว่างดีเทอร์มิแนนท์ และดีเพนเดนซี่ อย่าง ละ 1 ค่า เช่น ความสัมพันธ์ระหว่าง รหัสนักศึกษา และชื่อนักศึกษา ดังนี้
รหัสนักศึกษา --> ชื่อนักศึกษา    
Std_ID --> Std_Name
2)ฟังก์ชั่นการขึ้นต่อกัน ที่เกิดจากความสัมพันธ์ระหว่างดีเทอร์มิแนนท์ 1 ค่า กับดีเพนเดนซี่ หลายค่า เช่น ความสัมพันธ์ระหว่าง รหัสนักศึกษา และข้อมูลของนักศึกษา (เช่น ชื่อ, นามสกุล, วันเดือนปีเกิด เป็นต้น) ดังนี้
รหัสนักศึกษา --> ชื่อ, นามสกุล, วันเดือนปีเกิด
Std_ID --> FirstName, LastName, BirthDate
3)ฟังก์ชั่นการขึ้นต่อกัน ที่มีความสัมพันธ์ 2 ทาง โดยที่ทั้งดีเทอร์มิแนนท์ และ ดีเพนเดนซี่ ต่างก็สามารถทำหน้าที่ของแต่ละฝ่ายได้ เช่น ความสัมพันธ์ระหว่าง รหัสนักศึกษา และ เลขบัตรประชาชน ที่ต่างก็ไม่มีข้อมูลซ้ำกันเลย และสามารถทำหน้าที่เป็นดีเทอร์มิแนนท์ เช่นเดียวกัน ดังนี้
รหัสนักศึกษา --> เลขบัตรประชาชน
Std_ID --> Std_Pin
เลขบัตรประชาชน --> รหัสนักศึกษา
Std_Pin --> Std_ID
รหัสนักศึกษา <--> เลขบัตรประชาชน
Std_ID <--> Std_Pin

4)      ฟังก์ชั่นการขึ้นต่อกัน ที่ต้องใช้ดีเทอร์มิแนนท์ มากกว่า 1 ค่าเพื่อระบุถึงดีเพนเดนซี่ เช่น ความสัมพันธ์ระหว่าง รหัสนักศึกษา, รหัสวิชา และ ห้องเรียน ดังนี้
รหัสนักศึกษา, รหัสวิชา --> ห้องเรียน
Std_ID, Course_ID --> Room







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

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