หน่วยที่ 3 โมเดลฐานข้อมูลเชิงสัมพันธ์ (พิเศษ)

หน่วยที่ 3 โมเดลฐานข้อมูลเชิงสัมพันธ์ (พิเศษ)

                    นาย E.F. Codd  ได้เสนอโมเดลแบบรีเลชั่นนอล (Relational Model) โดยเขาเสนอกฏ 12 ข้อที่เป็นบรรทัดฐานวัดว่าระบบฐานข้อมูลใดบ้างที่ถือได้ว่าเป็นฐานข้อมูลแบบรีเลชั่นนอล จากกฎ 12 ข้อ นี้ ระบบปฏิบัติการฐานข้อมูลแบบ Relational Database Management System (RDBMS) จึงได้ถูกพัฒนาขึ้นอย่างจริงจัง

                    โดยกฎ 12 ข้อ มีดังนี้

• กฎข้อที่ 1 กฎข่าวสาร (The Information Rule) ข้อมูลต่าง ๆ ในระบบฐานข้อมูลจะถูก นำเสนอและจัดการ ในรูปแบบตาราง โดยที่อย่างน้อยจะต้องประกอบด้วย ชื่อตาราง  ชื่อคอลัมน์ คอลัมน์ใดเป็น index หรือ key ชนิดของข้อมูลในแต่ละคอลัมน์  ขอบเขตของค่าข้อมูล ในแต่ละคอลัมน์ (domain)
• กฎข้อที่ 2 กฎการการันตีการเข้าถึงข้อมูล (Guaranteed Access Rule) ผู้ใช้จะต้องสามารถเข้าถึงข้อมูลทุกตัว ในตารางได้ด้วยการระบุชื่อตารางค่าของ primary key และชื่อคอลัมน์ (Column) ที่ต้องการ และถ้าไม่ได้มีการเปลี่ยนแปลง ข้อมูลในตารางแล้ว การเข้าถึง และ เรียกใช้ ข้อมูลจะได้ผลออกมาเพียงค่าเดียว และเหมือนเดิมทุกครั้ง
• กฎข้อที่ 3 วิธีแสดงว่าข้อมูลบางรายการยังไม่พร้อม หรือยังไม่มีค่า ให้ใช้ค่า null เพื่อแสดงว่าระบบนี้ไม่มีข้อมูลในส่วนนั้น
ในหลายกรณีที่ ข้อมูลในส่วนนั้นยังไม่มีทันที เราสามารถแทนค่านั้นด้วยค่า null ตัวอย่างเช่น ใน    ตาราง Employee ถ้าเรารับพนักงานเข้ามาใหม่ โดยยังไม่ได้กำหนดว่าพนักงานคนนี้จะให้สังกัดแผนกใด ค่าของข้อมูลในคอลัมน์ Manager และ Dept ของเรคอร์ดจะมีค่า null
• กฎข้อที่ 4 โครงสร้าง จะต้องมีสภาพ โมเดลแบบรีเลชั่นนอล กฎข้อนี้สามารถให้ผู้ใช้เรียกดู  และแก้ไขโครงสร้างข้อมูลต่าง ๆ ของระบบได้ด้วยภาษาและวิธีเดียวกับการเรียกดูข้อมูลของระบบ
• กฎข้อที่ 5 กฎของภาษา (Comprehensive data sublanguage rule) ระบบ DBMS แบบรีเลชั่น ควรมีภาษาอย่างอย่างน้อย 1 ภาษา ที่สามารถกระทำการต่อไปนี้ ได้แก่ นิยามโครงสร้างระบบข้อมูล นิยามวิว เปลี่ยนแปลงแก้ไขข้อมูล ทั้งด้วยวิธีการใช้คำสั่งแบบ interactive และ ด้วยการเขียนโปรแกรม ควบคุม integrity ทั้ง integrity ของข้อมูล (entity integrity) ของการอ้างอิงด้วย (referential integrity) โดยขอให้ดูความหมายของ integrity ทั้ง 2 นี้ได้ในกฎข้อที่ 10 (integrity นักวิชาการบางท่านหมายถึง บูรณภาพ คือ ลักษณะที่มีความหมายมั่นคงเป็นปึกแผ่น) การใช้สิทธิการใช้งาน และขอบเขตของ transaction
• กฎข้อที่ 6  กฎการแก้ไขข้อมูลผ่านทางวิว (View update rule) ผู้ใช้แต่ละคน เห็นระบบข้อมูลในมุมมอง หรือ วิว ที่แตกต่างกัน ระบบฐานข้อมูลต้อง สามารถเปลี่ยนแปลงแก้ไขข้อมูล ตาม มุมมอง หรือ วิวที่แต่ต่างกันได้  ระบบฐานข้อมูล ( DBMS ) จะต้องสามารถ  ตัดสินได้ว่าผู้ใช้สามารถเพิ่มเติมทัพเพิล (tuple หมายถึง  แถว  หรือ  เรคอร์ดในตาราง)ลบทัพเพิล หรือแก้ไขข้อมูลในคอลัมน์ใด ๆ โดยกระทำผ่านวิวได้หรือไม่
• กฎข้อที่ 7 ความสามารถในการเพิ่ม ลด และแก้ไขข้อมูลระบบฐานข้อมูล ( DBMS ) ควรจะมีภาษาที่สามารถให้ผู้ใช้  เพิ่ม ลด หรือแก้ไข ข้อมูลในหลาย ๆ แถว หรือหลาย ๆ คอลัมน์ ได้ด้วยการออกคำสั่ง เพียงคำสั่งเดียว  ซึ่งในปัจจุบัน ส่วนใหญ่ระบบฐานข้อมูล  (DBMS) จะมีภาษาที่ชื่อ SQL เป็นมาตรฐาน
• กฎข้อที่ 8 ความเป็นอิสระของข้อมูลในระดับกายภาพ (Physical data independence)
ผู้ใช้งาน ระบบฐานข้อมูล ( DBMS ) ไม่จำเป็นจะต้องรับรู้เกี่ยวกับการจัดเก็บข้อมูลจริง รวมทั้งการเปลี่ยนแปลงวิธีการจัดเก็บเหล่านี้ และการเข้าถึงข้อมูล ด้วยการระบุค่าเช่นเดิมนี้ก็จะได้คำตอบเหมือนเดิมเสมอ ไม่ว่าระบบจะได้มีการเปลี่ยนแปลง ทางด้านกายภาพอย่างไร
• กฎข้อที่ 9 ความเป็นอิสระของข้อมูลในระดับตรรก  (Logical data independence) การเปลี่ยนแปลงข้อมูล ในระดับตรรก  รวมถึงการเปลี่ยนแปลงโครงสร้างข้อมูล เช่น เพิ่มเติมคอลัมน์ เข้าไปในตาราง  หรือการสร้างตารางใหม่  เป็นต้น  การเปลี่ยนแปลง ในระดับตรรก มีผลต่อคำสั่ง และโปรแกรมที่เขียนไว้ก่อนได้มากกว่าการเปลี่ยนแปลงทางกายภาพ เช่น ซอฟต์แวร์ ส่วนใหญ่ยอมให้เราแก้ไขโครงสร้าง  (schema)  ได้โดยไม่ต้องพิมพ์ข้อมูลลงในตารางใหม่ก็จริง
• กฎข้อ 10  ความเป็นอิสระของ ระบบฐานข้อมูล ( DBMS ) ควรจะสามารถจัดเก็บข้อมูลเกี่ยวกับการควบคุมความคงสภาพ ( integrity )
• กฎข้อ 11 ความเป็นอิสระของการกระจาย ผู้ใช้ระบบไม่ต้องให้ความสนใจว่า ข้อมูลจะถูก จัดเก็บอย่างไร แม้แต่จะถูกโยกย้าย ไปยังเครื่องคอมพิวเตอร์ เครื่องอื่นที่เชื่อมโยงไว้ก็ตาม
• กฎข้อ 12  การไม่ยอมให้ภาษาอื่นทำลายกฎ กฎเกณฑ์ต่าง ๆ โดยเฉพาะกฎเกี่ยวกับ integrity  จะต้องสามารถใช้ควบคุมความ ถูกต้องของข้อมูลในระบบได้ตลอดเวลา ไม่ว่าผู้ใช้จะเข้าถึงข้อมูลด้วยเครื่องมือใด ๆ  (เช่น ระบบ 4th GL หรือ 3nd GL) ก็ตาม


                    ทำไมจึงต้องเรียนรู้ฐานข้อมูลเชิงสัมพันธ์
                              ฐานข้อมูลเชิงสัมพันธ์เป็นรูปแบบของฐานข้อมูลซึ่งง่ายสำหรับผู้ใช้ทั่วไป โดยเฉพาะผู้ใช้ที่ไม่ใช่นักวิเคราะห์และออกแบบระบบ โปรแกรมเมอร์หรือผู้จัดการฐานข้อมูล เป็นต้น ในปัจจุบัน Relational Model ได้รับความนิยมใช้กันมากกว่าโมเดลอื่น ๆ เนื่องจากมีข้อดีดังนี้

  • 1) ผลงานที่ได้จากการพัฒนาระบบงานสูงสุด (Productivity สูงมาก)
  • 2) โครงสร้างข้อมูลเรียบง่าย ทำให้ง่ายต่อการใช้งานและการเขียนโปรแกรม
  • 3) ภาษาที่ใช้เหมาะสม เป็นภาษาที่เรียกว่า “relational complete language” เป็น concept ของ set theory เช่น ภาษา SQL, QBE เป็นต้น