Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ความแตกต่างระหว่าง Table, View และ Synonym ใน SQL

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