ฐานข้อมูลเชิงสัมพันธ์ (อังกฤษ : Relational database ; ตัวย่อ RDB) คือการจัดเก็บข้อมูลในลักษณะที่เป็นกลุ่มของข้อมูล ที่มีความสัมพันธ์กัน ในฐานข้อมูล หนึ่ง ๆ สามารถที่จะมีตารางตั้งแต่ 1 ตารางเป็นต้นไป และในแต่ละตารางนั้นก็สามารถมีได้หลายคอลัมน์ (Column) หลายแถว (Row) ตัวอย่างเช่น เราต้องการเก็บข้อมูลพนักงาน ในตารางของข้อมูลพนักงานก็จะประกอบด้วยคอลัมน์ ที่อธิบายชื่อ นามสกุล ที่อยู่ เงินเดือน แผนกที่สังกัด เป็นต้น และในตารางนั้น ก็สามารถที่จะมีข้อมูลพนักงานได้มากกว่า 1 คน (Row) และตารางข้อมูลพนักงานนั้นอาจจะมีความสัมพันธ์กับตารางอื่น เช่น ตารางที่เก็บชื่อและจำนวนบุตรของพนักงาน
ฐานข้อมูลเชิงสัมพันธ์ถูกออกแบบมาเพื่อลดความซ้ำซ้อนของการเก็บข้อมูล และสามารถเรียกใช้ข้อมูลได้อย่างมีประสิทธิภาพ
โดยมีหลักดังนี้
ตารางจะต้องมีชื่อไม่ซ้ำกัน
แต่ละฟิลด์จะบรรจุประเภทข้อมูลเพียงชนิดเดียวเท่านั้นแน่นอน
ข้อมูลในแต่ละเรคอร์ดจะต้องไม่ซ้ำกัน
นอกจากนี้แต่ละตารางยังสามารถเริยกได้อีกอย่างว่ารีเลชัน (Relation) แถวแต่ละแถวภายในตารางเรียกว่าทูเปิล (Tuple) และคอลัมน์เรียกว่าแอททริบิวต์ (Attribute)
จุดเด่นของข้อมูลเชิงสัมพันธ์
ง่ายต่อการเรียนรู้ และการนำไปใช้งาน ทำให้เห็นภาพข้อมูลชัดเจน
ภาษาที่ใช้จัดการข้อมูลเป็นแบบซีเควล ซึ่งมีประสิทธิภาพสูงเข้าใจง่าย
การออกแบบระบบมีทฤษฎีรองรับ สามารถลดความซ้ำซ้อนของข้อมูลได้
กฎที่เกี่ยวข้องกับคีย์ในฐานข้อมูลเชิงสัมพันธ์
กฎความบูรณภาพของเอนทิตี้ (The Entity Intergrity Rule) : กฎนี้ระบุไว้ว่าแอททริบิวต์ใดที่เป็นคีย์หลัก ข้อมูลในแอททริบิวต์นั้นจะเป็นค่าว่าง(Null) ไม่ได้ ความหมายของการเป็นค่าว่างไม่ได้(Not Null) หมายความถึง ข้อมูลของแอททริบิวต์ที่เป็นคีย์หลักจะไม่ทราบค่าที่แน่นอนหรือไม่มีค่าไม่ได้
กฎความบูรณภาพของการอ้างอิง (The Referential IntegrityRule) : การอ้างอิงข้อมูลระหว่างรีเลชั่นในฐานข้อมูลเชิงสัมพันธ์จะใช้คีย์นอกของรีเลชั่นหนึ่งไปตรวจสอบกับค่าของแอททริบิวต์ที่เป็นคีย์หลักของอีกรีเลชั่นหนึ่งเพื่อเรียกดูข้อมูลอื่นๆที่เกี่ยวข้องหรือค่าของคีย์นอกจะต้องอ้างอิงให้ตรงกับค่าของคีย์หลักได้จึงจะสามารถเชื่อมโยงข้อมูลระหว่างสองรีเลชั่นได้สำหรับคีย์นอกจะมีค่าว่างได้หรือไม่ขึ้นอยู่กับกฎเกณฑ์การออกแบบฐานข้อมูล เช่น ในกรณีที่รีเลชั่นพนักงานมี Depno เป็นคีย์นอกอาจจะถูกระบุว่าต้องทราบค่าแต่ในกรณีพนักงานทดลองงานอาจยังไม่มีค่า Depno เพราะยังไม่ได้ถูกบรรจุในกรณีที่มีการลบหรือแก้ใขข้อมูลของแอททริบิวต์ที่เป็นคีย์หลักซึ่งมีคีย์นอกจากอีกรีเลชั่นหนึ่งอ้างอิงถึง จะทำการลบหรือแก้ใขข้อมูลได้หรือไม่ ขึ้นอยู่กับการออกแบบฐานข้อมูล ว่าได้ระบุให้แอททริบิวต์มีคุณสมบัติอย่างไร ซึ่งมีโอกาสเป็นไปได้ 4 ทางเลือก
การลบหรือแก้ไขข้อมูลแบบมีข้อจำกัด (Restrict) : การลบหรือแก้ไขข้อมูลจะกระทำได้ เมื่อข้อมูลของคีย์หลักในรีเลชั่นหนึ่งไม่มีข้อมูลที่ถูกอ้างอิง โดยคีย์นอกของอีกรีเลชั่นหนึ่งเช่น รหัสแผนก Depno ในรีเลชั่นDepจะถูกแก้ใขหรือลบทิ้งต่อเมื่อไม่มีพนักงานคนใดสังกัดอยู่ในแผนกนั้น
การลบหรือแก้ไขข้อมูลแบบต่อเรียง (Cascade) : การลบหรือการแก้ใขข้อมูล จะทำแบบเป็นลูกโซ่ คือ หากมีการแก้ไขหรือลบข้อมูลของคีย์หลักในรีเลชั่นหนึ่งระบบจะทำการลบหรือแก้ใขข้อมูลของคีย์นอกในอีกรีเลชั่นหนึ่งที่อ้างอิงถึงข้อมูลของคีย์หลักที่ถูกลบให้ด้วย เช่น ในกรณีที่ยกเลิกแผนก 9 ในEntityแผนก ข้อมูลของพนักงานที่อยู่แผนก 10 ในEntityพนักงานจะถูกลบออกไปด้วย
การลบหรือแก้ไขข้อมูลโดยเปลี่ยนเป็นค่าว่าง (Nullify) : การลบหรือแก้ใขข้อมูลจะทำได้เมื่อมีการเปลี่ยนค่าของคีย์นอกในข้อมูลที่ถูกอ้างอิงให้เป็นค่าว่างเสียก่อน เช่น พนักงานที่อยู่ในแผนกที่ 9 จะถูกเปลี่ยนค่าเป็นค่าว่างก่อนหลังจากนั้น การลบข้อมูลของแผนกที่มีรหัส 9 จะถูกลบทิ้งหรือแก้ไขทันที ภายใน Entity แผนก
การลบหรือแก้ไขข้อมูลแบบใช้ค่าโดยปริยาย (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]
อ้างอิง