Tin tức và phân tích của tất cả các thiết bị di động

Tạo XEM SQL: giải thích từng bước

Chúng tôi sử dụng SQL hoặc Ngôn ngữ truy vấn có cấu trúc để giao tiếp với cơ sở dữ liệu quan hệ và tạo các dạng xem SQL.

Chế độ xem SQL là gì? Đây là các bảng ảo kết hợp và lưu trữ dữ liệu từ các bảng cơ sở dữ liệu thực mà bạn tạo. Đổi lại, bạn có được quyền truy cập an toàn và đơn giản vào tập dữ liệu của mình trong khi ẩn các cấu trúc và cách triển khai bảng cơ bản.

Nó hoạt động thế nào? Bạn đã biết rằng các truy vấn SQL được sử dụng để tạo các dạng xem SQL. Khi chế độ xem SQL được tạo, truy vấn SQL cơ bản sẽ được lưu trữ. Khi bạn sử dụng truy vấn SQL để truy vấn dữ liệu từ nhiều bảng, truy vấn đó sẽ được thực thi và giúp bạn tìm nạp dữ liệu từ các bảng cơ sở dữ liệu tương ứng. Tương tự, khi bạn truy vấn một dạng xem SQL mà bạn đã tạo, truy vấn đã lưu trữ sẽ được tìm nạp trước rồi mới được thực thi.

Việc tạo các dạng xem SQL hữu ích như thế nào?

Vì dạng xem SQL được hỗ trợ bởi các truy vấn SQL được lưu trữ nên chúng giúp giữ an toàn cho cơ sở dữ liệu của bạn. Chúng cũng đơn giản hóa các truy vấn phức tạp và tăng hiệu suất truy vấn cùng nhiều lợi ích khác. Hãy xem việc tạo các khung nhìn SQL có thể mang lại lợi ích như thế nào cho cơ sở dữ liệu và ứng dụng của bạn:

# 1. Đảm bảo an ninh cơ sở dữ liệu

Các khung nhìn SQL hoạt động như các bảng ảo và ẩn cấu trúc của các bảng cơ sở dữ liệu thực. Vì vậy, chỉ nhìn vào view không thể biết được có bao nhiêu bảng và trong bảng có những cột khác nhau như thế nào. Ngoài ra, bạn có thể thêm các ràng buộc kiểm soát truy cập cơ sở dữ liệu để người dùng chỉ có thể truy vấn dạng xem chứ không phải các bảng thực tế.

#2. Đơn giản hóa các truy vấn phức tạp

Các truy vấn SQL thường liên quan đến nhiều bảng với các điều kiện nối phức tạp. Nếu bạn thường xuyên sử dụng các truy vấn phức tạp như vậy, bạn có thể tận dụng khả năng tạo khung nhìn SQL. Bạn có thể lưu trữ truy vấn phức tạp trong chế độ xem SQL. Điều này cho phép bạn chỉ truy vấn chế độ xem thay vì chạy toàn bộ truy vấn phức tạp.

#3. Giảm thiểu những thay đổi trong lược đồ

Nếu cấu trúc cơ bản của bảng bị thay đổi, chẳng hạn như thêm hoặc xóa cột, các dạng xem sẽ vẫn giữ nguyên. Nếu bạn dựa vào các dạng xem SQL cho tất cả các truy vấn của mình, bạn không phải lo lắng về việc thay đổi lược đồ. Là bảng ảo, chế độ xem SQL bạn đã tạo sẽ vẫn hoạt động trơn tru.

#4. Cải thiện hiệu suất truy vấn

Khi bạn tạo các dạng xem SQL, công cụ cơ sở dữ liệu sẽ tối ưu hóa truy vấn cơ bản trước khi lưu chúng. Truy vấn đã lưu chạy nhanh hơn chạy trực tiếp cùng một truy vấn. Do đó, việc sử dụng chế độ xem SQL để truy vấn dữ liệu sẽ mang lại hiệu suất tốt hơn và kết quả nhanh hơn.

Làm cách nào để tạo chế độ xem SQL?

Bạn có thể sử dụng lệnh CREATE VIEW để tạo các khung nhìn SQL. Khung nhìn chứa câu lệnh CHỌN. Điều này mang lại một truy vấn sẽ được lưu trữ trong dạng xem. Cú pháp như sau:

CREATE VIEW view_name AS 
SELECT 
  column_1, 
  column_2, 
  column_3...
FROM 
  table_name_1, table_name_2
WHERE 
  condition_clause

Hãy hiểu nó bằng một ví dụ. Hãy xem xét rằng bạn đã tạo hai bảng bộ phận và nhân viên. Bộ phận có tên của bộ phận và mã nhận dạng của nó. Do đó, bảng nhân viên chứa tên và ID của nhân viên cùng với ID của bộ phận mà họ trực thuộc. Bạn sẽ sử dụng hai bảng này để tạo khung nhìn SQL.

Tạo bảng cơ sở dữ liệu của bạn

bộ phận_iddepartment_name1Tài chính2Công nghệ3Bảng kinh doanh 1: phòng

Nếu bạn đang sử dụng MySQL, bạn có thể tạo bảng này với truy vấn sau:

CREATE TABLE `department` (
  `department_id` int,
  `department_name` varchar(255),
  PRIMARY KEY (`department_id`)
);

Chèn dữ liệu vào bảng đã tạo bằng mã SQL sau:

INSERT INTO department VALUES (1, 'Finance');
INSERT INTO department VALUES (2, 'Technology');
INSERT INTO department VALUES (3, 'Business');

nhân viên_idemployee_namedepartment_id100John3101Mary1102Natalya3103Bruce2Bảng 2: người lao động

