Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Giải thích khác biệt giữa Table, View và Synonym trong SQL

Hiểu table, view và synonym trong SQL.

Table, View và Synonym

Bảng (Table) là kho dữ liệu, là thực thể vật lý (physical entity). Bảng tồn tại vật lý trong database.

View không phải phần của biểu diễn vật lý database. Được pre-compiled để truy xuất dữ liệu nhanh hơn và cung cấp cơ chế truy cập an toàn.

Synonym là tên thay thế gán cho bảng, view, sequence hoặc đơn vị chương trình.

Ví dụ

Tạo bảng employee:

CREATE TABLE employee (
  empID INTEGER PRIMARY KEY,
  name VARCHAR2(30),
  skill VARCHAR2(30),
  salary NUMBER(20),
  DOB DATETIME
);

Giả sử không muốn hiển thị salary cho nhóm user, tạo view hiển thị thông tin cho phép:

CREATE VIEW emp_some_details AS 
SELECT empID, name, skill, DOB FROM employee;

Chương trình

Chương trình tạo bảng, view, synonym SQL cho ví dụ trên:

CREATE TABLE employee (empID INTEGER PRIMARY KEY, name VARCHAR2(30), skill VARCHAR2(30), salary NUMBER(20), DOB DATETIME);
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;

Kết quả

100|AAA|JAVA|30000|1992
101|BBB|PHP|35000|2011
100|AAA|JAVA|1992
101|BBB|PHP|2011

Lợi ích của View

  • Truy cập dữ liệu từ bảng, nhiều bảng, view, nhiều view hoặc tổ hợp.
  • View kết nối dữ liệu bảng cơ sở (base table).
  • Cung cấp cơ chế truy cập dữ liệu an toàn.

View có thể cập nhật bằng CREATE OR REPLACE VIEW:

CREATE OR REPLACE VIEW view-name AS 
SELECT column1, column2, ... 
FROM table_name 
WHERE condition;

Xóa view: DROP VIEW view-name;

Synonym dùng như tên thay thế cho bảng/view. Có thể che giấu tên/chuộc hữu thực tế. Mở rộng phạm vi bảng, cho phép truy cập công khai qua synonym.