Giáo trình Cơ sở dữ liệu - Ngành: Tin học ứng dụng, công nghệ phần mềm

Chương 1

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

Giới thiệu:

Trong chương tổng quan về cơ sở dữ liệu, trình bày về khái niêm dữ liệu, cơ sở

dữ liệu; các phương pháp quản lý cơ sở dữ liệu; các mô hình cơ sở dữ liệu; hệ quản trị

cơ sở dữ liệu.

Mục tiêu:

Trình bày được các khái niệm về cơ sở dữ liệu.

Mô tả được các mô hình CSDL

Trình bày được cấu trúc của một hệ quản trị cơ sở dữ liệu.

Phân tích được các đặc điểm chung của dữ liệu, thông tin và tính độc lập dữ liệu.

Phân loại được người dùng CSDL.

Nội dung:

1. Khái niệm

1.1. Dữ liệu

Dữ liệu là các thông tin của đối tượng (người, vật, một khái niệm, sự việc )

được lưu trữ trên máy tính.

Dữ liệu được mô tả dưới nhiều dạng khác nhau (các ký tự, ký số, hình ảnh, ký

hiệu, âm thanh ). Mỗi cách mô tả gắn với một ngữ nghĩa nào đó.

Dữ liệu về đối tượng có thể khác nhau, tùy thuộc vào ngữ cảnh.

Ví dụ: dữ liệu về đối tượng sinh viên

Quản lý điểm: Tên, mã sinh viên, điểm môn 1, điểm môn 2, điểm môn 3.

Quản lý nhân thân: Tên, địa chỉ, ngày sinh, quê quán, lớp.

1.2. Cơ sở dữ liệu (Database)

Cơ sở dữ liệu (CSDL) là tập hợp dữ liệu được tổ chức có cấu trúc liên quan với

nhau và được lưu trữ trong máy tính.

CSDL được thiết kế, xây dựng cho phép người dùng lưu trữ dữ liệu, truy xuất

thông tin hoặc cập nhật dữ liệu.

CSDL được tổ chức có cấu trúc: Các dữ liệu được lưu trữ có cấu trúc thành các

bản ghi (record), các trường dữ liệu (field). Các dữ liệu lưu trữ có mối quan hệ (relation)

với nhau

CSDL được cấu trúc để dễ dàng truy cập, quản lý và cập nhật

