bài tập thực hành môn hệ cơ sở dữ liệu

46 86 0
 bài tập thực hành môn hệ cơ sở dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ THÔNG TIN  Bài tập thiết kế theo TUẦN TUẦN tiết có hướng dẫn GV Cuối buổi thực hành, sinh viên nộp lại phần tập thực cho GV hướng dẫn Những câu hỏi mở rộng/khó giúp sinh viên trau dồi thêm kiến thức mơn học Sinh viên phải có trách nhiệm nghiên cứu, tìm câu trả lời chưa thực xong thực hành TP Hồ Chí Minh Năm 2021 Khoa Công Nghệ Thông Tin 1/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu BÀI TẬP TUẦN Số tiết: Mục tiêu:  Thao tác với giao diện SQL Server  Tạo Database - sở liệu (CSDL) thực thao tác CSDL lệnh công cụ design  Tạo Table (Bảng liệu) nhập liệu công cụ design  Tạo lược đồ quan hệ (Relationship Diagram)  Biết kiểu liệu (DataType) SQL Server  Biết tạo, sửa, xóa áp dụng kiểu liệu SQL Server  Biết sử dụng số thủ tục trợ giúp database Datatype PHẦN 1: TÌM HIỂU SQL SERVER MANAGEMENT STUDIO Giới thiệu SQL Server Management Studio: • SQL Server Management Studio mơi trường tích hợp cho phép truy cập, cấu hình, quản lý, quản trị phát triển tất công cụ SQL Server Nó kết hợp nhóm cơng cụ đồ họa cho phép soạn thảo lượng lớn mã lệnh tương tác với SQL SERVER đến người quản trị người lập trình • SQL Server Management Studio kết hợp đặc trưng Enterprise Manager, Query Analyzer, and Analysis Manager vào môi trường thống Bên cạnh đó, SQL Server Management Studio làm việc với tất công cụ SQL Server Reporting Services and Integration Services Người lập trình người quản trị dễ dàng thao tác môi trường đồng thân thiện Khởi động SQL Server Management Studio: Vào start → chọn program → chọn Microsoft SQL Server 2012 → chọn SQL Server Management Studio Khoa Công Nghệ Thông Tin 2/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu Hình 1.1 Kết nối vào SQL Server Chú ý thành phần hộp thoại sau: • Server Type: subsystems SQL Server mà người dùng đăng nhập vào, gồm: o Database engine o Analysis Services o Report Server o Integration Services • Server Name: tên Server mà người dùng muốn đăng nhập: o “.”: đăng nhập vào thể mặc định SQL Server máy tính đăng nhập o “.” (local): định danh tự động cách đăng nhập đến server o Nếu bạn mở hộp Server name bạn tìm kiếm nhiều server local network connection cách chọn • Authentication: xác định loại hình kết nối bạn muốn sử dụng Có cách đăng nhập: o Windows Authentication: thông tin đăng nhập Windows chuyển thành tài khoản đăng nhập SQL Server o SQL Server Authentication: Người dùng cung cấp usename password để đăng nhập vào SQL Server • Sau nhấn nút Connect xuất hình sau: Khoa Công Nghệ Thông Tin 3/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu Chọn Connect: Kết nối Cancel: Hủy bỏ thao tác Option: Các lựa chọn khác Bạn cho khởi động dịch vụ SQL Server, SQL Server Agent Vào menu View, Chọn Object Explorer Details • Lần lượt mở nhánh MicroSoft SQL Servers • Tìm hiểu sơ lược cửa sổ, thực đơn, công cụ SQL Server Management Studio Tại cửa sổ Object Explorer, thực hiện: Quan sát thành phần đối tượng cửa sổ cho biết: Có SQL Server Group, Server tên gì? Đang connect hay disconnect? Liêt kê thành phần Server hành, cho biết chức thành phần Trong server hành, có Database nào? (Hãy so sánh tên database với database máy bên cạnh) Trong Database có đối tượng nào? Khoa Công Nghệ Thông Tin 4/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu (Các database khác đối tượng có khác khơng?) Mở database Master, khảo sát đối tượng: • Vào đối tượng Table, tìm hiểu cấu trúc liệu bảng (lưu ý: chọn xem khơng nên xố hay sửa liệu): Sysdatabases, SysObjects, systypes, syslogins, sysusers, sysmessages, syspermissions… • Vào đối tượng Stored Procedures, tìm hiểu nội dung thủ tục sau (lưu ý: chọn xem khơng nên xố hay sửa): sp_help, sp_helpdb, sp_helpcontraint, sp_rename, sp_renamedb, sp_table, sp_addlogin, sp_addmessage, sp_addrole … • Lần lượt vào đối tượng cịn lại User, Role, … Tìm hiểu mục menu Help Lần lượt tìm hiểu lệnh Create DataBase, Create Table, Alter Table, Select Statement, Select into, Update Statement, Insert Statement, DataType, Triggers… (Hướng dẫn: Gõ tên lệnh/từ khóa cần tìm nhấn Enter) Khởi động hình Query Editor: Nhập dịng lệnh sau cửa sổ Query Editor: USE master SELECT * from dbo.MSreplication_options Nhấn F5 để thực thi quan sát kết hiển thị Tìm hiểu mục menu Tools→Option PHẦN 2: TẠO VÀ QUẢN LÝ CƠ SỞ DỮ LIỆU PHẦN LÝ THUYẾT I Giới thiệu Database Databases: chứa tất sở liệu hệ thống sở liệu người dùng SQL Server Cơ sở liệu SQL server sở liệu quan hệ, bao gồm tập quan hệ, quan hệ bảng liệu bao gồm dòng cột Trong CSDL có tối thiểu tập tin: o File liệu (Primary data file) (.mdf): CSDL có file (mặc định), dùng để ghi nhận lại tất tập tin khác CSDL lưu trữ liệu o Các file thứ cấp (Secondary data files) (.ndf) (tuỳ chọn): CSDL có hay khơng có nhiều file thứ cấp, dùng để lưu đối tượng CSDL o File nhật ký giao dịch (Transaction log file) (.ldf): CSDL có từ hay nhiều file nhật ký, dùng để chứa thông cần thiết cho việc phục hồi tất giao tác (transaction) CSDL o Về mặt vật lý: Database bao gồm hai hay nhiều hai tập tin hay nhiều đĩa Chỉ thấy nhà quản trị suốt người sử dụng Khoa Công Nghệ Thông Tin 5/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu o Về mặt Logic: database xây dựng thành thành phần mà hiển thị với người dùng Table, View, Procedure, … o Khi tạo CSDL, file liệu log tạo vị trí ta xác định o Các file có nằm đĩa vật lý khác để cải thiện việc thực thi hệ thống Filegroup chứa hay nhiều file Một CSDL chứa hay số filegroup Có loại: Primary filegroup, user-define filegroups default filegroup o Primary FileGroup: chứa file liệu (.mdf) file thứ cấp (.ndf) Tất bảng hệ thống phải nằm primary filegroup o User-defined filegroup: người dùng xác định lệnh CREATE/ALTER DATABASE o Default filegroup: filegroup DB Thường primary filegroup default filegroup owner có quyền thay đổi Tất bảng index mặc định tạo default filegroup II Các lệnh định nghĩa liệu (DDL - Data Definition Language) Tạo sở sữ liệu sử dụng công cụ SQL Server Management Studio (SSMS) ➢ Click chuột phải thư mục Database →Chọn New Database ➢ Trong ô Database name: Nhập tên Database ➢ Trong Database file: o Logical Name: Nhập tên luận lý o Initial Size: qui định kích thước khởi tạo cho tập tin o Autogrowth/Maxsize: qui định kích thước tối đa kích cỡ gia tăng o Tại mục Path: chọn vị trí lưu file o File Name: đặt tên file lưu ổ đĩa ➢ Nhấn nút Add muốn tạo thêm file thứ cấp, nhấn nút remove để xóa file ➢ Nhấn nút OK Khoa Công Nghệ Thông Tin 6/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu ➢ Khoa Công Nghệ Thông Tin 7/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu Tạo sở liệu: Cú pháp: CREATE DATABASE database_name [ ON [ < filespec > [ , n ] ] [ , < filegroup > [ , n ] ] ] [ LOG ON { < filespec > [ , n ] } ] Cú pháp Filespec: (NAME = logical_name, FILENAME = 'path\filename', SIZE = size_in_MB, MAXSIZE = size_in_MB | UNLIMITED, FILEGROWTH = %_or_MB) Ví dụ : Tạo CSDL QLSV CREATE DATABASE QLSV ON PRIMARY Khoa Công Nghệ Thông Tin 8/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu (NAME=QLSV_Data, FILENAME='T:\BTSQL\QLSV_Data.mdf', SIZE=10MB, MAXSIZE=15MB, FILEGROWTH=20%) LOG ON ( NAME=QLSV_Log, FILENAME= 'T:\BTSQL\QLSV_Log.ldf', SIZE=3MB, MAXSIZE=5MB, FILEGROWTH=1MB) Ví dụ 2: Tạo CSDL QLBH CREATE DATABASE QLBH ON PRIMARY ( NAME = QLBH_data1, FILENAME = 'T:\BTSQL\QLBH_data1.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15% ), ( NAME = QLBH_data2, FILENAME = 'T:\BTSQL\QLBH_data2.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15% ), FILEGROUP QLBHGroup1 ( NAME = QLBH_data3, FILENAME = 'T:\BTSQL\QLBH_data3.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = ) ( NAME = QLBH_data4, FILENAME = 'T:\BTSQL\QLBH_data4.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = ) LOG ON ( NAME = 'QLBH_log', FILENAME = 'T:\BTSQL\QLBH_log.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB ) Mở CSDL Cú pháp: USE TenCSDL Ví dụ: use QLSV Xem thông tất CSDL Server hành Cú pháp: sp_helpdb sp_helpdb Xem thông tin CSDL Cú pháp: sp_helpdb TenCSDL sp_helpdb QLSV Kiểm tra không gian sử dụng CSDL Cú pháp: sp_spaceused sp_spaceused Thay đổi cấu trúc CSDL Cú pháp: ALTER DATABASE database_name Khoa Công Nghệ Thông Tin 9/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu ADD FILE filespec [TO FILEGROUP filegroup_name] ADD LOG FILE filespec | REMOVE FILE logical_filename | ADD FILEGROUP filegroup_name | REMOVE FILEGROUP filegroup_name | MODIFY FILE filespec | MODIFY FILEGROUP filegroup_name filegroup_property |SET optionspec [WITH termination] Ví dụ: a) Thêm file group GroupOrder vào CSDL QLBH Ví dụ: ALTER DATABASE QLBH ADD FILEGROUP QLBHGroup1 b) Chỉnh sửa Size tập tin ALTER DATABASE QLBH MODIFY FILE (NAME = 'QLBH_log', size =10MB) c) Bổ sung thêm tập tin liệu thứ cấp QLBH_data2 ALTER DATABASE QLBH ADD File (Name =QLBH_data2, Filename ='T:\BTSQL\QLBH_data2.mdf', SIZE =10 MB, Maxsize =20MB) d) Xóa file thứ cấp QLBH_data2 ALTER DATABASE QLBH REMOVE FILE QLBH_data2 e) Xóa file group GroupOrder: ý file group muốn xóa phải trống ALTER DATABASE QLBH REMOVE FILE QLBHGroup1 f) Thay đổi thuộc tính CSDL Cú pháp: ALTER DATABASE database_name SET option [, status] Option AUTO_SHRINK CURSOR_CLOSE_ON_COMMIT RECOVERY FULL | BULK_LOGGED | SIMPLE SINGLE_USER | RESTRICTED_USER | MULTI_USER READ_ONLY | READ_WRITE Ví dụ: ALTER DATABASE QLBH SET Read_Only g) Đổi tên sở liệu: Cú pháp: sp_renamedb [ @dbname = ] 'old_name', [ @newname = ] 'new_name‘ Ví Dụ: Sp_ReNamedb 'QLBH','Banhang' Khoa Cơng Nghệ Thơng Tin 10/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu Các hàm tổng hợp - Aggregate Functions: tổng hợp thông tin từ nhiều thành Chức grouping sử dụng để tạo nhóm trước thực tổng hợp liệu Các hàm tổng hợp: COUNT, SUM, MAX, MIN, AVG Ví dụ: SELECT SUM(quantity) AS 'Sum of Quantity' FROM [Order Details] Mệnh đề GROUP BY: định thuộc tính kết nhóm xuất mệnh đề select, kết hàm thống kê áp dụng cho nhóm SELECT orderid, SUM(quantity+unitprice) AS 'Total' FROM [Order Details] GROUP BY orderid Mệnh đề Having: xác định điều kiện lọc sau nhóm liệu SELECT orderid, SUM(quantity+unitprice) AS 'Total' FROM [Order Details] GROUP BY ordered HAVING SUM(quantity+unitprice)>10000000 f) Lệnh select into Có thể tạo bảng dựa vào kết câu lệnh select Ví dụ: SELECT C.CustomerID AS NameId, OrderID, OrderDate INTO Customer_Order FROM Customers C INNER JOIN Orders O ON C.CustomerID = O.CustomerID WHERE month(OrderDate) = g) Truy vấn - Nested Queries Nested query query chứa query khác, query chứa bên gọi subquery Subquery thường xuất mệnh đề WHERE query Ngoài Subquery xuất mệnh đề FROM HAVING Các phép tốn dùng nested query • IN: so sánh giá trị v với tập giá trị V, kết TRUE v tồn V Ví dụ: SELECT Orderid, orderdate FROM [Orders] WHERE Orderid IN (SELECT Orderid FROM [Customers] WHERE city = ‘Lon don’) • NOT IN: so sánh giá trị v với tập giá trị V, kết TRUE v khơng tồn V Ví dụ: SELECT Orderid, orderdate FROM [Orders] WHERE Orderid NOT IN (SELECT Orderid FROM [Customers] WHERE city = 'Lon don') Khoa Công Nghệ Thông Tin 32/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Mơn Hệ Cơ Sở Dữ Liệu • ANY: kết hợp với phép toán op (>, >=, , >=, 200, thơng tin gồm [ProductID], [ProductName], SumofQuatity 12 Danh sách Customer ứng với tổng tiền hóa đơn tháng Thơng tin bao gồm CustomerID, CompanyName, Month_Year, Total Trong Month_year tháng năm lập hóa đơn, Total tổng Unitprice* Quantity 13 Cho biết Employees bán nhiều tiền năm 1997 14 Danh sách khách có nhiều đơn hàng năm 1996 Khoa Công Nghệ Thông Tin 38/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu 15 Tính tổng số hóa đơn tổng tiền nhân viên bán tháng 3/1997, có tổng tiền >4000, thơng tin gồm [EmployeeID],[LastName], [FirstName], countofOrderid, sumoftotal TUẦN (3 TIẾT) BÀI TẬP 4: LỆNH SELECT – TRUY VẤN CON SUBQUERY Các product có đơn giá bán lớn đơn giá bán trung bình product Thông tin gồm ProductID, ProductName, Unitprice (Bên bảng Order Details) Các product có đơn giá bán lớn đơn giá bán trung bình product có ProductName bắt đầu ‘N’ Cho biết sản phẩm có tên bắt đầu chữ N đơn giá bán > đơn giá bán sản phẩm khác Danh sách products có khách hàng đặt hàng (tức ProductId có Order Details) Thơng tin bao gồm ProductId, ProductName, Unitprice Danh sách products có đơn giá nhập lớn đơn giá bán nhỏ tất Products Danh sách hóa đơn Customers mà Customers thành phố LonDon Madrid Danh sách products có đơn vị tính có chữ Box có đơn giá mua nhỏ đơn giá bán trung bình tất Products Danh sách Products có số lượng (Quantity) bán lớn Danh sách Customer chưa lập hóa đơn (viết ba cách: dùng NOT EXISTS, dùng LEFT JOIN, dùng NOT IN ) 10 Cho biết sản phẩm có đơn vị tính có chứa chữ box có đơn giá bán cao 11 Danh sách products có đơn giá bán lớn đơn giá bán trung bình Products có ProductId=3 14 Liệt kê sản phẩm có 20 đơn hàng q năm 1998, thông tin gồm [ProductID], [ProductName] 15 Liệt kê danh sách sản phẩm Producrs chưa bán tháng năm 1996 16 Liệt kê danh sách Employes khơng lập hóa đơn vào ngày hơm 17 Liệt kê danh sách Customers chưa mua hàng năm 1997 18 Tìm tất Customers mua sản phẩm có tên bắt đầu chữ T tháng 19 Danh sách City có nhiều customer Khoa Công Nghệ Thông Tin 39/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu 20 Bạn đưa câu hỏi cho câu truy vấn sau cho biết khác câu truy vấn này: Select ProductId, ProductName, UnitPrice from [Products] Where Unitprice>ALL (Select Unitprice from [Products] where ProductName like ‘B%’) Select ProductId, ProductName, UnitPrice from [Products] Where Unitprice>ANY (Select Unitprice from [Products] ProductName like ‘B%’) where Select ProductId, ProductName, UnitPrice from [Products] Where Unitprice=ANY (Select Unitprice from [Products] ProductName like ‘B%’) where BÀI TẬP 5: LỆNH SELECT – CÁC LOẠI TRUY VẤN KHÁC Kết danh sách Customer Employee lại với Thông tin gồm CodeID, Name, Address, Phone Trong CodeID CustomerID/EmployeeID, Name Companyname/LastName + FirstName, Phone Homephone Dùng lệnh SELECT…INTO tạo bảng HDKH_71997 cho biết tổng tiền khách hàng mua tháng năm 1997 gổm CustomerID, CompanyName, Address, ToTal =sum(quantity*Unitprice) Dùng lệnh SELECT…INTO tạo bảng LuongNV cho biết tổng lương nhân viên tháng 12 năm 1996 gổm EmployeeID, Name LastName + FirstName, Address, ToTal =sum(quantity*Unitprice) Liệt kê khách hàng có đơn hàng chuyển đến quốc gia ([ShipCountry]) 'Germany' 'USA' quý năm 1998, công ty vận chuyển (CompanyName) Speedy Express thực hiện, thông tin gồm [CustomerID], [CompanyName] (tên khách hàng), tổng tiền Pivot Query Tạo bảng dbo.HoaDonBanHang có cấu trúc sau CREATE TABLE dbo.HoaDonBanHang ( orderid INT NOT NULL, orderdate DATE NOT NULL, empid INT NOT NULL, custid VARCHAR(5) NOT NULL, qty INT NOT NULL, CONSTRAINT PK_Orders PRIMARY KEY(orderid) ) Khoa Công Nghệ Thông Tin 40/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu Chèn liệu vào bảng (30001, '20070802', 3, 'A', 10), (10001, '20071224', 2, 'A', 12), (10005, '20071224', 1, 'B', 20), (40001, '20080109', 2, 'A', 40), (10006, '20080118', 1, 'C', 14), (20001, '20080212', 2, 'B', 12), (40005, '20090212', 3, 'A', 10), (20002, '20090216', 1, 'C', 20), (30003, '20090418', 2, 'B', 15), (30004, '20070418', 3, 'C', 22), (30007, '20090907', 3, 'D', 30) a) Tính tổng Qty cho nhân viên Thông tin gồm empid, custid b) Tạo bảng Pivot có dạng sau Gợi ý: SELECT empid, A, B, C, D FROM (SELECT empid, custid, qty FROM dbo.Orders) AS D PIVOT(SUM(qty) FOR custid IN(A, B, C, D)) AS P; c) Tạo query lấy liệu từ bảng dbo.HoaDonBanHang trả số hóa đơn lập nhân viên employee năm d) Tạo bảng pivot hiển thị số đơn đặt hàng thực nhân viên có mã 164, 198, 223, 231, and 233 Khoa Công Nghệ Thông Tin 41/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu BÀI TẬP TUẦN Số tiết: Mục tiêu:  Thêm, sửa, xóa liệu nâng cao lệnh Insert, Update, Delete Phần tập dùng CSDL QLBH làm Tuần BÀI TẬP 1: LỆNH INSERT Cách 1: Dùng chức Import/Export (kiểm tra kết sau lần thực hiện) 1) Tất thơng tin nhân viên có bảng Employees NorthWind thành tập tin NhanVien.txt 2) Dữ liệu bảng Products, Orders, Order Details bảng NorthWind vào tập tin QLHH.MDB Lưu ý: Tập tin QLHH.MDB phải tồn đĩa trước thực Export 3) Dữ liệu bảng Products, Suppliers NorthWind thành tập tin SP_NCC.XLS 4) Các khách hàng có City LonDon từ bảng Customers NorthWind thành tập tin KH.TXT 5) Danh sách sản phẩm Products NorthWind thành tập tin SanPham.TXT, thông tin cần lấy bao gồm ProductID, ProductName, QuantityPerUnit, Unitprice 6) Các sản phẩm có SupplierID hoặc bảng Products NorthWind vào bảng SanPham QLBH Lưu ý chọn cột mà bảng sản phẩm cần 7) Các nhà cung cấp có Country USA bảng Suppliers NorthWin vào bảng NhaCungCap QLBH Lưu ý: chọn cột mà Nhacungcap cần 8) Danh sách nhân viên có tập tin Nhanvien.TXT vào bảng NhanVien Cách 2: Dùng lệnh Insert…Select… 1) Xóa hết liệu có Table sở liệu QLBH lệnh Delete 2) Trong trường hợp khơng xóa liệu bảng SanPham chưa xóa liệu bảng SanPham? 3) Nếu bạn muốn xóa Bảng cha xóa ln bảng quan hệ bạn phải làm gì? Bạn thực ví dụ minh họa 4) Dùng lệnh Insert thêm vào bảng CSDL QLBH record với nội dung sinh viên tự nghĩ 5) Dùng câu lệnh INSERT … SELECT với cột chọn cần thiết để thêm liệu vào (nhớ kiểm tra kết sau lần thực hiện): Khoa Công Nghệ Thông Tin 42/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu a Các khách hàng có bảng Customers NorthWind vào bảng KhachHang QLBH b Các sản phẩm có SupplierID từ đến 29 bảng Products CSDL NorthWind vào bảng Sanpham QLBH c Danh sách tất hố đơn có OrderID nằm khoảng 10248 đến 10350 bảng Orders Northwind vào bảng HoaDon, hoá đơn xem hoá đơn xuất - tức LoaiHD ‘X’ d Danh sách tất hố đơn có OrderID nằm khoảng 10351 đến 10446 bảng Orders Northwind vào bảng HoaDon, hoá đơn xem hoá đơn nhập - tức LoaiHD ‘N’ e Danh sách tất chi tiết hố đơn có OderID nằm khoảng 10248 đến 10270 bảng Order Detail NorthWind vào bảng CT_HoaDon Chú ý: ràng buộc khóa chính, khóa ngoại ràng buộc khác Chỉ lấy cột tương ứng với bảng CSDL QLBH BÀI TẬP 2: LỆNH UPDATE Cập nhật đơn giá bán 100000 cho mã sản phẩm có tên bắt đầu chữ T Cập nhật số lượng tồn = 50% số lượng tồn có cho sản phẩm có đơn vị tính có chữ box Cập nhật mã nhà cung cấp bảng NHACUNGCAP thành 100? Bạn có cập nhật hay khơng? Vì sao? Tăng điểm tích lũy lên 100 cho khách hàng mua hàng tháng năm 1997 Giảm 10% đơn giá bán cho sản phẩm có số lượng tồn 16, thơng tin gồm ProductID, ProductName, UnitPrice, QuantityPerUnit, COUNT of OrderID Tạo view vw_CustomerTotals hiển thị tổng tiền bán từ khách hàng theo tháng theo năm Thông tin gồm CustomerID, YEAR(OrderDate) AS OrderYear, MONTH(OrderDate) AS OrderMonth, SUM(UnitPrice*Quantity) Xem lại cú pháp lệnh tạo view Tạo view trả tổng số lượng sản phẩm bán nhân viên (Employee) theo năm Thông tin gồm EmployeeID, OrderYear, sumOfOrderQuantity Yêu cầu sau tạo view, người dùng không xem cú pháp lệnh tạo view Tạo view ListCustomer_view chứa danh sách khách hàng có hóa đơn đặt hàng từ năm 1997 đến 1998, thông tin gồm mã khách (CustomerID) , họ tên (CompanyName), Số hóa đơn (CountOfOrders) Tạo view ListProduct_view chứa danh sách sản phẩm nhóm Beverages Seafood có tổng số lượng bán năm 30 sản phẩm, thông tin gồm CategoryName, ProductName, Year, SumOfOrderQuantity Tạo view vw_OrderSummary với từ khóa WITH ENCRYPTION gồm OrderYear (năm ngày lập hóa đơn), OrderMonth (tháng ngày lập hóa đơn), OrderTotal (tổng tiền, =UnitPrice*Quantity) Sau xem thơng tin trợ giúp mã lệnh view Tạo view vwProducts với từ khóa WITH SCHEMABINDING gồm ProductID, ProductName, Discount Xem thơng tin View Xóa cột Discount Có xóa khơng? Vì sao? Tạo view vw_Customer với với từ khóa WITH CHECK OPTION chứa khách hàng thành phố London Madrid, thông tin gồm: CustomerID, CompanyName, City a Chèn thêm khách hàng không thành phố London Madrid thông qua view vừa tạo Có chèn khơng? Giải thích Khoa Công Nghệ Thông Tin 44/46 Trường ĐH Công Nghiệp TP.HCM Bài Tập Thực Hành Môn Hệ Cơ Sở Dữ Liệu b Chèn thêm khách hàng thành phố London khách hàng thành phố Madrid Dùng câu lệnh select bảng Customers để xem kết 10 Tạo bảng có tên KhangHang_Bac, KhachHang_Trung, KhachHang_Nam, dùng để lưu danh sách khách hàng ba miền, có cấu trúc sau: MaKh, TenKH, DiaChi, KhuVuc Trong đó, KhachHang_Bac có Check Constraint Khuvuc ‘Bac Bo’ KhachHang_Nam có Check Constraint Khuvuc ‘Nam Bo’ KhachHang_Trung có Check Constraint Khuvuc ‘Trung Bo’ Khố MaKH KhuVuc Tạo partition view từ ba bảng trên, sau chèn mẫu tin tuỳ ý thơng qua view Kiểm tra xem mẫu tin lưu vào bảng thêm/sửa/xóa liệu vào view? 11 Lần lược tạo view sau, đặt tên tùy ý, sau tạo kiểm tra tồn kết truy vấn từ view ▪ Danh sách sản phẩm có chữ ‘Boxes’ DonViTinh ▪ Danh sách sản phẩm có đơn giá

Ngày đăng: 21/09/2021, 19:21

Từ khóa liên quan