Table, View, Synonym
- Table: ที่เก็บข้อมูลจริง (Physical Entity) อยู่ใน Database จริง
- View: ไม่ใช่ Physical Representation Pre-compiled -> Retrieval เร็วกว่า, Secure Access Mechanism
- Synonym: ชื่อทางเลือก (Alternate Name) สำหรับ Table, View, Sequence, Program Unit
ตัวอย่าง
CREATE TABLE employee ( empID INTEGER PRIMARY KEY, name VARCHAR2(30), skill VARCHAR2(30), salary NUMBER(20), DOB DATETIME );
สถานการณ์: ไม่ให้กลุ่ม User เห็น Salary -> สร้าง View
CREATE VIEW emp_some_details AS SELECT empID, name, skill, DOB FROM employee;
โปรแกรมตัวอย่าง
CREATE TABLE employee (...); INSERT INTO employee VALUES(100,'AAA','JAVA',30000,'2020-08-20'); INSERT INTO employee VALUES(101,'BBB','PHP',35000,'2020-07-02'); SELECT * FROM employee; CREATE VIEW salary_hide AS SELECT empID,name,skill,DOB FROM employee; SELECT * FROM salary_hide;
Output
100|AAA|JAVA|30000|1992 101|BBB|PHP|35000|2011 100|AAA|JAVA|1992 101|BBB|PHP|2011
ข้อดีของ View
- เข้าถึงข้อมูลจาก Table, Multiple Tables, View, Multiple Views, Combinations
- เชื่อมต่อข้อมูล Base Table(s)
- Secure Data Accessibility Mechanism
จัดการ View
-- Update View CREATE OR REPLACE VIEW view-name AS SELECT column1, column2, ... FROM table_name WHERE condition; -- Drop View DROP VIEW view-name;
Synonym
- Alternate Name สำหรับ Table/View
- ซ่อนชื่อจริงและ Owner
- ขยายการเข้าถึง Table โดย Public Access ผ่าน Synonym