![]() |
|
![]() |
|
![]() |
การปรับปรุงวิว(View)การปรับปรุงแก้ไขวิวได้แก่ การเพิ่มการปรับปรุง และการลบ(INSERT,UPDATE,DELETE) จะมีผลกระทบต่อค่าในตารางที่เป็นฐานข้อมูลของวิว วิวเป็นตารางที่เกิดจากการผลลัพธ์ของการสอบถามข้อมูล วิวทุกวิวไม่สามารถปรับปรุงแก้ไขได้ทั้งหมด วิวที่สามารถปรับปรุงแก้ไขข้อมูลโดยผ่านทางวิวได้ ได้แก่ วิวทางระดับ วิวทางดิ่ง วิวทางระดับและทางดิ่ง ส่วนวิวกลุ่มนั้นไม่สามารถปรับปรุงข้อมูลผ่านวิวได้ สำหรับวิวร่วม ถ้าเชื่อมวิวกันด้วยคีย์หลักของตารางก็สามารถปรับปรุงข้อมูลได้ 1.การเพิ่มแถวในวิวถ้าต้องการเพิ่มแถวลงวิว vhardware-info โดยใช้คำสั่งต่อไปนี้ INSERT INTO vhardwareinfo VALUES (12345 , P6 , 48); ผลจากคำสั่ง INSERT ข้างต้น อาจได้ผล 2 แนวทาง คือ ระบบจัดการฐานข้อมูลปฏิเสธการเพิ่มข้อมูล หรือ ระบบจัดการฐานข้อมูลอนุญาตให้เพิ่มข้อมูลได้ ซึ่งถ้าอนุญาตก็จะเพิ่มแถวข้อมูลลงในตาราง dhardware มีค่าเป็น (12345 , P6 , 48 , null) ค่าในคอลัมน์สุดท้ายเป็น null เพราะค่าสุดท้ายไม่ได้กำหนด (แต่ถ้าในตารางกำหนดค่า default ไว้ ค่าในคอลัมน์สุดท้ายก็จะใช้ค่า default) ดังนั้น ผลจากคำสั่ง INSERT ข้างต้นจะได้ข้อมูลในตาราง dhardware และวิว vhardware-info ดังแสดงในตารางที่ 12.10 และ ตารางที่ 12.11
ตารางที่ 12.10 แสดงข้อมูลในตาราง dhardware หลังจากเพิ่มข้อมูลด้วยคำสั่งในวิว
ตารางที่ 12.11 แสดงข้อมูลในวิว vhardware-info ในการเพิ่มข้อมูลเข้าไปในวิวจะต้องระวังว่าถ้าเป็นการเพิ่มค่าคีย์หลักต้องมีค่าไม่ซ้ำ มิฉะนั้นจะต้องเพิ่มคอลัมน์ ประกอบให้เป็นคีย์ หรือสร้างคอลัมน์ใหม่ ที่มีค่าเป็นลำดับแถว (row-no) ขึ้นเป็นคีย์ 2.การลบค่าในวิวถ้าต้องการลบตาราง dhardware ภายใต้ข้อจำกัดของกฎควบคุมความถูกต้องของโครงสร้างข้อมูล โดยใช้คำสั่งต่อไปนี้ DROP TABLE dhardware RESTRICT ; ผลก็คือ ถ้าในฐานข้อมูลไม่มีวิว vhardware-info ระบบจัดการฐานข้อมูลจึงจะยอมลบตาราง hardware พร้อมข้อมูลทั้งหมด แต่ถ้าในฐานข้อมูลมีวิว hardware-info ระบบจัดการฐานข้อมูลก็จะไม่ยอมลบตาราง hardware ให้เลย แต่ถ้าใช้คำสั่งต่อไปนี้ DROP TABLE dhardware CASCADE ; ผลก็คือ ระบบจัดการฐานข้อมูลจะลบตาราง dhardware ให้โดยไม่สนใจว่าจะมีวิวที่สัมพันธ์กับตารางนี้หรือไม่ และจะลบวิวทั้งหมดที่เกี่ยวข้องด้วย
|
||||||||||||||||||||||||||||||
|
|