อะไรคือความแตกต่างระหว่างการฉายภาพและการเลือก? ใช่ไหม:
- การฉายภาพ -> สำหรับการเลือกคอลัมน์ของตาราง และ
- การเลือก ---> เพื่อเลือกแถวของตาราง?
การฉายภาพและการเลือกมีการหั่นแนวตั้งและแนวนอนตามลำดับหรือไม่?
อะไรคือความแตกต่างระหว่างการฉายภาพและการเลือก? ใช่ไหม:
การฉายภาพและการเลือกมีการหั่นแนวตั้งและแนวนอนตามลำดับหรือไม่?
คำตอบ:
ตรง
การฉายภาพหมายถึงการเลือก คอลัมน์ (หรือนิพจน์) ที่แบบสอบถามจะส่งคืน
การเลือกหมายถึงแถวที่จะส่งคืน
ถ้าแบบสอบถามคือ
select a, b, c from foobar where x=3;
จากนั้น "a, b, c" คือส่วนของการฉายภาพโดยที่ x = 3 เป็นส่วนที่เลือก
เพียงแค่PROJECTIONเกี่ยวข้องกับการกำจัดหรือการเลือกคอลัมน์ในขณะที่SELECTIONเกี่ยวข้องกับการลบหรือการเลือกแถว
การฉายภาพ:สิ่งที่เคยพิมพ์ในประโยคเลือกเช่น 'รายการคอลัมน์' หรือ '*' หรือ 'นิพจน์' ที่อยู่ระหว่างการฉายภาพ
* การเลือก: * ประเภทของเงื่อนไขที่เราใช้กับคอลัมน์นั้นเช่นการรับบันทึกที่อยู่ภายใต้การเลือก
ตัวอย่างเช่น:
SELECT empno,ename,dno,job from Emp
WHERE job='CLERK';
ในข้อความค้นหาด้านบนคอลัมน์ "empno, ename, dno, job" ที่อยู่ภายใต้การฉาย "โดยที่ job = 'เสมียน'" อยู่ภายใต้การคัดเลือก
การคาดการณ์และการเลือกเป็นการดำเนินการสองชุดในพีชคณิตเชิงสัมพันธ์และมีการใช้งานจริงใน RDBMS (ระบบจัดการฐานข้อมูลเชิงสัมพันธ์)
ในทางปฏิบัติใช่ Projection หมายถึงการเลือกคอลัมน์เฉพาะ (แอตทริบิวต์) จากตารางและ Selection หมายถึงการกรองแถว (tuples) นอกจากนี้สำหรับตารางธรรมดาการฉายภาพและการเลือกสามารถเรียกได้ว่าเป็นการแบ่งส่วนหรือการกรองตามแนวตั้งและแนวนอน
Wikipedia ให้คำจำกัดความที่เป็นทางการมากขึ้นของสิ่งเหล่านี้พร้อมตัวอย่างและสามารถอ่านเพิ่มเติมเกี่ยวกับพีชคณิตเชิงสัมพันธ์ได้:
SELECT
ประโยคจริงทำการฉาย (ไม่เลือก) และมันเป็นWHERE
ประโยคที่จริงจะดำเนินการคัดเลือก