ข้ามไปเนื้อหา

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

จากวิกิพีเดีย สารานุกรมเสรี

ฐานข้อมูลเชิงสัมพันธ์ (อังกฤษ: Relational database; ตัวย่อ RDB) คือการจัดเก็บข้อมูลในลักษณะที่เป็นกลุ่มของข้อมูลที่มีความสัมพันธ์กัน ในฐานข้อมูลหนึ่ง ๆ สามารถที่จะมีตารางตั้งแต่ 1 ตารางเป็นต้นไป และในแต่ละตารางนั้นก็สามารถมีได้หลายคอลัมน์ (Column) หลายแถว (Row) ตัวอย่างเช่น เราต้องการเก็บข้อมูลพนักงาน ในตารางของข้อมูลพนักงานก็จะประกอบด้วยคอลัมน์ ที่อธิบายชื่อ นามสกุล ที่อยู่ เงินเดือน แผนกที่สังกัด เป็นต้น และในตารางนั้น ก็สามารถที่จะมีข้อมูลพนักงานได้มากกว่า 1 คน (Row) และตารางข้อมูลพนักงานนั้นอาจจะมีความสัมพันธ์กับตารางอื่น เช่น ตารางที่เก็บชื่อและจำนวนบุตรของพนักงาน

ฐานข้อมูลเชิงสัมพันธ์ถูกออกแบบมาเพื่อลดความซ้ำซ้อนของการเก็บข้อมูล และสามารถเรียกใช้ข้อมูลได้อย่างมีประสิทธิภาพ โดยมีหลักดังนี้

  1. ตารางจะต้องมีชื่อไม่ซ้ำกัน
  2. แต่ละฟิลด์จะบรรจุประเภทข้อมูลเพียงชนิดเดียวเท่านั้นแน่นอน
  3. ข้อมูลในแต่ละเรคอร์ดจะต้องไม่ซ้ำกัน

นอกจากนี้แต่ละตารางยังสามารถเริยกได้อีกอย่างว่ารีเลชัน (Relation) แถวแต่ละแถวภายในตารางเรียกว่าทูเปิล (Tuple) และคอลัมน์เรียกว่าแอททริบิวต์ (Attribute)

จุดเด่นของข้อมูลเชิงสัมพันธ์[แก้]

  1. ง่ายต่อการเรียนรู้ และการนำไปใช้งาน ทำให้เห็นภาพข้อมูลชัดเจน
  2. ภาษาที่ใช้จัดการข้อมูลเป็นแบบซีเควล ซึ่งมีประสิทธิภาพสูงเข้าใจง่าย
  3. การออกแบบระบบมีทฤษฎีรองรับ สามารถลดความซ้ำซ้อนของข้อมูลได้

