เกี่ยวกับอัลกอริทึมการลดของ Codd


12

อัลกอริธึมของ Coddแปลงนิพจน์ในแคลคูลัสเชิงสัมพันธ์ tuple เป็นพีชคณิตเชิงสัมพันธ์

  1. มีการใช้อัลกอริทึมแบบมาตรฐานหรือไม่?
  2. อัลกอริทึมนี้ถูกใช้งานทุกที่หรือไม่? (ดูเหมือนว่าอุตสาหกรรมต้องการเพียง SQL และตัวแปรเท่านั้นฉันไม่แน่ใจเกี่ยวกับทฤษฎีฐานข้อมูลในสถาบันการศึกษา)
  3. ความซับซ้อนของการลดคืออะไร?

สิ่งนี้ถูกโพสต์บนSOเมื่อกว่าปีที่แล้ว แต่มันไม่ได้รับคำตอบที่ดี

คำตอบ:


8

การลดลงนี้เป็นเทคนิคการพิสูจน์เชิงสร้างสรรค์เพื่อแสดงให้เห็นว่าเซตย่อย (ชื่อปลอดภัย) แคลคูลัส Tuple Relational (TRC) มีความหมายน้อยกว่า Relational Algebra (RA) อีกวิธีหนึ่งก็จริงเช่นกัน Safe-TRC และ RA มีพลังที่เทียบเท่า ดูทฤษฎีบท 5.3.10เช่น ข้อ จำกัด "ความปลอดภัย" ทางวากยสัมพันธ์ช่วยให้มั่นใจได้ว่าคุณสมบัติอิสระของโดเมนแคลคูลัสและจำเป็น

ใน R-DBMS สามารถมองเห็น SQL เป็นภาษาคอนกรีต (ประกาศ) สำหรับ TRC สำเนา RA เป็นแผนขั้นตอน (ลำดับของการดำเนินการ) ซึ่งมีการรวบรวมนิพจน์ SQL ดังนั้นการแปลงเป็นคำอธิบายอย่างเป็นทางการของกระบวนการรวบรวม โปรดทราบว่า SQL แนะนำส่วนขยายเช่น DISTINCT, ORDER BY, GROUP BY ซึ่งอยู่นอกขอบเขตของทฤษฎี TRC และ RA อย่างชัดเจน

ฉันไม่ทราบความซับซ้อนเชิงทฤษฎีที่แม่นยำของการแปลง แต่ชัดเจนว่าต้องมี "ราคาถูก" โฟตอน Kolaitisระบุว่ามันเป็นเส้นตรง

ฉันไม่ได้ตระหนักถึงการใช้งานการพิสูจน์แนวคิดของอัลกอริทึมนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.