Categories

Subscribe Now

* You will receive the latest news and updates on your favorite celebrities!

Automation Series

Học SQL qua câu hỏi (Phần 5)
Database

Học SQL qua câu hỏi (Phần 5) 

41. VIEW là gì?

Một VIEW là một bảng ảo mà chứa dữ liệu từ một hoặc nhiều bảng, nó không gì khác ngoài môt lệnh SQL mà được lưu giữ trong Database với một tên liên kết. Một VIEW thực sự là một thành phần của một bảng trong form của một truy vấn SQL đã được định nghĩa trước. Một VIEW có thể chứa tất cả các hàng của một bảng hoặc các hàng đã được chọn từ một bảng. Các VIEW hạn chế truy cập dữ liệu của bảng bằng cách chỉ chọn các giá trị được yêu cầu và thực hiện các truy vấn phức tạp một cách dễ dàng.

42. Những ưu điểm của VIEW?

VIEW có các ưu điểm sau:

  • Bảo mật dữ liệu :Người sử dụng được cấp phát quyền trên các VIEW với những phần dữ liệu mà người sử dụng được phép. Điều này hạn chế được phần nào việc người sử dụng truy cập trực tiếp dữ liệu.
  • Đơn giản hoá các thao tác truy vấn dữ liệu: Một VIEW đóng vai trò như là một đối tượng tập hợp dữ liệu từ nhiều bảng khác nhau vào trong một “bảng”. Nhờ vào đó, người sử dụng có thể thực hiện các yêu cầu truy vấn dữ liệu một cách đơn giản từ VIEW thay vì phải đưa ra những câu truy vấn phức tạp.
  • Tập trung và đơn giản hoá dữ liệu :Thông qua VIEW ta có thể cung cấp cho người sử dụng những cấu trúc đơn giản, dễ hiểu hơn về dữ liệu trong cơ sở dữ liệu đồng thời giúp cho người sử dụng tập trung hơn trên những phần dữ liệu cần thiết.
  • Độc lập dữ liệu : Một VIEW có thể cho phép người sử dụng có được cái nhìn về dữ liệu độc lập với cấu trúc của các bảng trong cơ sở dữ liệu cho dù các bảng cơ sở có bị thay đổi phần nào về cấu trúc.

43. Liệt kê các loại đặc quyền khác nhau mà người dùng có thể cấp cho một người dùng khác?

SELECT, CONNECT, RESOURCES.

44. Schema là gì?

Schema là một tập hợp các đối tượng database của một User. Đầy là khái niệm mới có trong Sql server 2005 trở lên, chema mặc định của các object trong database là dbo. Có thể hiểu schema là một namespace đối với các đối tượng database Một schema định nghĩa một ranh giới mà trong đó tất cả các tên là duy nhất Bên trong một database, tên của schema là duy nhất, luôn có tên với đường đầy đủ dạng server.database.schema.object

45. Table là gì?

Một table (bảng) là đơn vị cơ bản của lưu trữ dữ liệu trong hệ quản trị cơ sở dữ liệu. Được dùng để lưu trữ các thông tin của một đối tượng trong thực tế − Gồm có các dòng và các cột − Bảng trong CSDL thường có khoá chính (primary key) − Các bảng thường liên hệ với nhau bằng các mối quan hệ

46. VIEW có chứa dữ liệu hay không?

Không, VIEW là một cấu trúc ảo, vì vậy nó không chứa dữ liệu, nó chỉ tập hợp dữ liệu từ các bảng khác nhau.

47. Một VIEW có thể dựa trên 1 VIEW khác được không?

Được, một VIEW có thể được tạo ra dựa trên một VIEW khác đã có.

48. Sự khác nhau giữa mệnh đề HAVING và WHERE?