Khi bảng bộ phận đã sẵn sàng và được điền dữ liệu, hãy tạo bảng nhân viên bằng truy vấn MySQL bên dưới:

CREATE TABLE `employee` (
  `employee_id` INT, 
  `employee_name` VARCHAR(255), 
  `department_id` INT, 
  FOREIGN KEY (`department_id`) REFERENCES department(department_id)
);

Sau đó chèn hồ sơ nhân viên vào bảng của bạn. Lưu ý rằng vì cột Department_id tham chiếu khóa ngoại với bảng phòng ban, nên bạn không thể chèn Department_id không có trong bảng khác.

INSERT INTO employee VALUES (100, 'John', 3);
INSERT INTO employee VALUES (101, 'Mary', 1);
INSERT INTO employee VALUES (102, 'Natalya', 3);
INSERT INTO employee VALUES (103, 'Bruce', 1);

Tìm kiếm các bảng cơ sở dữ liệu của bạn

Hãy sử dụng bảng trong truy vấn cơ sở dữ liệu. Hãy xem xét trường hợp bạn cần truy vấn member_id, character_name và Department_name cho tất cả nhân viên. Trong trường hợp này, bạn cần sử dụng cả hai bảng và nối chúng bằng một cột chung là Department_id. Vì vậy, truy vấn của bạn trở thành:

SELECT
  employee_id,
  employee_name,
  department_name
FROM 
  employee,
  department
WHERE 
  employee.department_id = department.department_id;

Tạo chế độ xem SQL của bạn

Có thể bạn thường xuyên xem hoặc tham khảo những dữ liệu này. Ngoài ra, theo thời gian, khi có nhiều bản ghi trong bảng hơn, thời gian thực hiện truy vấn sẽ bắt đầu tăng lên. Trong trường hợp như vậy, bạn có thể tạo dạng xem SQL tương ứng với truy vấn này.

Sử dụng truy vấn sau để tạo chế độ xem có tên nhanvien_info:

CREATE VIEW employee_info AS 
SELECT
  employee_id,
  employee_name, 
  department_name 
FROM 
  employee, 
  department 
WHERE 
  employee.department_id = department.department_id;

Với quan điểm này, bạn có thể hỏi trực tiếp điều tương tự. Do đó, truy vấn của bạn được đơn giản hóa thành:

SELECT 
  * 
FROM 
  employee_info;

Truy vấn dạng xem SQL cho kết quả tương tự như khi chạy truy vấn ban đầu. Tuy nhiên, truy vấn của bạn bây giờ dễ dàng duy trì. Chế độ xem che giấu sự phức tạp của truy vấn mà không có bất kỳ sự ảnh hưởng nào đến kết quả hoặc hiệu suất.

Làm cách nào để trao đổi chế độ xem SQL?

Nếu bạn có chế độ xem được đặt tên và muốn sửa đổi hoặc thay thế nó, hãy sử dụng TẠO HOẶC THAY THẾ Chế độ xem. Bằng cách sử dụng điều này, bạn có thể sửa đổi câu lệnh SELECT đã được sử dụng để tạo dạng xem. Do đó, đầu ra của chế độ xem bị ghi đè trong khi vẫn giữ nguyên tên chế độ xem. Ngoài ra, bạn đang tạo chế độ xem SQL mới nếu nó không tồn tại.

Các khung nhìn SQL có thể được thay thế bằng cú pháp sau:

CREATE OR REPLACE VIEW view_name AS 
SELECT 
  new_column_1, 
  new_column_2, 
  new_column_3 ...
FROM 
  new_table_name_1, 
  new_table_name_2 ...
WHERE 
  new_condition_clause

Bạn có thể hiểu nó tốt hơn với một ví dụ. Hãy xem xét các bảng phòng ban và nhân viên. Từ đó, chế độ xem SQL thông tin nhân viên được tạo, chứa các cột nhan viên_id, tên nhân viên và tên phòng ban.

Vì lý do bảo mật, bạn có thể muốn xóa nhân viên_id khỏi chế độ xem này. Ngoài ra, bạn cũng muốn đổi tên các cột để ẩn các cột cơ sở dữ liệu thực tế. Bạn có thể thực hiện những thay đổi này đối với chế độ xem hiện có bằng cách sử dụng truy vấn SQL sau:

CREATE OR REPLACE VIEW employee_info AS
SELECT
  employee_name as name,
  department_name as department
FROM
  employee,
  department
WHERE
  employee.department_id = department.department_id;

Sau khi thay thế chế độ xem, bạn sẽ nhận được các kết quả khác khi sử dụng cùng một truy vấn mà bạn đã sử dụng trước đó. Ví dụ: trong kết quả truy vấn, bạn sẽ thấy một trong các cột đã bị xóa. Ngoài ra, tên cột đã được sửa đổi lần lượt từ tên nhân viên và tên phòng ban thành tên đầy đủ và phòng ban.

Khai thác sức mạnh của việc tạo chế độ xem SQL

Việc tạo các dạng xem SQL sẽ không chỉ đơn giản hóa các truy vấn và truy xuất dữ liệu nhanh hơn mà còn cung cấp cho bạn khả năng bảo mật và bảo vệ khỏi những thay đổi trong lược đồ. Việc tạo các khung nhìn SQL khá đơn giản. Bạn có thể lấy bất kỳ truy vấn hiện có nào và biến nó thành dạng xem SQL.

Sử dụng hướng dẫn từng bước ở trên để tạo các dạng xem SQL và tận dụng chúng. Với dạng xem SQL, bạn có thể đơn giản hóa và bảo mật các ứng dụng cơ sở dữ liệu của mình đồng thời tăng hiệu suất của chúng.

Nếu bạn muốn quản lý máy chủ SQL của riêng mình, hãy xem SQL Server Management Studio (SSMS).