Teradata - มุมมอง
มุมมองคือวัตถุฐานข้อมูลที่สร้างขึ้นโดยแบบสอบถาม มุมมองสามารถสร้างขึ้นโดยใช้ตารางเดียวหรือหลายตารางโดยการเข้าร่วม คำจำกัดความของพวกเขาจะถูกเก็บไว้อย่างถาวรในพจนานุกรมข้อมูล แต่จะไม่จัดเก็บสำเนาของข้อมูล ข้อมูลสำหรับมุมมองถูกสร้างขึ้นแบบไดนามิก
มุมมองอาจมีชุดย่อยของแถวของตารางหรือส่วนย่อยของคอลัมน์ของตาราง
สร้างมุมมอง
มุมมองถูกสร้างขึ้นโดยใช้คำสั่ง CREATE VIEW
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์สำหรับการสร้างมุมมอง
CREATE/REPLACE VIEW <viewname>
AS
<select query>;
ตัวอย่าง
พิจารณาตารางพนักงานต่อไปนี้
พนักงาน | ชื่อจริง | นามสกุล | วันที่เกิด |
---|---|---|---|
101 | ไมค์ | เจมส์ | 1/5/1980 |
104 | อเล็กซ์ | สจวร์ต | 11/6/1984 |
102 | โรเบิร์ต | วิลเลียมส์ | 5/3/1983 |
105 | โรเบิร์ต | เจมส์ | 1/12/1984 |
103 | ปีเตอร์ | พอล | 1/1/2553 |
ตัวอย่างต่อไปนี้สร้างมุมมองบนตารางพนักงาน
CREATE VIEW Employee_View
AS
SELECT
EmployeeNo,
FirstName,
LastName,
FROM
Employee;
การใช้มุมมอง
คุณสามารถใช้คำสั่ง SELECT ปกติเพื่อดึงข้อมูลจาก Views
ตัวอย่าง
ตัวอย่างต่อไปนี้ดึงข้อมูลจาก Employee_View;
SELECT EmployeeNo, FirstName, LastName FROM Employee_View;
เมื่อดำเนินการค้นหาข้างต้นจะสร้างผลลัพธ์ต่อไปนี้
*** Query completed. 5 rows found. 3 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName LastName
----------- ------------------------------ ---------------------------
101 Mike James
104 Alex Stuart
102 Robert Williams
105 Robert James
103 Peter Paul
การแก้ไขมุมมอง
มุมมองที่มีอยู่สามารถแก้ไขได้โดยใช้คำสั่ง REPLACE VIEW
ต่อไปนี้เป็นไวยากรณ์ในการแก้ไขมุมมอง
REPLACE VIEW <viewname>
AS
<select query>;
ตัวอย่าง
ตัวอย่างต่อไปนี้แก้ไขมุมมอง Employee_View สำหรับการเพิ่มคอลัมน์เพิ่มเติม
REPLACE VIEW Employee_View
AS
SELECT
EmployeeNo,
FirstName,
BirthDate,
JoinedDate
DepartmentNo
FROM
Employee;
Drop View
มุมมองที่มีอยู่สามารถทิ้งได้โดยใช้คำสั่ง DROP VIEW
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์ของ DROP VIEW
DROP VIEW <viewname>;
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างการดรอปมุมมอง Employee_View
DROP VIEW Employee_View;
ข้อดีของมุมมอง
มุมมองให้ระดับความปลอดภัยเพิ่มเติมโดยการ จำกัด แถวหรือคอลัมน์ของตาราง
ผู้ใช้สามารถให้สิทธิ์เข้าถึงเฉพาะมุมมองแทนตารางฐาน
ลดความยุ่งยากในการใช้ตารางหลายตารางโดยการรวมตารางล่วงหน้าโดยใช้ Views