Cả hai đều được dùng để chỉ định một điều kiện tìm kiếm nhưng mệnh đề HAVING chỉ được sử dụng với câu lệnh SELECT và thường được sử dụng với mệnh đề GROUP BY. Trong cùng một câu lệnh:

  • WHERE là câu lệnh lọc bớt dữ liệu trước khi nhóm (Group)
  • HAVING là câu lệnh lọc bớt dữ liệu sau khi đã nhóm (Group) Mệnh đề HAVING trong SQL cho bạn khả năng để xác định các điều kiện để lọc nhóm kết quả nào sẽ xuất hiện trong kết quả cuối cùng. Mệnh đề WHERE đặt các điều kiện trên các cột đã lựa chọn, trong khi mệnh đề HAVING đặt các điều kiện trên các nhóm đã được tạo bởi mệnh đề GROUP BY. Mệnh đề HAVING phải theo sau mệnh đề GROUP By trong một truy vấn và cũng phải đặt trước mệnh đề ORDER BY nếu được sử dụng. Dưới đây là cú pháp của lệnh SELECT với mệnh đề HAVING. Sau đây là vị trí của mệnh đề HAVING trong một truy vấn SQL.
SELECT cot1, cot2
FROM bang1, bang2
WHERE [ cac_dieu_kien ]
GROUP BY cot1, cot2
HAVING [ cac_dieu_kien ]
ORDER BY cot1, cot2

49. Sự khác nhau giữa bảng Local và Global temporary table?

Bảng tạm (Temporary Table) là một tính năng tuyệt vời giúp bạn lưu giữ và xử lý các kết quả trung gian bằng việc sử dụng các khả năng như chọn, cập nhật, kết hợp giống như bạn có thể sử dụng với các bảng điển hình trong SQL Server. Bảng tạm (Temporary Table) có thể rất hữu ích trong một số trường hợp khi bạn muốn lưu giữ dữ liệu tạm thời. Điều quan trọng nhất bạn cần nên biết về Bảng tạm (Temporary Table) là chúng có thể bị xóa khi Client Session hiện tại kết thúc. Có 2 loại bảng tạm như sau:

  • Local temporary table là bảng tạm được tạo ra và tồn tại trong 1 kết nối. Khi kết thúc kết nối thì bảng tạm này sẽ tự động được xóa. Tên của bảng tạm kiểu Local được bắt đầu bằng ký tử #.
  • Global temporary table là bảng tạm có phạm vi ảnh hưởng trong tất cả các kết nối và nó chỉ tự động được xóa đi khi tất cả các kết nối đã được ngắt. Tên bảng tạm kiểu Global được bắt đầu bằng ##.

50. CTE là gì?

Một CTE (Common Table Expression) có thể được xem như một bảng chứa dữ liệu tạm thời từ câu lệnh được định nghĩa trong phạm vi của nó. CTE tương tự như một bảng dẫn xuất (derived table) ở chỗ nó không được lưu trữ như một đối tượng và chỉ kéo dài trong suốt thời gian của câu truy vấn. Không giống như bảng dẫn xuất, CTE có thể tự tham chiếu tới bản thân của nó và có thể tham chiếu nhiều lần trong một câu truy vấn.

Mục đích của CTE:

  • Tạo truy vấn đệ quy (recursive query).
  • Thay thế View trong một số trường hợp.
  • Cho phép nhóm một cột từ truy vấn con.
  • Tham chiếu tới bảng kết quả nhiều lần trong cùng một lệnh.

Ưu điểm của CTE: CTE có nhiều ưu điểm như khả năng đọc dữ liệu được cải thiện và dễ dàng bảo trì các truy vấn phức tạp. Các truy vấn có thể được phân thành các khối nhỏ, đơn giản. Những khối này được sử dụng để xây dựng các CTE phức tạp hơn cho đến khi tập hợp kết quả cuối cùng được tạo ra. CTE có thể được định nghĩa trong function, store procedure, view, trigger.

Nguồnhttp://www.softwaretestinghelp.com/50-popular-sql-interview-questions-for-testers/

Related posts

Leave a Reply

Required fields are marked *

error: Content is protected !!