SQLite - มุมมอง

มุมมองไม่มีอะไรมากไปกว่าคำสั่ง SQLite ที่เก็บไว้ในฐานข้อมูลด้วยชื่อที่เกี่ยวข้อง เป็นองค์ประกอบของตารางในรูปแบบของแบบสอบถาม SQLite ที่กำหนดไว้ล่วงหน้า

มุมมองสามารถมีแถวทั้งหมดของตารางหรือแถวที่เลือกจากตารางอย่างน้อยหนึ่งตาราง สามารถสร้างมุมมองได้จากตารางเดียวหรือหลายตารางซึ่งขึ้นอยู่กับคิวรี SQLite ที่เขียนเพื่อสร้างมุมมอง

มุมมองซึ่งเป็นตารางเสมือนจริงอนุญาตให้ผู้ใช้ -

  • จัดโครงสร้างข้อมูลในลักษณะที่ผู้ใช้หรือคลาสของผู้ใช้พบว่าเป็นธรรมชาติหรือใช้งานง่าย

  • จำกัด การเข้าถึงข้อมูลเพื่อให้ผู้ใช้เห็นเฉพาะข้อมูลที่ จำกัด แทนที่จะเป็นตารางทั้งหมด

  • สรุปข้อมูลจากตารางต่างๆซึ่งสามารถใช้ในการสร้างรายงาน

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

การสร้างมุมมอง

มุมมอง SQLite ถูกสร้างขึ้นโดยใช้ไฟล์ CREATE VIEWคำให้การ. มุมมอง SQLite สามารถสร้างจากตารางเดียวหลายตารางหรือมุมมองอื่น

ต่อไปนี้เป็นไวยากรณ์ CREATE VIEW พื้นฐาน

CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];

คุณสามารถรวมหลายตารางในคำสั่ง SELECT ของคุณในลักษณะเดียวกันกับที่คุณใช้ในแบบสอบถาม SQL SELECT ปกติ หากมีคีย์เวิร์ด TEMP หรือ TEMPORARY ที่เป็นทางเลือกมุมมองจะถูกสร้างขึ้นในฐานข้อมูลชั่วคราว

ตัวอย่าง

พิจารณาตารางCOMPANY ที่มีบันทึกต่อไปนี้ -

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

ต่อไปนี้เป็นตัวอย่างในการสร้างมุมมองจากตาราง COMPANY มุมมองนี้จะใช้เพื่อให้มีคอลัมน์เพียงไม่กี่คอลัมน์จากตาราง COMPANY

sqlite> CREATE VIEW COMPANY_VIEW AS
SELECT ID, NAME, AGE
FROM  COMPANY;

ตอนนี้คุณสามารถสืบค้น COMPANY_VIEW ในลักษณะเดียวกันกับที่คุณค้นหาตารางจริง ต่อไปนี้เป็นตัวอย่าง -

sqlite> SELECT * FROM COMPANY_VIEW;

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้

ID          NAME        AGE
----------  ----------  ----------
1           Paul        32
2           Allen       25
3           Teddy       23
4           Mark        25
5           David       27
6           Kim         22
7           James       24

การลดมุมมอง

ในการวางมุมมองเพียงใช้คำสั่ง DROP VIEW กับ view_name. ไวยากรณ์ DROP VIEW พื้นฐานมีดังนี้ -

sqlite> DROP VIEW view_name;

คำสั่งต่อไปนี้จะลบมุมมอง COMPANY_VIEW ซึ่งเราสร้างไว้ในส่วนสุดท้าย

sqlite> DROP VIEW COMPANY_VIEW;