การสร้างวิวเพื่อใช้งานมีหลายลักษณะ ตัวอย่างที่เช่น วิวทางระดับ (horizontal views) วิวทางดิ่ง (vertical views) วิวทางระดับและทางดิ่ง (row/column subset views) วิวกลุ่ม (grouped views) และ วิวร่วม (joined views) สำหรับวิว 3 ลักษณะแรกได้แก่ วิวทางระดับ วิวทางดิ่ง วิวทางระดับและทางดิ่ง สามารถปรับปรุงข้อมูลผ่านวิวทั้ง 3 ลักษณะนี้ได้ แต่วิวกลุ่มไม่สามารถปรับปรุงข้อมูลผ่านวิวได้ สำหรับวิวร่วมถ้าเชื่อมวิวกันด้วยคีย์หลักของตารางก็สามารถปรับปรุงข้อมูลได้ ดังนี้
เป็นวิวที่เกิดจากการเลือกข้อมูลทุกคอลัมน์ เฉพาะบางแถว จากตารางข้อมูล ตาราง Demployer ที่แสดงในตารางที่ 12.3 ถ้าต้องการนำมาสร้างเป็นวิว Vemployee ซึ่งเป็นวิวทางระดับดังแสดงในตารางที่ 12. 4 จะใช้คำสั่งดังนี้
CREATE VIEW Vemployee AS SELECT*
FROM Demployee
WHERE SALARY = 18000;
EMP_ID |
NAME |
SURNAME |
SEX |
SALARY |
DEPT_ID |
1001 |
ธนา |
ดีเลิศ |
M |
15,000 |
003 |
1002 |
ศิรินุช |
รักเรียน |
F |
18,000 |
001 |
1003 |
ศิริชัย |
พลาสัย |
M |
16,000 |
003 |
1004 |
ฉวีวรรณ |
งานดี |
F |
18,000 |
002 |
1005 |
ประนอม |
ร่าเริง |
F |
18,000 |
001 |
ตารางที่ 12.3 ตาราง Demployee
EMP_ID |
NAME |
SURNAME |
SEX |
SALARY |
DEPT_ID |
1002 |
ศิรินุช |
รักเรียน |
F |
18,000 |
001 |
1004 |
ฉวีวรรณ |
งานดี |
F |
18,000 |
002 |
1005 |
ประนอม |
ร่าเริง |
F |
18,000 |
001 |
ตารางที่ 12. 4 วิว Vemployee
เป็นวิวที่เกิดจากการเลือกข้อมูลจากบางคอลัมน์ ทุกแถวของข้อมูล ของตารางข้อมูล วิวทางดิ่ง จากข้อมูลในตาราง Demployee ที่แสดงในตารางที่ 12.3 ถ้าต้องการนำมาสร้างเป็นวิว Vemployee เป็นวิวทางดิ่งมีข้อมูลดังแสดงในตารางที่ 12.5
CREATE VIEW Vemployee
AS SELECT EMP_ID, NAME, SURNAME, SALARY FROM Demployee;
EMP_ID |
NAME |
SURNAME |
SEX |
SALARY |
DEPT_ID |
1001 |
ธนา |
ดีเลิศ |
M |
15,000 |
003 |
1002 |
ศิรินุช |
รักเรียน |
F |
18,000 |
001 |
1003 |
ศิริชัย |
พลาสัย |
M |
16,000 |
003 |
1004 |
ฉวีวรรณ |
งานดี |
F |
18,000 |
002 |
1005 |
ประนอม |
ร่าเริง |
F |
18,000 |
001 |
ตารางDemployee
EMP_ID |
NAME |
SURNAME |
SALARY |
1001 |
ธนา |
ดีเลิศ |
15,000 |
1002 |
ศิรินุช |
รักเรียน |
18,000 |
1003 |
ศิริชัย |
พลาสัย |
16,000 |
1004 |
ฉวีวรรณ |
งานดี |
18,000 |
1005 |
ประนอม |
ร่าเริง |
18,000 |
ตารางที่ 12. 5 วิว Vemployee เป็นวิวทางดิ่งที่สร้างจากตาราง Demployee
เป็นวิวที่เกิดจากการเลือกข้อมูลจากบางแถวและบางคอลัมน์ของตารางข้อมูล วิวทางระดับและทางดิ่ง จากข้อมูลในตาราง Demployee ที่แสดงในตารางที่ 12.3 ถ้าต้องการนำมาสร้างเป็นวิว Vemployee เป็นวิวดิ่งมีข้อมูลดังแสดงในตารางที่ 12. 6 จะใช้คำสั่งดังนี้
CREATE VIEW Vemployee
AS SELECT EMP_ID, NAME, SURNAME, SALARY
FROM Demployee
WHERE SALARY =18,000;
EMP_ID |
NAME |
SURNAME |
SEX |
SALARY |
DEPT_ID |
1001 |
ธนา |
ดีเลิศ |
M |
15,000 |
003 |
1002 |
ศิรินุช |
รักเรียน |
F |
18,000 |
001 |
1003 |
ศิริชัย |
พลาสัย |
M |
16,000 |
003 |
1004 |
ฉวีวรรณ |
งานดี |
F |
18,000 |
002 |
1005 |
ประนอม |
ร่าเริง |
F |
18,000 |
001 |
EMP_ID |
NAME |
SURNAME |
SALARY |
1002 |
ศิรินุช |
รักเรียน |
18,000 |
1004 |
ฉวีวรรณ |
งานดี |
18,000 |
1005 |
ประนอม |
ร่าเริง |
18,000 |
ตารางที่ 12. 6 วิว Vemployee เป็นวิวทางระดับและดิ่ง
เป็นการเลือกข้อมูลโดยจัดให้เป็นกลุ่มๆ ดังนั้นจึงเลือกข้อมูลจากตารางข้อมูล ด้วยคำสั่งที่มีเงื่อนไข GROUP BY หรือ ORDER BY จากข้อมูลในตาราง Demployee ในตารางที่ ถ้าต้องการนำมาสร้างเป็นวิว Vemployee-count-by-salary เป็นวิวกลุ่มที่สรุปจำนวนของพนักงานที่มีเงินเดือนที่เท่ากัน ดังแสดงในตารางที่ 12. 7 จะใช้คำสั่งดังนี้
CREATE VIEW Vemployee_count_by_salary(SALARY,COUNT)
AS SELECT SALARY, COUNT(*)
FROM Demployee
GROUP BY SALARY ;
EMP_ID |
NAME |
SURNAME |
SEX |
SALARY |
DEPT_ID |
1001 |
ธนา |
ดีเลิศ |
M |
15,000 |
003 |
1002 |
ศิรินุช |
รักเรียน |
F |
18,000 |
001 |
1003 |
ศิริชัย |
พลาสัย |
M |
16,000 |
003 |
1004 |
ฉวีวรรณ |
งานดี |
F |
18,000 |
002 |
1005 |
ประนอม |
ร่าเริง |
F |
18,000 |
001 |
SALARY |
COUNT(*) |
15,000 |
1 |
18,000 |
3 |
16,000 |
1 |
ตารางที่ 12.7 วิว Vemployee_count_by_salary เป็นวิวแบบกลุ่ม
เป็นการเลือกข้อมูลจากหลายตารางข้อมูล หรือการเลือกข้อมูลผ่านหลายวิวก็ได้วิวร่วม จากข้อมูลในตาราง Demployee ที่แสดงในตารางที่12.3 และข้อมูลในตาราง Ddepatment ที่แสดงในตารางที่ 12.8 ถ้าต้องการนำมาสร้างเป็นวิว Vemployee_dep แบบร่วมเพื่อให้ได้ข้อมูลดังแสดงในตารางที่ 12.9 จะใช้คำสั่งดังนี้
CREATE VIEW Vemployee_dep AS
SELECT EMP_ID, NAME, SURNAME, SALARY, DEPTNAME
FROM Demployee, Ddepatment
WHERE DEPT_ID = 001
EMP_ID |
NAME |
SURNAME |
SEX |
SALARY |
DEPT_ID |
1001 |
ธนา |
ดีเลิศ |
M |
15,000 |
003 |
1002 |
ศิรินุช |
รักเรียน |
F |
18,000 |
001 |
1003 |
ศิริชัย |
พลาสัย |
M |
16,000 |
003 |
1004 |
ฉวีวรรณ |
งานดี |
F |
18,000 |
002 |
1005 |
ประนอม |
ร่าเริง |
F |
18,000 |
001 |
DEPT_ID |
DEPTNAME |
001 |
ฝ่ายลูกค้าสัมพันธ์ |
002 |
ฝ่ายบุคคล |
003 |
ฝ่ายการตลาด |
ตารางที่ 12. 8 ตาราง Ddepatment
EMP_ID |
NAME |
SURNAME |
SALARY |
DEPTNAME |
1002 |
ศิรินุช |
รักเรียน |
18,000 |
ฝ่ายลูกค้าสัมพันธ์ |
1005 |
ประนอม |
ร่าเริง |
18,000 |
ฝ่ายลูกค้าสัมพันธ์ |
ตารางที่ 12. 9 วิว Vemployee_dep เป็นวิวร่วม