กฎที่เกี่ยวข้องกับคีย์ในฐานข้อมูลเชิงสัมพันธ์[แก้]

  1. กฎความบูรณภาพของเอนทิตี้ (The Entity Intergrity Rule): กฎนี้ระบุไว้ว่าแอททริบิวต์ใดที่เป็นคีย์หลัก ข้อมูลในแอททริบิวต์นั้นจะเป็นค่าว่าง(Null) ไม่ได้ ความหมายของการเป็นค่าว่างไม่ได้(Not Null) หมายความถึง ข้อมูลของแอททริบิวต์ที่เป็นคีย์หลักจะไม่ทราบค่าที่แน่นอนหรือไม่มีค่าไม่ได้
  2. กฎความบูรณภาพของการอ้างอิง (The Referential IntegrityRule): การอ้างอิงข้อมูลระหว่างรีเลชั่นในฐานข้อมูลเชิงสัมพันธ์จะใช้คีย์นอกของรีเลชั่นหนึ่งไปตรวจสอบกับค่าของแอททริบิวต์ที่เป็นคีย์หลักของอีกรีเลชั่นหนึ่งเพื่อเรียกดูข้อมูลอื่นๆที่เกี่ยวข้องหรือค่าของคีย์นอกจะต้องอ้างอิงให้ตรงกับค่าของคีย์หลักได้จึงจะสามารถเชื่อมโยงข้อมูลระหว่างสองรีเลชั่นได้สำหรับคีย์นอกจะมีค่าว่างได้หรือไม่ขึ้นอยู่กับกฎเกณฑ์การออกแบบฐานข้อมูล เช่น ในกรณีที่รีเลชั่นพนักงานมี Depno เป็นคีย์นอกอาจจะถูกระบุว่าต้องทราบค่าแต่ในกรณีพนักงานทดลองงานอาจยังไม่มีค่า Depno เพราะยังไม่ได้ถูกบรรจุในกรณีที่มีการลบหรือแก้ใขข้อมูลของแอททริบิวต์ที่เป็นคีย์หลักซึ่งมีคีย์นอกจากอีกรีเลชั่นหนึ่งอ้างอิงถึง จะทำการลบหรือแก้ใขข้อมูลได้หรือไม่ ขึ้นอยู่กับการออกแบบฐานข้อมูล ว่าได้ระบุให้แอททริบิวต์มีคุณสมบัติอย่างไร ซึ่งมีโอกาสเป็นไปได้ 4 ทางเลือก
  1. การลบหรือแก้ไขข้อมูลแบบมีข้อจำกัด (Restrict): การลบหรือแก้ไขข้อมูลจะกระทำได้ เมื่อข้อมูลของคีย์หลักในรีเลชั่นหนึ่งไม่มีข้อมูลที่ถูกอ้างอิง โดยคีย์นอกของอีกรีเลชั่นหนึ่งเช่น รหัสแผนก Depno ในรีเลชั่นDepจะถูกแก้ใขหรือลบทิ้งต่อเมื่อไม่มีพนักงานคนใดสังกัดอยู่ในแผนกนั้น
  2. การลบหรือแก้ไขข้อมูลแบบต่อเรียง (Cascade): การลบหรือการแก้ใขข้อมูล จะทำแบบเป็นลูกโซ่ คือ หากมีการแก้ไขหรือลบข้อมูลของคีย์หลักในรีเลชั่นหนึ่งระบบจะทำการลบหรือแก้ใขข้อมูลของคีย์นอกในอีกรีเลชั่นหนึ่งที่อ้างอิงถึงข้อมูลของคีย์หลักที่ถูกลบให้ด้วย เช่น ในกรณีที่ยกเลิกแผนก 9 ในEntityแผนก ข้อมูลของพนักงานที่อยู่แผนก 10 ในEntityพนักงานจะถูกลบออกไปด้วย
  3. การลบหรือแก้ไขข้อมูลโดยเปลี่ยนเป็นค่าว่าง (Nullify): การลบหรือแก้ใขข้อมูลจะทำได้เมื่อมีการเปลี่ยนค่าของคีย์นอกในข้อมูลที่ถูกอ้างอิงให้เป็นค่าว่างเสียก่อน เช่น พนักงานที่อยู่ในแผนกที่ 9 จะถูกเปลี่ยนค่าเป็นค่าว่างก่อนหลังจากนั้น การลบข้อมูลของแผนกที่มีรหัส 9 จะถูกลบทิ้งหรือแก้ไขทันที ภายใน Entity แผนก
  4. การลบหรือแก้ไขข้อมูลแบบใช้ค่าโดยปริยาย (Default): การลบหรือแก้ไขข้อมูลของคีย์หลัก สามารถทำได้โดยถ้าหากมีคีย์นอกที่อ้างอิงถึงคีย์หลักที่ถูกลบหรือแก้ไข ก็จะทำการปรับค่าของคีย์นอกนั้นโดยปริยาย (Default Value) ที่ถูกกำหนดขึ้นเช่น ในกรณีที่ยกเลิกแผนก 9 ใน Entity แผนก ข้อมูลของพนักงานที่อยู่แผนก 9 ใน Entity พนักงานจะถูกเปลี่ยนค่าเป็น 00 ซึ่งเป็นค่าโดยปริยาย ที่หมายความว่า ไม่ได้สังกัดแผนกใด

