Back to Home

DataBase System

Lesson123456791011131415

Lesson 12 : Database Sucurity



Lesson Plan
Section No.
Section 1
Section 2
Section 3
Test
PDF file
PPT File


<<Prev pageCourse MapNext page>>

Print content of this page
Save content of this page

 

การปรับปรุงวิว(View)

การปรับปรุงแก้ไขวิวได้แก่ การเพิ่มการปรับปรุง และการลบ(INSERT,UPDATE,DELETE) จะมีผลกระทบต่อค่าในตารางที่เป็นฐานข้อมูลของวิว วิวเป็นตารางที่เกิดจากการผลลัพธ์ของการสอบถามข้อมูล วิวทุกวิวไม่สามารถปรับปรุงแก้ไขได้ทั้งหมด วิวที่สามารถปรับปรุงแก้ไขข้อมูลโดยผ่านทางวิวได้ ได้แก่ วิวทางระดับ วิวทางดิ่ง วิวทางระดับและทางดิ่ง ส่วนวิวกลุ่มนั้นไม่สามารถปรับปรุงข้อมูลผ่านวิวได้ สำหรับวิวร่วม ถ้าเชื่อมวิวกันด้วยคีย์หลักของตารางก็สามารถปรับปรุงข้อมูลได้

1.การเพิ่มแถวในวิว

ถ้าต้องการเพิ่มแถวลงวิว vhardware-info โดยใช้คำสั่งต่อไปนี้

INSERT INTO vhardware–info

VALUES (“12345” , “P6” , 48);

ผลจากคำสั่ง INSERT ข้างต้น อาจได้ผล 2 แนวทาง คือ ระบบจัดการฐานข้อมูลปฏิเสธการเพิ่มข้อมูล หรือ ระบบจัดการฐานข้อมูลอนุญาตให้เพิ่มข้อมูลได้ ซึ่งถ้าอนุญาตก็จะเพิ่มแถวข้อมูลลงในตาราง dhardware มีค่าเป็น (“12345” , “P6” , 48 , null) ค่าในคอลัมน์สุดท้ายเป็น null เพราะค่าสุดท้ายไม่ได้กำหนด (แต่ถ้าในตารางกำหนดค่า default ไว้ ค่าในคอลัมน์สุดท้ายก็จะใช้ค่า default) ดังนั้น ผลจากคำสั่ง INSERT ข้างต้นจะได้ข้อมูลในตาราง dhardware และวิว vhardware-info ดังแสดงในตารางที่ 12.10 และ ตารางที่ 12.11

EQUIP-SERIAL

CPU

MEMORY

HARDDISK

12222

P5

24

40

12223

P5

24

50

12345

P6

48

Null

ตารางที่ 12.10 แสดงข้อมูลในตาราง dhardware หลังจากเพิ่มข้อมูลด้วยคำสั่งในวิว

EQUIP-SERIAL

CPU

MEMORY

12222

P5

24

12223

P5

24

12345

P6

48

ตารางที่ 12.11 แสดงข้อมูลในวิว vhardware-info

ในการเพิ่มข้อมูลเข้าไปในวิวจะต้องระวังว่าถ้าเป็นการเพิ่มค่าคีย์หลักต้องมีค่าไม่ซ้ำ มิฉะนั้นจะต้องเพิ่มคอลัมน์ ประกอบให้เป็นคีย์ หรือสร้างคอลัมน์ใหม่ ที่มีค่าเป็นลำดับแถว (row-no) ขึ้นเป็นคีย์

2.การลบค่าในวิว

ถ้าต้องการลบตาราง dhardware ภายใต้ข้อจำกัดของกฎควบคุมความถูกต้องของโครงสร้างข้อมูล โดยใช้คำสั่งต่อไปนี้

DROP TABLE dhardware RESTRICT ;

ผลก็คือ ถ้าในฐานข้อมูลไม่มีวิว vhardware-info ระบบจัดการฐานข้อมูลจึงจะยอมลบตาราง hardware พร้อมข้อมูลทั้งหมด แต่ถ้าในฐานข้อมูลมีวิว hardware-info ระบบจัดการฐานข้อมูลก็จะไม่ยอมลบตาราง hardware ให้เลย แต่ถ้าใช้คำสั่งต่อไปนี้

DROP TABLE dhardware CASCADE ;

ผลก็คือ ระบบจัดการฐานข้อมูลจะลบตาราง dhardware ให้โดยไม่สนใจว่าจะมีวิวที่สัมพันธ์กับตารางนี้หรือไม่ และจะลบวิวทั้งหมดที่เกี่ยวข้องด้วย

 

 

Last Updated: 12/13/2001 11:20:53 AM
© โครงการเครือข่ายสารสนเทศเพื่อพัฒนาการศึกษา ทบวงมหาวิทยาลัย