pdf57 trang | Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 439 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Giáo trình Cơ sở dữ liệu - Ngành: Tin học ứng dụng, công nghệ phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ntactName AS [Contact Person] FROM Customers; Câu lệnh SQL sau tạo một bí danh có tên "Address" kết hợp bốn cột (Address, PostalCode, City và Country): SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address FROM Customers; 36 Ví dụ về bí danh cho bảng Câu lệnh SQL sau đây chọn tất cả các đơn đặt hàng từ khách hàng với CustomerID = 4 (Around the Horn). Chúng tôi sử dụng bảng "Customers" và "Orders" và cung cấp cho chúng bí danh bảng tương ứng là "c" và "o" (Ở đây chúng tôi sử dụng bí danh để làm cho SQL ngắn hơn): SELECT o.OrderID, o.OrderDate, c.CustomerName FROM Customers AS c, Orders AS o WHERE c.CustomerName='Around the Horn' AND c.CustomerID=o.CustomerID; Câu lệnh SQL sau giống như trên, nhưng không có bí danh: SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName FROM Customers, Orders WHERE Customers.CustomerName='Around the Horn' AND Customers.CustomerID=Orders.CustomerID; Bí danh có thể hữu ích khi: - Có nhiều hơn một bảng liên quan đến một truy vấn - Các hàm được sử dụng trong truy vấn - Tên cột lớn hoặc không dễ đọc - Hai hoặc nhiều cột được kết hợp với nhau 2.5. Hàm MIN() và MAX() Hàm MIN() trả về giá trị nhỏ nhất của cột đã chọn. Hàm MAX() trả về giá trị lớn nhất của cột đã chọn. Cú pháp MIN() SELECT MIN(column_name) FROM table_name WHERE condition; Cú pháp MAX() SELECT MAX(column_name) FROM table_name WHERE condition; Dưới đây là một lựa chọn từ bảng "Products" trong cơ sở dữ liệu mẫu Northwind: 37 Câu lệnh SQL sau đây tìm thấy giá của sản phẩm rẻ nhất: SELECT MIN(Price) AS SmallestPrice FROM Products; Câu lệnh SQL sau đây tìm thấy giá của sản phẩm đắt nhất: SELECT MAX(Price) AS LargestPrice FROM Products; 2.6. Các hàm COUNT(), AVG() và SUM() Hàm COUNT() trả về số hàng phù hợp với một tiêu chí được chỉ định. Hàm AVG() trả về giá trị trung bình của một cột số. Hàm SUM() trả về tổng tổng của một cột số. Cú pháp COUNT() SELECT COUNT(column_name) FROM table_name WHERE condition; Cú pháp AVG() SELECT AVG(column_name) FROM table_name WHERE condition; Cú pháp SUM() SELECT SUM(column_name) FROM table_name WHERE condition; Cơ sở dữ liệu Demo Dưới đây là lựa chọn từ bảng "Products" trong cơ sở dữ liệu mẫu Northwind: 38 Ví dụ COUNT() Câu lệnh SQL sau tìm số lượng sản phẩm: SELECT COUNT(ProductID) FROM Products; Lưu ý: Giá trị NULL không được tính. Ví dụ AVG() Câu lệnh SQL sau tìm giá trung bình của tất cả các sản phẩm: SELECT AVG(Price) FROM Products; Lưu ý: Giá trị NULL bị bỏ qua. Cơ sở dữ liệu Demo Dưới đây là lựa chọn từ bảng "OrderDetails" trong cơ sở dữ liệu mẫu Northwind: Ví dụ SUM() Câu lệnh SQL sau tìm tổng của các trường "Quantity" trong bảng "OrderDetails": SELECT SUM(Quantity) FROM OrderDetails; Lưu ý: Giá trị NULL bị bỏ qua. 2.7. Từ khóa INNER JOIN Từ khóa INNER JOIN chọn các bản ghi có giá trị phù hợp trong cả hai bảng. Cú pháp INNER JOIN: SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; 39 Cơ sở dữ liệu Demo: Trong hướng dẫn này, chúng tôi sẽ sử dụng cơ sở dữ liệu mẫu Northwind nổi tiếng. Dưới đây là lựa chọn từ bảng "Orders": Và lựa chọn từ bảng “Customers”: Ví dụ về INNER JOIN: Câu lệnh SQL sau chọn tất cả các đơn hàng có thông tin khách hàng: SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID; Lưu ý: Từ khóa INNER JOIN chọn tất cả các hàng từ cả hai bảng miễn là có sự trùng khớp giữa các cột. Nếu có các bản ghi trong bảng "Orders" không khớp trong "Customers", các đơn đặt hàng này sẽ không được hiển thị! JOIN 3 bảng: Câu lệnh SQL sau chọn tất cả các đơn đặt hàng có thông tin khách hàng và người giao hàng: SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName FROM ((Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID) INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID); 2.8. Từ khóa ORDER BY 40 Từ khóa ORDER BY được sử dụng để sắp xếp tập kết quả theo thứ tự tăng dần hoặc giảm dần. Từ khóa ORDER BY sắp xếp các bản ghi theo thứ tự tăng dần theo mặc định. Để sắp xếp các bản ghi theo thứ tự giảm dần, hãy dùng từ khóa DESC. SELECT column1, column2, ... FROM table_name ORDER BY column1, column2, ... ASC|DESC; Dưới đây là một lựa chọn từ bảng "Customers" trong cơ sở dữ liệu mẫu Northwind: Câu lệnh SQL sau chọn tất cả khách hàng từ bảng "Customers", được sắp xếp theo cột "Country": SELECT * FROM Customers ORDER BY Country; Câu lệnh SQL sau chọn tất cả khách hàng từ bảng "Customers", được sắp xếp GIẢM DẦN theo cột "Country": SELECT * FROM Customers ORDER BY Country DESC; 41 Câu lệnh SQL sau chọn tất cả khách hàng từ bảng "Customers", được sắp xếp theo cột "Country" và "CustomerName". Điều này có nghĩa là nó đặt hàng theo Quốc gia, nhưng nếu một số hàng có cùng Quốc gia, nó sẽ đặt hàng chúng theo CustomerName: SELECT * FROM Customers ORDER BY Country, CustomerName; Câu lệnh SQL sau chọn tất cả khách hàng từ bảng "Customers", được sắp xếp tăng dần theo cột "Country" và giảm dần theo cột "CustomerName": SELECT * FROM Customers ORDER BY Country ASC, CustomerName DESC; 2.9. Mệnh đề GROUP BY 42 Mệnh đề GROUP BY nhóm các hàng có cùng giá trị thành các hàng tóm tắt, như "tìm số lượng khách hàng ở mỗi quốc gia". Mệnh đề GROUP BY thường được sử dụng với các hàm tổng hợp (COUNT, MAX, MIN, SUM, AVG) để nhóm kết quả được đặt bởi một hoặc nhiều cột. SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) ORDER BY column_name(s); Câu lệnh SQL sau liệt kê số lượng khách hàng ở mỗi quốc gia: SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country; Câu lệnh SQL sau liệt kê số lượng khách hàng ở mỗi quốc gia, được sắp xếp cao đến thấp: SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country ORDER BY COUNT(CustomerID) DESC; 43 2.10. Mệnh đề HAVING Mệnh đề HAVING đã được thêm vào SQL vì không thể sử dụng từ khóa WHERE với các hàm tổng hợp. Cú pháp HAVING: SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) HAVING condition ORDER BY column_name(s); Cơ sở dữ liệu Demo: Dưới đây là lựa chọn từ bảng "Customers" trong cơ sở dữ liệu mẫu Northwind: Ví dụ về HAVING: 44 Câu lệnh SQL sau liệt kê số lượng khách hàng ở mỗi quốc gia. Chỉ bao gồm các quốc gia có hơn 5 khách hàng: SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country HAVING COUNT(CustomerID) > 5; Câu lệnh SQL sau liệt kê số lượng khách hàng ở mỗi quốc gia, được sắp xếp từ cao đến thấp (Chỉ bao gồm các quốc gia có hơn 5 khách hàng): SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country HAVING COUNT(CustomerID) > 5 ORDER BY COUNT(CustomerID) DESC; Cơ sở dữ liệu Demo: Dưới đây là lựa chọn từ bảng "Orders" trong cơ sở dữ liệu mẫu Northwind: Và lựa chọn từ bảng "Employees": Thêm các ví dụ có HAVING: Câu lệnh SQL sau liệt kê các nhân viên đã đăng ký hơn 10 đơn đặt hàng: SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM (Orders INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID) GROUP BY LastName HAVING COUNT(Orders.OrderID) > 10; Câu lệnh SQL sau liệt kê nếu nhân viên "Davolio" hoặc "Fuller" đã đăng ký hơn 25 đơn đặt hàng: SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID WHERE LastName = 'Davolio' OR LastName = 'Fuller' GROUP BY LastName HAVING COUNT(Orders.OrderID) > 25; 2.11. Toán tử LIKE 45 Toán tử LIKE được sử dụng trong mệnh đề WHERE để tìm kiếm một mẫu được chỉ định trong một cột. Có hai ký tự đại diện thường được sử dụng kết hợp với toán tử LIKE: - “%” Dấu phần trăm đại diện cho các ký tự bằng không, một hoặc nhiều ký tự. - “_” Gạch dưới đại diện cho một ký tự duy nhất. SELECT column1, column2, ... FROM table_name WHERE columnN LIKE pattern; Dưới đây là một số ví dụ cho thấy các toán tử LIKE khác nhau có ký tự đại diện '%' và '_': Bảng dưới đây cho thấy bảng "Customers" hoàn chỉnh từ cơ sở dữ liệu mẫu Northwind: Câu lệnh SQL sau chọn tất cả khách hàng có CustomerName bắt đầu bằng "a": SELECT * FROM Customers WHERE CustomerName LIKE 'a%'; 46 Câu lệnh SQL sau chọn tất cả khách hàng có CustomerName kết thúc bằng "a": SELECT * FROM Customers WHERE CustomerName LIKE '%a'; Câu lệnh SQL sau đây chọn tất cả khách hàng có CustomerName có "hoặc" ở bất kỳ vị trí nào: SELECT * FROM Customers WHERE CustomerName LIKE '%or%'; Câu lệnh SQL sau chọn tất cả khách hàng có CustomerName có "r" ở vị trí thứ hai: SELECT * FROM Customers WHERE CustomerName LIKE '_r%'; 47 Câu lệnh SQL sau chọn tất cả khách hàng có CustomerName bắt đầu bằng "a" và dài ít nhất 3 ký tự: SELECT * FROM Customers WHERE CustomerName LIKE 'a__%'; Câu lệnh SQL sau chọn tất cả khách hàng có ContactName bắt đầu bằng "a" và kết thúc bằng "o": SELECT * FROM Customers WHERE ContactName LIKE 'a%o'; Câu lệnh SQL sau chọn tất cả khách hàng có CustomerName không bắt đầu bằng "a": SELECT * FROM Customers WHERE CustomerName NOT LIKE 'a%'; 2.12. Toán tử BETWEEN Toán tử BETWEEN chọn các giá trị trong một phạm vi nhất định. Các giá trị có thể là số, văn bản hoặc ngày tháng. Cú pháp BETWEEN SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; Cơ sở dữ liệu Demo 48 Dưới đây là lựa chọn từ bảng "Products" trong cơ sở dữ liệu mẫu Northwind: Ví dụ BETWEEN Câu lệnh SQL sau đây chọn tất cả các sản phẩm có giá GIỮA 10 và 20: SELECT * FROM Products WHERE Price BETWEEN 10 AND 20; Ví dụ NOT BETWEEN Để hiển thị các sản phẩm nằm ngoài phạm vi của ví dụ trước, hãy sử dụng NOT BETWEEN: SELECT * FROM Products WHERE Price NOT BETWEEN 10 AND 20; Ví dụ BETWEEN với IN Câu lệnh SQL sau đây chọn tất cả các sản phẩm có giá GIỮA 10 và 20. Ngoài ra, không hiển thị các sản phẩm có CategoryID là 1,2 hoặc 3: SELECT * FROM Products WHERE Price BETWEEN 10 AND 20 AND CategoryID NOT IN (1,2,3); Ví dụ BETWEEN về giá trị văn bản Câu lệnh SQL sau chọn tất cả các sản phẩm có Tên sản phẩm GIỮA ‘Carnarvon Tigers’ và ‘Mozzarella di Giovanni’: SELECT * FROM Products WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni' ORDER BY ProductName; Câu lệnh SQL sau chọn tất cả các sản phẩm có Tên sản phẩm GIỮA ‘Carnarvon Tigers’ và ‘Chef Antons Cajun Seasoning’: SELECT * FROM Products WHERE ProductName BETWEEN ‘Carnarvon Tigers’ AND ‘Chef Antons Cajun Seasoning’ ORDER BY ProductName; Ví dụ NOT BETWEEN về giá trị văn bản Câu lệnh SQL sau chọn tất cả các sản phẩm có Tên sản phẩm KHÔNG GIỮA 'Carnarvon Tigers' và 'Mozzarella di Giovanni': SELECT * FROM Products WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella 49 di Giovanni' ORDER BY ProductName; Bảng mẫu Dưới đây là lựa chọn từ bảng "Orders" trong cơ sở dữ liệu mẫu Northwind: Ví dụ về BETWEEN Dates Câu lệnh SQL sau đây chọn tất cả các đơn đặt hàng có Ngày đặt hàng GIỮA '01 -July-1996 ' và '31 -July-1996': SELECT * FROM Orders WHERE OrderDate BETWEEN #01/07/1996# AND #31/07/1996#; Hoặc là: SELECT * FROM Orders WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31'; 2.13. Toán tử AND, OR và NOT Mệnh đề WHERE có thể được kết hợp với các toán tử AND, OR và NOT. Toán tử AND và OR được sử dụng để lọc các bản ghi dựa trên nhiều hơn một điều kiện: - Toán tử AND hiển thị một bản ghi nếu tất cả các điều kiện được phân tách bằng AND đều TRUE. - Toán tử OR hiển thị một bản ghi nếu bất kỳ điều kiện nào được phân tách bởi OR là TRUE. Toán tử NOT hiển thị bản ghi nếu (các) điều kiện KHÔNG ĐÚNG. Cú pháp AND SELECT column1, column2, ... FROM table_name WHERE condition1 AND condition2 AND condition3 ...; Cú pháp OR SELECT column1, column2, ... FROM table_name WHERE condition1 OR condition2 OR condition3 ...; Cú pháp NOT SELECT column1, column2, ... FROM table_name WHERE NOT condition; 50 Cơ sở dữ liệu Demo: Bảng "Customers" hoàn chỉnh từ cơ sở dữ liệu mẫu của Northwind: Ví dụ AND Câu lệnh SQL sau chọn tất cả các trường từ "Customers" có quốc gia là "Germany" VÀ thành phố là "Berlin": SELECT * FROM Customers WHERE Country='Germany' AND City='Berlin'; Ví dụ OR Câu lệnh SQL sau chọn tất cả các trường từ "Customers" có thành phố là "Berlin" HOẶC "München": SELECT * FROM Customers WHERE City='Berlin' OR City='München'; Câu lệnh SQL sau chọn tất cả các trường từ "Customers" có quốc gia là "Germany" HOẶC "Spain": SELECT * FROM Customers WHERE Country='Germany' OR Country='Spain'; Ví dụ NOT Câu lệnh SQL sau chọn tất cả các trường từ "Customers" mà quốc gia KHÔNG phải là "Germany": SELECT * FROM Customers WHERE NOT Country='Germany'; Kết hợp AND, OR và NOT Bạn cũng có thể kết hợp các toán tử AND, OR và NOT. Câu lệnh SQL sau chọn tất cả các trường từ "Customers" trong đó quốc gia là "Germany" VÀ thành phố phải là "Berlin" HOẶC "München" (sử dụng dấu ngoặc đơn để tạo biểu thức phức tạp): SELECT * FROM Customers WHERE Country='Germany' AND (City='Berlin' OR City='München'); Câu lệnh SQL sau chọn tất cả các trường từ "Customers" trong đó quốc gia KHÔNG phải là "Germany" và KHÔNG phải "USA": SELECT * FROM Customers WHERE NOT Country='Germany' AND NOT Country='USA'; 51 2.14. Toán tử IN Toán tử IN cho phép bạn chỉ định nhiều giá trị trong mệnh đề WHERE. Toán tử IN là cách viết tắt của nhiều điều kiện OR. Cú pháp IN SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...); hoặc là: SELECT column_name(s) FROM table_name WHERE column_name IN (SELECT STATEMENT); Cơ sở dữ liệu Demo Bảng dưới đây hiển thị bảng "Customers" hoàn chỉnh từ cơ sở dữ liệu mẫu của Northwind: Ví dụ về toán tử IN Câu lệnh SQL sau đây chọn tất cả khách hàng ở "Germany", "France" hoặc "UK": SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK'); Câu lệnh SQL sau chọn tất cả khách hàng KHÔNG ở "Germany", "France" hoặc "UK": SELECT * FROM Customers WHERE Country NOT IN ('Germany', 'France', 'UK'); 2.15. Toán tử ANY, ALL và truy vấn con Toán tử ANY và ALL: - Toán tử ANY và ALL được sử dụng với mệnh đề WHERE hoặc HAVING. - Toán tử ANY trả về true nếu bất kỳ giá trị truy vấn con nào đáp ứng điều kiện. - Toán tử ALL trả về true nếu tất cả các giá trị truy vấn con đáp ứng điều kiện. Cú pháp ANY: SELECT column_name(s) FROM table_name 52 WHERE column_name operator ANY (SELECT column_name FROM table_name WHERE condition); Cú pháp ALL: SELECT column_name(s) FROM table_name WHERE column_name operator ALL (SELECT column_name FROM table_name WHERE condition); Lưu ý: Các operator phải là một toán tử so sánh chuẩn (=, , !=, >, >=, <, or <=). Cơ sở dữ liệu Demo: Dưới đây là lựa chọn từ bảng "Products" trong cơ sở dữ liệu mẫu Northwind: Và một lựa chọn từ bảng "OrderDetails": Ví dụ về ANY Toán tử ANY trả về TRUE nếu bất kỳ giá trị truy vấn con nào đáp ứng điều kiện. Câu lệnh SQL sau trả về TRUE và liệt kê tên sản phẩm nếu nó tìm thấy BẤT KỲ bản ghi nào trong bảng OrderDetails mà số lượng = 10: SELECT ProductName FROM Products WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity = 10); Câu lệnh SQL sau trả về TRUE và liệt kê tên sản phẩm nếu nó tìm thấy BẤT KỲ bản ghi nào trong bảng OrderDetails mà số lượng> 99: SELECT ProductName FROM Products WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity > 99); Ví dụ về ALL: Toán tử ALL trả về TRUE nếu tất cả các giá trị truy vấn con đáp ứng điều kiện. 53 Câu lệnh SQL sau trả về TRUE và liệt kê tên sản phẩm nếu TẤT CẢ các bản ghi trong bảng OrderDetails có số lượng = 10 (vì vậy, ví dụ này sẽ trả về FALSE, vì không phải TẤT CẢ các bản ghi trong bảng OrderDetails đều có số lượng = 10): SELECT ProductName FROM Products WHERE ProductID = ALL (SELECT ProductID FROM OrderDetails WHERE Quantity = 10); 2.16. Mệnh đề LIMIT Mệnh đề LIMIT được sử dụng để giới hạn số lượng dữ liệu được trả về bởi câu lệnh SELECT. Cú pháp Sau đây là cú pháp cơ bản của câu lệnh SELECT với mệnh đề LIMIT. SELECT column1, column2, ... FROM table_name LIMIT [number of rows] Ví dụ: SELECT * FROM COMPANY LIMIT 6; Sau đây là cú pháp của mệnh đề LIMIT khi nó được sử dụng cùng với mệnh đề OFFSET. SELECT column1, column2, ... FROM table_name LIMIT [number of rows] OFFSET [row number] Ví dụ: SELECT * FROM COMPANY LIMIT 3 OFFSET 2; Bổ sung câu hỏi Chỉnh màu Bài tập thực hành: Cho cơ sở dữ liệu QuanLyNhanSu như sau: Câu 1: Tạo cơ sở dữ liệu như trên. 54 Câu 2: Truy vấn dữ liệu với các yêu cầu như sau: 1. Hiển thị tất cả thông tin của bảng NHANVIEN 2. Hiển thị thông tin của những nhân viên ở phòng số 5 3. Hiển thị mã nhân viên, họ nhân viên, tên lót và tên nhân viên của những nhân viên ở phòng số 5 và có lương >= 3000 4. Hiển thị mã nhân viên, tên nhân viên của những nhân viên có lương từ 2000 đến 8000 5. Hiển thị thông tin của những nhân viên ở địa chỉ có tên đường là Nguyễn 6. Cho biết số lượng nhân viên 7. Cho biết số lượng nhân viên trong từng phòng ban 8. Hiển thị thông tin về mã nhân viên, tên nhân viên và tên phòng ban ở phòng kế toán 55 Tài liệu cần tham khảo: [1] Nhập môn cơ sở dữ liệu quan hệ – NXB Khoa học và Kỹ thuật – Năm 2002. [2] Phương Lan, Nguyễn Thiên Băng – Cơ sở dữ liệu – NXB Lao động và Xã hội – Năm 2005. [3] Phương Lan – Giáo trình nhập môn cơ sở dữ liệu – NXB Lao động và Xã hội – Năm 2006. [4] Nguyễn Thiện Tâm, Trần Xuân Hải – Giáo trình SQL Server 2000 – NXB ĐHQG TP. Hồ Chí Minh [5] Phạm Hữu Khang, Đoàn Thiện Ngân – SQL Server 2005 Lập trình T-SQL – NXB Lao động – Xã hội

Các file đính kèm theo tài liệu này:

  • pdfgiao_trinh_co_so_du_lieu_nganh_tin_hoc_ung_dung_cong_nghe_ph.pdf