RDBMS[แก้]

The general structure of a relational database

คอนโนลี และ เบคค์ ให้นิยาม การจัดการฐานข้อมูล (DBMS) ไว้ว่า " Connolly and Begg define database management system (DBMS) as a "ระบบซอฟต์แวร์ที่ช่วยให้ผู้ใช้สามารถกำหนด สร้าง รักษา และควบคุมการเข้าถึงฐานข้อมูลได้"[1] RDBMS เป็นตัวช่วยของการเริ่มใช้ฐานข้อมูลเบื้องต้น (Underlying Database) เมื่อมันมีความเชื่อมโยงกัน

คำนิยามอื่น ๆ สำหรับ ระบบจัดการฐานข้อมูลเชิงสัมพันธ์ คือระบบจัดการฐานข้อมูล (DBMS) ที่อิงตาม แบบจำลองเชิงสัมพันธ์. ฐานข้อมูลส่วนใหญ่ที่ใช้อย่างแพร่หลายในปัจจุบันใช้โมเดลนี้[2]

RDBMS เป็นตัวเลือกทั่วไปสำหรับการจัดเก็บข้อมูลในฐานข้อมูลที่ใช้สำหรับบันทึกทางการเงิน ข้อมูลการผลิตและลอจิสติกส์ ข้อมูลบุคลากร และการใช้งานอื่นๆ นับตั้งแต่ทศวรรษ 1980 ฐานข้อมูลเชิงสัมพันธ์มักจะเข้ามาแทนที่ฐานข้อมูลแบบลำดับชั้นและฐานข้อมูลเครือข่ายแบบเดิม เนื่องจาก RDBMS ง่ายต่อการนำไปใช้และบริหารจัดการ อย่างไรก็ตาม ข้อมูลที่จัดเก็บเชิงสัมพันธ์ได้รับความท้าทายอย่างต่อเนื่องและไม่ประสบผลสำเร็จจากระบบการจัดการฐานข้อมูลเชิงวัตถุในทศวรรษปี 1980 และ 1990 (ซึ่งถูกนำมาใช้ในความพยายามที่จะจัดการกับสิ่งที่เรียกว่าความต้านทานเชิงวัตถุที่ไม่ตรงกันระหว่างฐานข้อมูลเชิงสัมพันธ์และโปรแกรมแอปพลิเคชันเชิงวัตถุ) เช่นเดียวกับระบบการจัดการฐานข้อมูล XML ในช่วงปี 1990[3] อย่างไรก็ตาม เนื่องจากเทคโนโลยีที่กว้างขวาง เช่น การขยายคลัสเตอร์คอมพิวเตอร์ในแนวนอน ฐานข้อมูล NoSQL จึงได้รับความนิยมเมื่อเร็ว ๆ นี้เป็นทางเลือกแทนฐานข้อมูล RDBMS[4]


อ้างอิง[แก้]

  1. Connolly, Thomas M.; Begg, Carolyn E. (2014). Database Systems – A Practical Approach to Design Implementation and Management (6th ed.). Pearson. p. 64. ISBN 978-1292061184.
  2. Pratt, Philip J.; Last, Mary Z. (2014-09-08). Concepts of Database Management (8 ed.). Course Technology. p. 29. ISBN 9781285427102.
  3. Feuerlich, George (21 April 2010). Dateso 10; Database Trends and Directions: Current Challenges and Opportunities (1st ed.). Prague, Sokolovsk: MATFYZPRESS. pp. 163–174. ISBN 978-80-7378-116-3.{{cite book}}: CS1 maint: date and year (ลิงก์)
  4. "NoSQL databases eat into the relational database market". 4 March 2015. สืบค้นเมื่อ 2018-03-14.