แบบจำลองข้อมูลเชิงสัมพันธ์
แบบจำลองข้อมูลเชิงสัมพันธ์นำเสนอข้อมูลทั้งหมดในรูปของความสัมพันธ์ — ชุดของทูเพิลที่อยู่เหนือแอตทริบิวต์ที่มีชื่อ — และใช้การจัดการข้อมูลบนการดำเนินการจากทฤษฎีเซตและตรรกะอันดับหนึ่ง เพื่อให้เกิดความเป็นอิสระระหว่างมุมมองเชิงตรรกะของข้อมูลกับการจัดเก็บทางกายภาพ
Definition
ในแบบจำลองเชิงสัมพันธ์ ความสัมพันธ์คือเซตของทูเพิล โดยแต่ละทูเพิลเป็นการแมปจากเซตของแอตทริบิวต์ที่กำหนดไปยังค่าที่ดึงมาจากโดเมนของแอตทริบิวต์เหล่านั้น; ฐานข้อมูลเชิงสัมพันธ์คือชุดสะสมของความสัมพันธ์ดังกล่าวที่อยู่ภายใต้ข้อจำกัดความสมบูรณ์
Scope
หัวข้อนี้ครอบคลุมส่วนโครงสร้างของแบบจำลองเชิงสัมพันธ์: ความสัมพันธ์, ทูเพิล, แอตทริบิวต์และโดเมน; สคีมาและอินสแตนซ์; คีย์ผู้สมัคร, คีย์หลัก และคีย์นอก; และข้อจำกัดความสมบูรณ์ของเอนทิตีและความสมบูรณ์ของการอ้างอิง โดยถือว่าความสัมพันธ์มีเซตซีแมนติกและมีอาริตีที่คงที่ และอธิบายว่าความเป็นอิสระของข้อมูลช่วยให้แอปพลิเคชันเป็นอิสระจากรายละเอียดการจัดเก็บได้อย่างไร หัวข้อนี้ไม่รวมภาษาคิวรีที่สร้างขึ้นบนแบบจำลอง (ซึ่งครอบคลุมภายใต้ SQL และพีชคณิตเชิงสัมพันธ์) และระเบียบวินัยการออกแบบของการทำให้เป็นมาตรฐาน
Core questions
- องค์ประกอบโครงสร้างของความสัมพันธ์มีอะไรบ้าง: แอตทริบิวต์, โดเมน, ทูเพิล และอาริตี?
- คีย์ผู้สมัคร, คีย์หลัก และคีย์นอก ระบุและเชื่อมโยงทูเพิลได้อย่างไร?
- ความสมบูรณ์ของเอนทิตีและความสมบูรณ์ของการอ้างอิงรับประกันอะไรบ้าง?
- แบบจำลองนี้บรรลุความเป็นอิสระของข้อมูลเชิงตรรกะและทางกายภาพได้อย่างไร?
- เหตุใดความสัมพันธ์จึงถูกกำหนดให้เป็นเซตแทนที่จะเป็นรายการทูเพิลที่เรียงลำดับ?
Key concepts
- ความสัมพันธ์, ทูเพิล, แอตทริบิวต์, โดเมน
- สคีมาและความสัมพันธ์
- คีย์ผู้สมัครและคีย์หลัก
- คีย์นอก
- ความสมบูรณ์ของเอนทิตี
- ความสมบูรณ์ของการอ้างอิง
- ความเป็นอิสระของข้อมูลเชิงตรรกะและทางกายภาพ
- ค่าว่าง (null values)
Key theories
- ความสัมพันธ์ในฐานะเซตของทูเพิล
- ความสัมพันธ์คือเซตย่อยของผลคูณคาร์ทีเซียนของโดเมนแอตทริบิวต์; เนื่องจากเป็นเซต ทูเพิลจึงไม่มีลำดับและไม่มีรายการซ้ำ และแบบจำลองนี้ได้รับพีชคณิตของการดำเนินการเซตมาใช้
- ความเป็นอิสระของข้อมูล
- ด้วยการอธิบายข้อมูลในรูปของความสัมพันธ์และข้อจำกัดเท่านั้น แบบจำลองนี้จะแยกสคีมาเชิงตรรกะออกจากการจัดเก็บทางกายภาพและเส้นทางการเข้าถึง ดังนั้นการแสดงข้อมูลทางกายภาพจึงสามารถเปลี่ยนแปลงได้โดยไม่ต้องเขียนแอปพลิเคชันใหม่
- ข้อจำกัดความสมบูรณ์
- ความสมบูรณ์ของเอนทิตีห้ามค่าคีย์หลักที่เป็นค่าว่าง และความสมบูรณ์ของการอ้างอิงกำหนดให้ค่าคีย์นอกทุกค่าต้องตรงกับคีย์หลักที่มีอยู่ เพื่อให้มั่นใจว่าความสัมพันธ์ระหว่างความสัมพันธ์ยังคงสอดคล้องกัน
Clinical relevance
แบบจำลองเชิงสัมพันธ์เป็นพื้นฐานของระบบฐานข้อมูลประเภทที่โดดเด่นซึ่งใช้ในธุรกิจ, การเงิน, รัฐบาล และเว็บ; การแยกโครงสร้างเชิงตรรกะออกจากการจัดเก็บทางกายภาพอย่างชัดเจนเป็นเหตุผลว่าทำไมฐานข้อมูลเชิงสัมพันธ์จึงยังคงเป็นตัวเลือกเริ่มต้นสำหรับข้อมูลที่มีโครงสร้างและข้อมูลธุรกรรมมานานครึ่งศตวรรษ
History
E. F. Codd ได้เสนอแบบจำลองเชิงสัมพันธ์ในปี 1970 ที่ IBM โดยโต้แย้งแบบจำลองลำดับชั้นและเครือข่ายที่มีอยู่ซึ่งการสอบถามข้อมูลผูกติดกับการนำทางทางกายภาพ ระบบต้นแบบ System R (IBM) และ Ingres (Berkeley) ได้แสดงให้เห็นถึงความเป็นไปได้ในทางปฏิบัติในช่วงกลางทศวรรษ 1970 และ Codd ได้รับรางวัล Turing Award สำหรับผลงานนี้ในภายหลัง
Key figures
- Edgar F. Codd
- Jeffrey D. Ullman
Related topics
Seminal works
- codd1970
- silberschatz2019
Frequently asked questions
- เหตุใดความสัมพันธ์จึงถูกกำหนดให้เป็นเซต โดยไม่มีทูเพิลซ้ำกัน?
- การกำหนดความสัมพันธ์เป็นเซตทำให้แบบจำลองมีรากฐานทางคณิตศาสตร์ที่ชัดเจน และหมายความว่าเอกลักษณ์ของทูเพิลถูกกำหนดอย่างสมบูรณ์โดยค่าแอตทริบิวต์บวกกับข้อจำกัดคีย์ ในทางปฏิบัติ SQL ผ่อนปรนสิ่งนี้ให้เป็นซีแมนติกแบบมัลติเซต (ถุง) ซึ่งอนุญาตให้มีแถวซ้ำกันได้ เว้นแต่คีย์หรือ DISTINCT จะบังคับให้เป็นเอกลักษณ์
- ความสมบูรณ์ของการอ้างอิงป้องกันอะไรได้บ้าง?
- ป้องกันการอ้างอิงที่ค้างอยู่: คีย์นอกในความสัมพันธ์หนึ่งต้องเป็นค่าว่างหรือไม่ก็ต้องตรงกับค่าคีย์หลักที่มีอยู่ในความสัมพันธ์ที่อ้างอิง ดังนั้นคุณจึงไม่สามารถบันทึกคำสั่งซื้อสำหรับลูกค้าที่ไม่มีอยู่จริงได้