Thực hành CSDL với SQL Server 2000

Thực hành CSDL với SQL Server 2000  
BÀI TẬP 0  
Thực hành theo chương 7 trong giáo trình Database system để làm quen với QBE.  
BÀI TẬP 1  
1. Khởi động SQL Server Service Manager  
- Start\ Program File\ MicroSoft SQL Server\ Service Manager  
- Thực hiện Start, Pause, Stop các Sevice của một Server trên máy hiện hành.  
Server: Chọn tên Server có service cần chạy. Nếu máy hiện hành là Server thì có  
thể gõ vào dấu chấm (.) hoặc chữ Local.  
Services: Chọn tên Service cần chạy.  
Chọn Star/Continue: Khởi động chạy  
Pause: Tạm dừng Sevice  
Stop: Ngưng Service  
- Bạn hãy cho khởi động các dịch vụ SQL Server, SQL Server Agent.  
- Đóng hộp thoại SQL Server Service Manager.  
- Quan sát góc phải trên thanh task bar có biểu tượng  
không?  
1/24  
Thực hành CSDL với SQL Server 2000  
2. Khởi động Enterprise Manager  
- Start\ Program File\ MicroSoft SQL Server\ Enterprise Manager  
- Lần lượt mở các nhánh của cây MicroSoft SQL Servers.  
- Tìm hiểu sơ lược cửa sổ, trình đơn, thanh công cụ.  
3. Tại Enterprise Manager, thực hiện:  
- Quan sát các thành phần đối tượng trên cửa sổ và hãy cho biết:  
Có bao nhiêu SQL Server Group, mỗi Server tên là gì? Đang connect hay disconnect?  
...............................................................................................................................  
...............................................................................................................................  
Liêt kê các thành phần trong Server hiện hành  
...............................................................................................................................  
...............................................................................................................................  
Trong server hiện hành, có các Database nào?  
...............................................................................................................................  
(Hãy so sánh tên của các database với các database của máy bên cạnh)  
Trong mỗi Database có những đối tượng nào?  
2/24  
Thực hành CSDL với SQL Server 2000  
...............................................................................................................................  
...............................................................................................................................  
(Các database khác nhau thì các đối tượng có khác nhau không? )  
- Mở database Master, khảo sát các đối tượng:  
Vào đối tượng Table, tìm hiểu cấu trúc và dữ liệu của bảng (lưu ý: chỉ được chọn xem  
không nên xoá hay sửa dữ liệu): Sysdatabases, SysObjects, systypes, syslogins,  
sysusers, sysmessages, syspermissions…  
Vào đối tượng Stored Procedures, tìm hiểu nội dung của các thủ tục sau (lưu ý: chỉ  
được chọn xem không nên xoá 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, …  
- Mở database Northwind, khảo sát các đối tượng:  
Cho biết trong số các bảng thuộc database Master được liệt trên, bảng nào có  
trong database NorthWind?  
Trong stored procedure có các thủ tục liệt trên hay không?  
Tìm hiểu cấu trúc và dữ liệu của các bảng: Customers, Orders, Order Detail,  
Products, Suppliers, Regions, Shippers, …. Hãy cho biết mối quan hệ giữa các bảng  
này (đưa ra mô hình quan hệ)  
Tạo một diagram giữa các bảng trên. (Hướng dẫn: Nhấp nút phải chuột tại diagrams  
của database Northwind, chọn New database diagram, hoàn tất các hộp thoại Create  
database diagrams wizard.  
- Tương tự khảo sát các đối tượng trong database Pubs  
4. Khởi động Books online. Lần lượt tìm hiểu các 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 và nhấn Enter)  
5. Khởi động Query Analayzer  
- Start\ Program File\ MicroSoft SQL Server\ Query Analyzer. Xuất hiện hộp thoại sau.  
3/24  
Thực hành CSDL với SQL Server 2000  
- Khai báo thông tin kết nối:  
SQL Server: <chọn tên Server cần kết nối>  
Connect using: Chọn chế độ xác thực Windows authentication hoặc SQL Server  
authentication. Nếu chọn chế độ SQL Server authentication thì phải cho biết  
Login name (mặc định sa) và Password.  
- Chọn OK. Nếu kết nối thành công thì cửa sổ Query Analayzer xuất hiện  
cửa sổ Editor  
Object Brower  
Cửa sổ Result  
4/24  
Thực hành CSDL với SQL Server 2000  
6. Tại Query Analyzer, quan sát các thành phần đối tượng trong cửa sổ:  
- Có bao nhiêu database?  
- Trong database Master Northwind, khảo sát các đối tượng và so sánh xem chúng có  
tương tự như được nhìn thấy trong Enterprise Manager hay không?  
- Tìm hiểu các chức năng trong thanh trình đơn, thử bật tắt cửa sổ Object Brower, cửa sổ  
Result.  
- Tìm hiểu các lựa chọn trong hộp thoại Tool, Options.  
- Chọn File, Disconnect. Sau đó File, Connect lại.  
7. Trong cửa sổ Editor của Query Analyzer, gõ lần lược các câu lệnh, cho thực hiện (đánh  
dấu chọn, nhấn F5) và quan sát kết quả.  
USE Northwind  
SELECT * FROM Employees  
SELECT * FROM Customers  
SELECT * FROM Customers WHERE companyName LIKE 'W%'  
Sp_helpDB  
Sp_help Orders  
Sp_helpconstraints [Order Details]  
SELECT * FROM INFORMATION_SCHEMA.COLUMNS  
SELECT * FROM INFORMATION_SCHEMA.TABLES  
SELECT * FROM INFORMATION_SCHEMA.TABLE_PRIVILEGES  
8. Tiếp tục thực hiện  
- Đánh dấu chọn câu lệnh sp_helpDB, nhấn Shift_F1.  
- Lưu các câu lệnh đang gõ vào tập tin có tên là Truyvan.SQL, trong thư mục tùy ý.  
- Disconnect và sau đó Connect lại  
- Mở lại tập tin Truyvan.SQL.  
- Cho thực hiện lại từng câu lệnh.  
5/24  
Thực hành CSDL với SQL Server 2000  
BÀI TẬP 2:  
Chọn database hiện hành là Northwind, dùng câu lệnh Select … From … Where … để  
truy vấn dữ liệu như sau, với cấu trúc của các bảng như sau:  
Products(ProductID,ProductName, SupplierID, UnitPrice, UnitInStock, … )  
Customers(CustomerID, CompanyName, Address, City, Region, Country, …)  
Employees(EmployeeID, LastName, FirstName, BirthDate, City, …)  
Orders(OderID, CustomerID, EmployeeID, OrderDate,…)  
Order Details(OrderID, ProductID, UnitPrice, Quantity, Discount)  
1. Danh sách các customers. Thông tin gồm CustomerID, CompanyName, City, Phone.  
2. Danh sách các products. Thông tin bao gồm ProductId, ProductName, UnitPrice.  
3. Danh sách các employees. Thông tin bao gồm EmployeeId, EmployeeName, Phone, Age.  
Trong đó EmployeeName được ghép từ LastName và FirstName; Age là tuổi được tính từ  
năm hiện hành (GetDate()) và năm của Birthdate.  
4. Cho xem danh sách employees có năm sinh <=1960.  
5. Danh sách các products có từ ‘Boxes’ trong cột QuantityPerUnit.  
6. Danh sách các products có Unitprice lớn hớn 10 và nhỏ hơn 15.  
7. Danh sách các orders có OrderDate được lập trong tháng 9 năm 1996.  
8. Danh sách các products ứng với tiền tồn vốn. Thông tin bao gồm ProductId, ProductName,  
Unitprice, UnitsInStock, TotalAccount. Trong đó TotalAccount= UnitsInStock *  
Unitprice.  
9. Danh sách các customer có city là Paris.  
10.Danh sách 5 customer có city bắt đầu ‘M’.  
11.Danh sách 2 employee có tuổi lớn nhất. Thông tin bao gồm EmployeeID, EmployeeName,  
Age. Trong đó, EmployeeName được ghép từ LastName và FirstName, Age là năm hiện  
hành từ cho năm sinh.  
12.Danh sách các product đã từng có khách hàng đặt hàng (tức là ProductId có trong Order  
Details). Thông tin bao gồm ProductId, ProductName, Unitprice.  
13.Danh sách các order ứng với tổng tiền của từng order. Thông tin bao gồm OrderId,  
OrderDate, TotalAmount. Trong đó TotalAmount là Sum của Quantity * Unitprice, kết  
nhóm theo OrderId.  
14.Danh sách các order ứng với tổng tiền của từng hóa đơn có ShipCity là ‘Madrid’. Thông  
tin bao gồm OrdersId, OrderDate, TotalAmount. Trong đó TotalAmount là Sum của  
Quantity * Unitprice, kết nhóm theo OrderId.  
15.Danh sách các product có tổng số lượng lập hóa đơn lớn nhất.  
6/24  
Thực hành CSDL với SQL Server 2000  
16.Cho biết mỗi customer đã lập bao nhiêu lượt hóa đơn bao. Thông tin gồm CustomerID,  
CompanyName, CountOfOrder. Trong đó CountOfOrder (tổng số hóa đơn) được đếm  
(Count) theo từng Customer.  
17.Cho biết mỗi Employee đã lập được bao nhiêu hóa đơn với tổng tiền là bao nhiêu?  
18.Cho biết những Customer chưa từng lập hóa đơn.  
7/24  
Thực hành CSDL với SQL Server 2000  
BÀI TẬP 3:  
1. Ở tại cửa sổ Enterprise Manager, thực hiện:  
a. Dùng Enterprise Manager hoặc Database Wizard tạo database GhiDanh có tham số như  
sau:  
Tham số  
Giá trị  
Database name  
GhiDanh  
Tên logic của data file chính  
Tên tập tin và đường dẫn của data file chính  
Kích cở khởi tạo của database  
Kích cở tối đa của database  
Gia số gia tăng tập tin database  
Tên logic của transaction log  
GhiDanh_data  
D:\GhiDanh\GhiDanh_Data.mdf  
20 MB  
40 MB  
1 MB  
GhiDanh_Log  
Tên tập tin và đường dẫn của transaction log D:\GhiDanh\GhiDanh_Log.ldf  
Kích cở khởi tạo của transaction log  
Kích cở tối đa của transaction log  
Gia số gia tăng tập tin transaction log  
6 MB  
8 MB  
1 MB  
b. Xem lại thuộc tính (property) của database GhiDanh. (HD: Nhắp phải chuột tại tên  
database, chọn properties). Quan sát và cho biết các trang thể hiện thông tin gì?.  
c. Tại cửa sổ properties của database, khai báo thêm  
Một Group File mới có tên là DuLieuGhiDanh  
Một tập tin dữ liệu (data file) thứ hai nằm trong Group file vừa tạo ở trên và có thông  
số như sau Tên login của data file là GhiDanh_Data2; Tên tập tin và đường dẫn vật lý  
của data file là D:\GhiDanh\GhiDanh_Data2.ndf.  
Chọn thuộc tính ReadOnly, sau đó đóng cửa sổ properies. Quan sát màu sắc của  
database. Bỏ thuộc tính ReadOnly.  
2. Ở tại Query Analyzer (lưu ý: sau mỗi lần sự thay đổi thì phải dùng các lệnh để kiểm tra sự  
thay đổi đó)  
a. Dùng lệnh Create DataBase, tạo một database với các tham số được liệt như trong bảng  
dưới. Lưu ý rằng database này gồm một data file và nó được nằm trong primary filegroup  
Tham số  
Giá trị  
Database name  
SalesDB  
Tên logic của data file chính  
SalesDB_data1  
Tên tập tin và đường dẫn của data file chính D:\data\database\SalesDb_data1.mdf  
8/24  
Thực hành CSDL với SQL Server 2000  
Kích cở khởi tạo của database  
10 MB  
Kích cở tối đa của database  
Gia số gia tăng tập tin database  
Tên logic của transaction log  
40 MB  
1 MB  
SalesDB_Log  
Tên tập tin và đường dẫn của transaction log D:\data\database\SalesDb.ldf  
Kích cở khởi tạo của transaction log  
Kích cở tối đa của transaction log  
Gia số gia tăng tập tin transaction log  
6 MB  
8 MB  
1 MB  
b. Xem lại thuộc tính của database SalesDB bằng Enterprise Manager và bằng thủ tục dựng  
sẵn của hệ thống sp_helpDb, sp_spaceused.  
c. Thêm một filegroup có tên là DuLieuSalesDB (HD: dùnglệnh Alter DataBase <Tên  
Database> ADD FILEGROUP <Tên filegroup>)  
d. Khai báo một secondary file có tên logic là SalesDb_data2, tên vật lý SalesDB_data2.ndf  
nằm ở D:\Data\Database, các thông số khác tuỳ bạn chọn, data file này nằm trong file  
group là DuLieuSalesDB. (HD: Dùng lệnh Alter Database …ADD FILE …TO  
FILEGROUP …)  
e. Dùng Books Online, bạn tìm hiểu thủ tục hệ thống sp_helpfilegroup dùng để làm gì?  
f. Dùng lệnh Alter Database … Set để cấu hình cho database SalesDB có thuộc tính là  
Read_Only. Dùng sp_helpDB để xem lạ thuộc tính của database. Hủy bỏ thuộc tính  
Read_Only.  
g. Dùng lệnh Alter DataBase … MODIFY FILE … để tăng SIZE của SalesDB_data1 thành  
50 MB. Tương tự tăng SIZE của tập tin SalesDB_log thành 10 MB. Nếu trong Enterprise  
Manager để thay đổi SIZE của các tập tin bạn làm như thế nào?  
3. Ở tại cửa sổ Enterprise Manager, thực hiện:  
a. Dùng Enterprise manager tạo cấu trúc của các bảng sau trong database GhiDanh:  
LOP (MaLop char(5) , TenLop char(20), SiSoDuKien Int,  
NgayKhaiGiang DateTime)  
SV (MaSV char(5), TenHo NVarchar(50), NgaySinh DateTime,  
MALOP char(5))  
Lưu ý: gạch chân là khóa chính, in đậm là Not Null  
b. Tạo Diagram giữa hai bảng vừa tạo.  
c. Nhập dữ liệu tùy ý vào hai bảng, mỗi bảng khoảng 3 mẫu tin.  
d. Dùng tác vụ General Script, để tạo đoạn Script cho database và tất cả các đối tượng của  
database thành một tập tin Script có tên là GhiDanh.SQL  
9/24  
Thực hành CSDL với SQL Server 2000  
e. Vào Query Analyzer, mở tập tin Script vừa tạo khảo sát công dụng và cú pháp của các  
lệnh có trong tập tin script.  
f. Dùng thao tác xóa để xoá toàn bộ database GhiDanh  
4. Tìm hiểu về kiểu dữ liệu (datatype):  
a. Tìm hiểu trả lời các câu hỏi sau:  
- Có bao mấy loại datatype, hãy liệt kê.  
- Các system datatype được SQL Server lưu trữ trong Table nào trong database nào.  
- Các User-defined datatype được SQL Server lưu trữ trong Table nào trong database  
nào?  
b. Vào Query Analyzer, chọn SalesDB là database hiện hành, định nghĩa các datatype:  
Kiểu dữ liệu (Data type)  
MaVung  
tả dữ liệu (Description of data)  
10 ký tự  
STT  
STT không vượt quá 30,000  
13 ký tự , chấp nhận NULL  
Số tự thay đổi đến 15 ký tự  
SoDienThoai  
Shortstring  
HD: Dùng thủ tục sp_addtype để định nghĩa  
dụ: EXEC sp_addtype SoDienThoai, 'char(13)', NULL  
c. Các User-defined datatype vừa định nghĩa được lưu trữ ở đâu phạm vi sử dụng của ở  
đâu (trong toàn bộ một instance hay chỉ ở trong database hiện hành).  
d. Có bao nhiêu cách liệt kê danh sách các các User-Defined datatype vừa định nghĩa.  
SELECT domain_name, data_type, character_maximum_length  
FROM information_schema.domains  
ORDER BY domain_name  
Hoặc SELECT * From Systype  
e. Muốn User-Defined datatype được dùng trong tất cả các database thì bạn định nghĩa ở  
đâu?  
f. Hãy xóa kiểu dữ liệu SoSienThoai.  
10/24  
Thực hành CSDL với SQL Server 2000  
BÀI TẬP 4:  
Ở tại cửa sổ Query Analyzer, thực hiện:  
a. Dùng lệnh Create Table … để tạo cấu trúc của các bảng sau trong database SalesDB:  
Lưu ý - Chỉ khai báo Null hoặc Not Null, không cần khai báo khóa chính, khóa ngoại.  
SanPham  
MaSP  
int  
Not null  
Not null  
TenSP  
nvarchar(50)  
nvarchar(50)  
nvarchar(20)  
Money  
MoTa  
ĐonViTinh  
GiaGoc  
>=0  
HoaDon  
MaHD  
Int  
Not null  
Not Null  
NgayLapHD  
NoiChuyen  
MaKH  
DateTime  
nvarchar(50)  
char(5)  
CT_HoaDon  
MaHD  
Int  
Not null  
Not null  
>=0  
MaSP  
int  
SoLuong  
DonGia  
ChietKhau  
Int  
Money  
Money  
11/24  
Thực hành CSDL với SQL Server 2000  
NhaCungCap  
MaNCC  
TenNCC  
DiaChi  
Phone  
Int  
Not null  
Not Null  
Nvarchar(50)  
Nvarchar(50)  
Varchar(24)  
Varchar(24)  
Varchar(50)  
Fax  
Email  
KhachHang  
MaKH  
TenKH  
DiaChi  
Phone  
Char(5)  
Not null  
Not null  
Nvarchar(50)  
Nvarchar(50)  
Varchar(24)  
Varchar(24)  
varchar(50)  
Fax  
Email  
b. Dùng lệnh Alter Table … khai báo các ràng khóa chính các bảng.  
c. Dùng lệnh Alter Table … khai báo các ràng khóa ngoại ở các bảng.  
d. Dùng lệnh Alter Table … khai báo các ràng buộc miền giá trị (Check Constraint) như sau:  
Dongia>=0; ChietKhau>=0;  
e. Thêm cột LoaiHD vào bảng HOADON, LoaiHD có kiểu dữ liệu char(1), chỉ chấp nhận  
‘N’ hoặc ‘X’, giá trị mặc định là ‘N’.  
12/24  
Thực hành CSDL với SQL Server 2000  
BÀI TẬP 5  
Dùng database Northwind, dùng câu lệnh SELECT … FROM … để cho biết:  
1. Các product có đơn giá lớn hơn đơn giá trung bình của tất cả product.  
2. Các product có đơn giá > đơn giá trung bình của các product có tên bắt đầu là ‘N’.  
3. Các customer không có đơn hàng (order) trong tháng 7/1997.  
4. Các customer có đơn hàng trong 15 ngày đầu tiên của 7/1997.  
5. Danh sách các customer ứng với tổng tiền của các hoá đơn được lập từ 31/12/1996 đến  
1/1/1998.  
6. Danh sách các customer ứng với tổng tiền các hoá đơn, mà các hóa đơn được lập từ  
31/12/1996 đến 1/1/1998 và tổng tiền các hóa đơn >20000.  
7. Danh sách các customer ứng với tổng số hoá đơn, tổng tiền các hoá đơn, mà các hóa đơn được  
lập từ 31/12/1996 đến 1/1/1998 và tổng tiền các hóa đơn >20,000.  
8. Danh sách các Customer chưa từng lập hóa đơn (viết bằng ba cách: dùng NOT EXISTS, dùng  
LEFT OUTER JOIN, dùng NOT IN)  
9. Danh sách các City có nhiều hơn 3 customer.  
10. Danh sách các Category tổng số lượng tồn (UnitsInStock) lớn hơn 300, đơn giá trung bình  
nhỏ hơn 25. Thông tin kết quả bao gồm CategoryID, CategoryName, Total_UnitsInStock,  
Average_Unitprice.  
11. Danh sách các Category có tổng số product lớn hớn 10. Thông tin kết quả bao gồm  
CategoryID, CategoryName, Total_UnitsInStock.  
12. Danh sách các product, thông tin bao gồm: Productname, CategoryName, Unitprice. Có dùng  
mệnh đề COMPUTE để liệt đơn giá trung bình theo từng CategoryName.  
13. Danh sách các product theo từng CategoryName, thông tin bao gồm: Productname,  
CategoryName,Unitprice, UnitsinStock. Có dùng mệnh đề COMPUTE để liệt đơn giá  
trung bình, tổng số lượng tồn (sum of UnitsinStock) theo từng CategoryName.  
14. Bổ sung COMPUTE vào câu trên để thống kê thêm đơn giá trung bình và tổng số lượng tồn  
của tất cả các product.  
15. Liệt kê danh sách các City có Customers hoặc Employee (dùng Union).  
16. Liệt kê danh sách các Country có Customers hoặc Employee (dùng Union).  
17. Kết danh sách các Customer và Employee lại với nhau. Thông tin gồm CodeID, Name,  
Address, Phone. Trong đó CodeID là CustomerID/EmployeeID, Name là  
Companyname/LastName + FirstName, Phone là Homephone.  
18. Danh sách các Customer ứng với tổng tiền của các hóa đơn ở từng tháng. Thông tin bao gồm  
CustomerID, CompanyName, Month_Year, Total. Trong đó Month_year là tháng và năm lập  
hóa đơn, Total là tổng của Unitprice* Quantity, có thống kế tổng của total theo từng Customer  
và Month_Year . (có dùng COMPUT).  
13/24  
Thực hành CSDL với SQL Server 2000  
BÀI TẬP 6  
Dùng database SalesDB, thực hiện tạo các view sau:  
1. Tạo một view có tên là vwSanPham_1, chính là danh sách các sản phẩm, được sắp xếp theo  
tên sản phẩm. Thông tin bao gồm Masp, TenSp, Mota, Donvitinh, GiaGoc, MaNCC.  
2. Lần lượt tạo view có tên là vwSanPham_2, vwSanPham_3, thông tin giống như  
vwSanPham_1 nhưng có thêm từ khóa WITH ENCRYPTION, WITH SCHEMABINDING.  
3. Bạn thực hiện: Nhớ kiểm tra và cho nhận xét.  
Dùng lệnh Insert … values chèn mẫu tin sau vào bản NhaCungCap:  
MaNCC TenNCC  
DiaChi  
Phone  
Fax  
Email  
101  
Công ty ABC 155 Sư Vạn 8459232  
8459232  
Hạnh  
Dùng lệnh Insert … values chèn mẫu tin sau thông qua view vwSanPham_1  
MaSP TenSP MoTa DonViTinh GiaGoc MaNCC  
10000000 101  
1111 Phan mem Quan Ly Version 1.0 Dia  
Nhan Su  
1112 Dia Chuong Trinh Thi CD  
Trac Nghiem SQL  
Dia  
6000  
6000  
101  
101  
1113 Dia Chuong Trinh Thi CD  
Trac Nghiem VB  
Dia  
Dùng sp_helptext <ViewName> để lần lược xem text của các view vwSanPham_1,  
vwSanPham_2, vwSanPham_3  
Dùng lệnh Alter Table để hiệu chỉnh kiểu dữ liệu của cột DonViTinh thành  
nvarchar(25), có hiệu chỉnh được không? Tại sao? Muốn hiệu chỉnh được thì phải như  
thể nào? Bạn thử thực hiện.  
4. Tạo view có tên là vwSanPhamABC, chỉ những sản phẩm của nhà cung cấp số là  
101, với lựa chọn WITH CHECK OPTION.  
5. Tạo view có tên là vwSanPhamNCC123, chỉ những sản phảm của các nhà cung cấp có mã  
số là 1 hoặc 2 hoặc 3, không dùng WITH CHECK OPTION.  
14/24  
Thực hành CSDL với SQL Server 2000  
6. Dùng câu lệnh Insert … Values để đưa mẫu tin thông qua view vwSanPhamCDCN4. Bạn có  
chèn được không? Tại sao? Bạn thử chèn mẩu tin này thông qua vwSanphamNCC123, có  
chèn được không? Bạn thử dùng câu lệnh SELECT để xem toàn bộ dữ liệu từ  
vwSanPham123, bạn có thay mẫu tin này không? Tại sao?  
MaSP TenSP  
MoTa  
Donvitinh GiaGoc  
MaNCC  
1114 Giai phap CNTT trong Giai phap  
doanh nghiep nho  
Mo hinh 10000000 4  
7. Dùng lệnh Delete để xoá mẫu tin vừa chèn trên. Sau đó chèn mẫu tin này với mã nhà cung  
lấp là 101 nhưng chèn thông qua view vwSanPhamABC.  
8. Dùng lệnh Update và thông quan vwSanPhamABC để cập nhật MaNCC thành 1 cho mẫu tin  
có mã sản phẩm là 1114. Bạn cập nhật được không? Nếu cập nhật thông qua view  
vwSanPhamABC thì kết quả như thế nào?  
9. Tạo 3 bảng lần lượt có tên là KhangHang_Bac, KhachHang_Trung, KhachHang_Nam, dùng  
để lưu danh sách các khách hàng ba miền, cấu trúc như sau: MaKh, TenKH, DiaChi,  
KhuVuc. Trong đó,  
KhachHang_Bac có một Check Constraint là Khuvuc là ‘Bac Bo’  
KhachHang_Nam có một Check Constraint là Khuvuc là ‘Nam Bo’  
KhachHang_Trung có một Check Constraint là Khuvuc là ‘Trung Bo’  
Khoá chính là MaKH và KhuVuc.  
10.Tạo một 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 được lưu vào bảng nào?  
11.Lần lược tạo các view sau, đặt tên tùy ý, sau khi tạo kiểm tra sự tồn tại kết quả truy vấn từ  
view.  
Danh sách các sản phẩm chữ ‘Boxes’ trong DonViTinh.  
Danh sách các sản phẩm đơn giá <10.  
Các sản phẩm đơn giá gốc lớn hơn hay bằng đơn giá gốc trung bình.  
15/24  
Thực hành CSDL với SQL Server 2000  
Danh sách các khách hàng ứng với các hóa đơn được lập. Thông tin gồm MaKH,  
TenKH, và tất cả các cột trong bảng HoaDon và CT_HoaDon.  
12.Trong các view câu trên view nào có thể INSERT, UPDATE, DELETE dữ liệu thông qua  
view được? Hãy Insert/Update/Delete thử dữ liệu tùy ý.  
16/24  
Thực hành CSDL với SQL Server 2000  
BÀI TẬP 7  
Cho lược đồ cơ sở dữ liệu sau:  
SINHVIEN(MASV, TEN, NAM, KHOA): Mỗi sinh viên đều có tên, mã, năm đang học, khoa theo học.  
MONHOC(MAMH , TENMH, TINCHI, KHOA): Mỗi môn học đều có tên, mã, số tín chỉ, khoa phụ  
trách.  
DIEUKIEN(MAMH, MAMHTRUOC): Mỗi môn học (MAMH) đều phải học sau môn học trước nó  
(MAMHTRUOC)  
KHOAHOC(MAKH, MAMH, HOCKY, NAM, GV): Mỗi khoá học đều có mã khoá học, mã môn học  
của khoá đó, học kỳ năm của khoá học, giảng viên phụ trách khoá đó. Chú ý là các khoá khác nhau có  
thể có chung môn học.  
KETQUA(MASV, MAKH, DIEM): Cho biết sinh viên nào học khoá nào và đạt điểm bao nhiêu.  
Sau đây một thể hiện của lược đồ cơ sở dữ liệu trên:  
SINHVIEN  
MASV  
TEN  
Sơn  
Bảo  
NAM  
KHOA  
CNTT  
CNTT  
TOAN  
17  
8
25  
1
2
2
Nam  
MONHOC  
MAMH  
TENMH  
TINCHI  
KHOA  
1310  
3320  
2410  
Nhập môn tin học  
Cấu trúc dữ liệu  
Toán rời rạc  
4
4
3
3
CNTT  
CNTT  
TOAN  
CNTT  
3380  
Cơ sở dữ liệu  
KHOAHOC  
MAKH  
MAMH  
HOCKY  
NAM  
GV  
17/24  
Thực hành CSDL với SQL Server 2000  
85  
92  
102  
112  
119  
2410  
1310  
3320  
2410  
1310  
3380  
1
1
2
1
1
1
86  
86  
87  
87  
87  
87  
Kim  
An  
Nien  
Chan  
An  
135  
Son  
KETQUA  
DIEUKIEN  
MASV MAKH DIEM  
MAMH MAMHTRUOC  
17  
17  
8
8
8
112  
119  
85  
92  
102  
135  
8
6
10  
10  
8
3380  
3380  
3320  
3320  
2410  
1310  
8
10  
Thực hiện các yêu cầu sau:  
1. Thêm vào SINHVIEN bộ (25,”Nam”, 2,”CNTT”).  
2. Thêm vào KETQUA hai bộ (25, 102, 7) và (25, 135, 9).  
3. Sửa bộ (8, 102, 8) thành (8, 102, 9) trong bảng KETQUA.  
4. Xoá bộ (8, 135, 10) trong bảng KETQUA.  
5. Liệt kê tên các sinh viên.  
6. Liệt kê tên các môn học số tín chỉ.  
7. Cho biết kết quả học tập của sinh viên có mã số 8.  
8. Cho biết tên sih viên, tên môn học điểm của từng sinh viên.  
9. Cho biết các mã số môn học phải học ngay trước môn có mã số 3320.  
10. Cho biết các mã số môn học phải học ngay sau môn có mã số 3320.  
11. Cho biết tên sinh viên và các môn học kết quả trên 7.  
12. Cho biết tên các sinh viên thuộc về khoa có phụ trách môn học “Toán rời rạc”.  
13. Cho biết tên các môn học phải học ngay trước môn “Cơ sở dữ liệu”.  
14. Cho biết tên các môn học phải học liền sau môn “Cấu trúc dữ liệu”.  
15. Tính điểm trung bình của mọi sinh viên.  
16. Liệt kê tên sinh viên và điểm trung bình của các sinh viên đó.  
17. Tính tổng số khoá học tổng số điểm của từng sinh viên.  
18. Cho biết tên sinh viên và điểm trung bình của sinh viên đó trong từng học kỳ, từng năm học.  
19. Cho biết tên sinh viên đạt điểm cao nhất.  
20. Cho biết tên sinh viên có điểm trung bình nhỏ hơn hay bằng 7.  
21. Cho biết tên sinh viên tham dự tất cả các môn học.  
18/24  
Thực hành CSDL với SQL Server 2000  
BÀI 8.  
Cho lược đồ cơ sở dữ liệu sau:  
NHANVIEN(MANV, HONV, TENLOT, TENNV, NS, DC, PHAI, LUONG, NQL, PHONG): Mỗi  
nhân viên đều một mã duy nhất, được ghi nhận lại họ, tên lót , tên, có ngày sinh, địa chỉ, phái (giới  
tính), lương, sẽ được phụ trách trực tiếp bởi một người quản (cũng một nhân viên) và thuộc về một  
phòng ban duy nhất.  
THANNHAN(MANV, TENTN, PHAI, NS, QUANHE): Để quan tâm nhiều hơn đến các nhân viên,  
công ty sẽ ghi nhận một số thông tin về các thân nhân của các nhân viên: Tên, ngày tháng năm sinh và  
mối quan hệ của các thân nhân sẽ được ghi lại.  
PHONGBAN(MAPHONG, TENPHONG, TRUONGPHONG, NGAYNHANCHUC): Mỗi phòng  
ban đều có mã duy nhất, có tên phòng, do một nhân viên nào đó phụ trách, và ghi nhận cả ngày trưởng  
phòng đó bắt đầu phụ trách phòng.  
DIADIEMPHONGBAN(MAPHONG, DIADIEM): Mỗi phòng ban có thể một hay nhiều địa  
điểm.  
DEAN(MADA, TENDA, DIADIEMDA, PHONG): Công ty sẽ thực hiện các đề án khác nhau. Do đó  
mỗi đề án đều ghi lại mã và tên đề án, địa điểm thực hiện đề án cũng như phòng ban chủ trì đề án đều  
được ghi nhận.  
PHANCONG(MANV, MADA, THOIGIAN): Mỗi nhân viên có thể tham gia vào nhiều đề án khác  
nhau, và mỗi đề án có thể được nhiều nhân viên tham gia. Khi nhân viên tham gia đề án, thì mã nhân viên  
đó, đề án đó cũng như thời gian làm việc của nhân viên cho đề án trong một tuần sẽ được ghi lại.  
19/24  
Thực hành CSDL với SQL Server 2000  
Dưới đây một thể hiện của cơ sở dữ liệu trên:  
NHANVIEN  
MAN HONV TENLO TENN  
NS  
DC  
PHAI LUON NQL PHONG  
123  
Dinh  
Ba  
Tien  
09/01/1955 731 Tran Hung Dao,  
Q.1 TP HCM  
Nam  
30000 333  
5
333  
Nguyen Thanh  
Tran Thanh  
Nguyen Manh  
Tung  
08/12/1945 638 Nguyen Van Cu,  
Q.5 TP HCM  
Nam  
40000 888  
5
453  
666  
888  
987  
777  
999  
Tam  
31/07/1962 543 Mai Thi Luu, Q.1  
TP HCM  
Nam  
Nam  
25000 333  
38000 333  
55000  
5
5
1
4
4
4
Hung  
Quyen  
Nhan  
Quang  
Vu  
15/09/1952 975 Thong Nhat,  
VUNG TAU  
Vuong  
Le  
Ngoc  
Thi  
10/10/1927 450 Trung Vuong, HA Nu  
NOI  
20/06/1931 291 Ho Van Hue, Q.PN Nu  
TP HCM  
43000 888  
25000 987  
25000 987  
Tran  
Bui  
Hong  
Thuy  
29/03/1959 980 Le Hong Phong,  
Q.10 TP HCM  
Nam  
19/07/1958 332 Nguyen Thai Hoc, Nam  
Q.1 TP HCM  
PHONGBAN  
MAPHONG TENPHONG TRUONGPHONG NGAYNHANCHUC  
1
4
5
Quan ly  
Dieu hanh  
Nghien cuu  
888  
777  
333  
19/06/1971  
01/01/1985  
22/05/1978  
DIADIEMPHONGBAN  
DEAN  
MAPHONG  
DIADIEM  
MADA  
TENDA  
DIADIEMDA PHONG  
1
TP HCM  
1
San pham X  
VUNG TAU  
NHA TRANG  
TP HCM  
5
5
5
4
1
4
4
5
5
5
HA NOI  
NHA TRANG  
TP HCM  
2
3
10  
20  
30  
San pham Y  
San pham Z  
Tin hoc hoa  
Cap Quang  
Dao tao  
HA NOI  
VUNG TAU  
TP HCM  
HA NOI  
PHANCONG  
THANNHAN  
MANV MADA THOIGIAN  
MANV TENTN PHAI  
NS  
QUANHE  
123  
123  
333  
333  
333  
453  
453  
666  
888  
987  
987  
777  
777  
999  
999  
1
2
3
10  
20  
1
32.5  
7.5  
10  
123  
123  
123  
333  
333  
333  
987  
Chau  
Duy  
Phuong Nu  
Duong Nu  
Khang Nam 25/10/1973 Con trai  
Quang Nu 05/04/1976 Con gai  
Dang Nam 29/02/1932 Vo chong  
Nu  
31/12/1978 Con gai  
Nam 01/01/1978 Con trai  
05/05/1957 Vo chong  
03/05/1948 Vo chong  
10  
10  
20  
20  
2
3
40  
20  
20  
30  
10  
30  
30  
10  
15  
20  
35  
5
30  
10  
20/24  
Tải về để xem bản đầy đủ
doc 24 trang baolam 09/05/2022 8860
Bạn đang xem 20 trang mẫu của tài liệu "Thực hành CSDL với SQL Server 2000", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docthuc_hanh_csdl_voi_sql_server_2000.doc