Câu 1: Tạo lập cơ sở dữ liệu:
1. Tạo cơ sở dữ liệu với tên là QLXNH.
2. Tạo các bảng dữ liệu
3. Thiết kế ràng buộc khóa chính, khóa ngoại, ràng buộc duy nhất, ràng buộc kiểm tra, ràng buộc mặc định cho mỗi bảng dữ liệu.
4. Tạo Diagrams cho cơ sở dữ liệu
5. Tạo chỉ mục: liên cung, phi liên cung, không gian.
6. Nhập tối thiểu 10 bản ghi cho mỗi bảng (Nhập trực tiếp hoặc nhập từ file).
Câu 2: Tạo View thực hiện các công việc sau:
1. Đưa ra các thông tin gồm mã mặt hàng, tên mặt hàng, đơn giá nhập của các mặt hàng được nhập trong năm 2012. Danh sách đưa ra sắp xếp theo chiều giảm dần của đơn giá nhập.
Có thể bạn quan tâm!
Xem toàn bộ 323 trang tài liệu này.
2. Đưa ra danh sách các mặt hàng chưa được xuất bao giờ.
3. Đưa ra danh sách các mặt hàng tồn kho.
Câu 3: Hãy viết các Stored Procedure để thực hiện các công việc sau:
1. Đưa ra danh sách các mặt hàng được nhập trong năm 2011 hoặc 2012.
2. Đưa ra danh sách các mặt hàng tồn kho.
3. Đưa ra các mặt hàng được xuất trong một năm với năm cho trước.
4. Đưa ra các mặt hàng tồn kho trong một quý của một năm với quý và năm cho trước.
5. Thêm bản ghi cho bảng nhập (thủ tục phải thực hiện kiểm tra tính hợp lệ của dữ liệu cần bổ sung, không trùng khoá chính và đảm bảo toàn vẹn tham chiếu).
6. Thêm bản ghi cho bảng xuất (thủ tục phải thực hiện kiểm tra tính hợp lệ của dữ liệu cần bổ sung, không trùng khoá chính và đảm bảo toàn vẹn tham chiếu), màu mặc định là trắng.
7. Thêm bản ghi cho bảng tồn kho (thủ tục phải thực hiện kiểm tra tính hợp lệ của dữ liệu cần bổ sung, không trùng khoá chính và đảm bảo toàn vẹn tham chiếu).
8. Xóa các mặt hàng tồn kho trong năm 2012.
9. Tăng số lượng nhập của mỗi mặt hàng lên x với x cho trước và mã mặt hàng cho trước.
Câu 4: Xây dựng hàm
1. Xây dựng một hàm trả về một bảng gồm các thông tin: mã mặt hàng, tên mặt hàng, số lượng nhập, số lượng xuất, số lượng tồn kho.
2. Xây dựng một hàm trả về một bảng gồm các thông tin sau: mã mặt hàng, tên mặt hàng của những mặt hàng chưa được xuất bao giờ.
Câu 5: Viết các Trigger
1. Tạo Trigger cho nhập theo yêu cầu sau:
Khi thêm mới một mặt hàng thì kiểm tra tính hợp lệ của dữ liệu cần bổ sung, không trùng khoá chính và đảm bảo toàn vẹn tham chiếu.
Khi xóa mặt hàng nhập thì mặt hàng này trong bảng xuất và bảng tồn kho cũng bị xóa theo.
Không cho phép cập nhật mã mặt hàng.
2. Tạo Trigger cho bảng xuất theo yêu cầu sau:
Khi thêm mới mặt hàng xuất thì kiểm tra tính hợp lệ của dữ liệu cần bổ sung, không trùng khoá chính và đảm bảo toàn vẹn tham chiếu.
Khi xóa bản ghi ở bảng xuất thì bản ghi tương ứng ở bảng tồn kho cũng bị thay đổi.
3. Tạo Trigger cho bảng tồn kho theo yêu cầu sau:
Khi thêm mới một bản ghi thì kiểm tra tính hợp lệ của dữ liệu cần bổ sung, không trùng khoá chính và đảm bảo toàn vẹn tham chiếu.
Khi cập nhật số lượng tồn kho thì phải kiểm tra tính hợp lệ giữa số lượng nhập và số lượng xuất.
Câu 6:Các thao tác trên cơ sở dữ liệu
1. Thiết lập cấu hình dịch vụ của SQL Server.
2. Tạo file sao lưu cho cơ sở dữ liệu trên với tên là „QLD_Backup‟ thuộc loại full backup, Transaction log và differential backup, khôi phục dữ liệu từ file sao lưu đã tạo.
3. Tách bỏ cơ sở dữ liệu khỏi SQL Server.
4. Xuất file cơ sở dữ liệu sang dạng Text, Access, Excel, SQL Server.
5. Tạo lịch trình sao lưu tự động cho cơ sở dữ liệu trên vào 20 hàng tháng
6. Tạo lịch trình sao lưu tự động cho cơ sở dữ liệu trên vào 21h thứ 5 hàng tuần.
Câu 7:Quản lý bảo mật và người dùng
1. Tạo người dùng đăng nhập bằng tài khoản SQL Server, bằng tài khoản của Window.
2. Gắn các nhóm quyền cho người dùng.
3. Gắn các vai trò cho người dùng.
4. Cấp quyền sử dụng select, update, insert, delete trên bảng cho người dùng.
Bài số 7: Hãy lựa chọn một phương án tốt nhất cho các câu trả lời.
1. Thành phần nào dưới đây được dùng để quản trị các quyền hạn trên các cơ sở dữ liệu và các đối tượng cơ sở dữ liệu?
a. DML b. Sub-schema DDL c. DCL d. DDL
2. QLD là loại cơ sở dữ liệu nào?
a. Cơ sở dữ liệu người dùng định nghĩa
b. Cơ sở dữ liệu mẫu
c. Cơ sở dữ liệu hệ thống
3. "Quy tắc toàn vẹn thực thể khẳng định rằng không thành phần nào của khoá chính của bảng gốc (base table) được nhận giá trị null". Khẳng định này có đúng không?
a. Đúng. Bởi vì nếu khoá chính nhận giá trị NULL thì các dòng sẽ không còn là duy nhất nữa.
b. Không. Khoá chính có thể nhận giá trị NULL nhưng không đượcnhận giá trị 0.
c. Không phải hai đáp án trên.
4. Mệnh đề 1: Khi có một cột là khoá ngoại trong một bảng thì phải có một cột ở bảng khác là khoá chính hoặc khoá duy nhất. Mệnh đề 2: Hai cột được nối với nhau dùng mối quan hệ khoá ngoại phải có một định nghĩa xác định.
a. Chỉ có mệnh đề 2 là đúng b. Cả hai mệnh đề đúng
c. Cả hai mệnh đề đều sai d. Chỉ có mệnh đề 1 là đúng
5. Mệnh đề nào dưới đây là sai khi đề cập tới khái niệm toàn vẹn tham chiếu và khoá ngoại?
a. Một cơ sở dữ liệu không được chứa nhiều hơn một giá trị khoá ngoại không khớp nhau.
b. Các giá trị khoá ngoại phải có sự tương ứng (khớp) với các giá trị khoá chính.
c. Các giá trị mới không được phép ghi vào khoá ngoại trước.
d. Không mệnh đề nào sai cả
6. Trong số các phiên bản sau đây, phiên bản nào phục vụ cho việc quản trị và phân tích dữ liệu phù hợp cho các doanh nghiệp, tổ chức vừa và nhỏ?
a. SQL Server 2008 Enterprise Edition b. SQL Server 2008 Standard Edition
c. SQL Server 2008 Developer Edition d. SQL Server 2008 Desktop Edition
7. Nếu SQL Server dùng phương pháp xác thực Windows Authentication, ta phải cung cấp cho hệ thống một mã đăng nhập (login ID) mỗi khi truy cập vào SQL Server.
a. Đúng b. Sai
8. Mệnh đề nào dưới đây là SAI khi đề cập tới Transact-SQL?
a. Transact-SQL cho phép khai báo các biến cục bộ và hằng số trong các đối tượng Transact-SQL.
b. Transact-SQL là một sản phẩm độc lập.
c. Có thể dùng Transact-SQL để viết các ứng dụng một cách trực tiếp.
d. Transact-SQL là công cụ cho phép lập trình các chức năng trong cơ sở dữ liệu quan hệ.
9. Master là loại cơ sở dữ liệu nào?
a. Cơ sở dữ liệu người dùng định nghĩa
b. Cơ sở dữ liệu mẫu
c. Cơ sở dữ liệu hệ thống
10. Hai giá trị NULL có bằng nhau không?
a. Có b. Không
11. Đâu là các công cụ để thực hiện Toàn vẹn miền (Domain Integrity) trong SQL Server 2008?
a. Định nghĩa DEFAULT.
b. Ràng buộc khoá chính (PRIMARY key constraint)
c. Ràng buộc khoá ngoại (FOREIGN key constraint)
d. Ràng buộc kiểm tra (CHECK constraint)
e. Thuộc tính NOT NULL
f. Ràng buộc duy nhất (UNIQUE CONSTRAINT)
12. Đoạn chương trình sau đây trả về giá trị nào?
Create procedure sp_TestOutput
@a int, @b int, @c int as
select @c = @a + @b Thực thi thủ tục:
Declare @tong int set @tong = 0
sp_TestOutput 100, 200, @tong select @tong
a. 0 b. 300
13. Câu lệnh nào dùng để gán giá trị cho biến?
a. Declare @diem b. Declare @kq
c. select @diem=10 d. Declare @diem
14. Đặc tính nào dưới đây cho phép giới hạn các giá trị nhập vào một cột trong bảng?
a. Toàn vẹn thực thể (Entity integrity)
b. Toàn vẹn miền (Domain integrity)
c. Toàn vẹn do người dùng định nghĩa (User-defined integrity)
d. Toàn vẹn tham chiếu (Ređerential integrity)
15. Các quy tắc (Rule), thủ tục (Stored Procedure) và các Triggers là các công cụ để đảm bảo toàn vẹn_.
a. Thực thể b. Miền
c. Do người dùng định nghĩa (User-defined ) d. Tham chiếu
16. Mệnh đề 1: Nếu có một lựa chọn từ một khoá chính hơn và một khoá tổ hợp để làm một khoá chính cho bảng, ta nên chọn khoá chính đơn(simple primary key). Mệnh đề 2: Thao tác với một cột hơn luôn nhanh hơn là thao tác với nhiều cột.
a. Cả hai mệnh đề đều đúng và mệnh đề 2 là lý do để phát biểu mệnh đề 1.
b. Cả hai mệnh đề đều đúng nhưng mệnh đề 2 không phai là nguyên nhân để giải thích mệnh đề 1.
c. Chỉ mệnh đề 2 là đúng d. Cả hai mệnh đề đều sai
17. Một ràng buộc khoá chính không được xoá đi nếu nó được tham chiếu bởi một ràng buộc khoá ngoại trong một bảng khác; ta phải xoá ràng buộc khoá ngoại trước.
a. Đúng b. Sai
18. Mệnh đề nào dưới đây là ĐÚNG khi đề cập tới ràng buộc duy nhất (UNIQUE constraint)?
a. Ràng buộc duy nhất được dùng khi muốn áp đặt tính duy nhất cho một cột không phải là Khoá chính .
b. Chỉ có ràng buộc duy nhất có thể được định nghĩa trong một bảng.
c. Ràng buộc duy nhất có thể được tham chiếu bởi một ràng buộc khoá ngoại .
d. Ràng buộc khoá chính có thể được định nghĩa trên các cột có chứa giá trị null.
19. Nhóm quyền nào sau đây cho phép dùng hay kết thúc đối tượng SQL Server 2008 đang chạy.
a. SysAdmin b.ServerAdmin
c. ProcessAdmin d. SetupAdmin
20. SQL Server cung cấp mấy chế độ xác thực là chế độ xác thực. a. 2 b.3 c. 4 d. 5
21. Mệnh đề 1: Khoá ngoại có thể được nối với duy nhất một cột có ràngbuộc Khoá chính ở bảng khác. Mệnh đề 2: Ràng buộc khoá ngoại có thể được định nghĩa để liên kết với một ràng buộc duy nhất (UNIQUE constraint) ở bảng khác.
a. Chỉ mệnh đề 1 là đúng b. Chỉ mệnh đề 2 là đùng
c. Cả hai mệnh đề đều đúng d. Cả hai mệnh đề đều sai
22. Khi thêm một ràng buộc CHECK vào bảng, ràng buộc CHECK này sẽ được áp dụng cho cả các dữ liệu cũ và mới.
a. Đúng b. Sai
23. Mệnh đề 1: Inner Join loại bỏ các dòng không khớp nhau từ các bảng thành phần. Mệnh đề 2: Outer Join trả về tất cả các dòng từ ít nhất một trong số các bảng được liệt kê trong mệnh đề FROM miễn là các dòng này thoả mãn điều kiện của mệnh đề WHERE hoặc HAVING.
a. Chỉ mệnh đề 1 là đúng b. Chỉ mệnh đề 2 là đúng
c. Cả hai mệnh đề đều đúng d. Cả hai mệnh đề đều sai
24. Câu lệnh nào sau đây thuộc loại ngôn ngữ DCL?
a. Câu lệnh CREATE b. Câu lệnh DENY
c. Câu lệnh INSERT d. Câu lệnh UPDATE
25. AdventureWorks là loại cơ sở dữ liệu nào?
a. Cơ sở dữ liệu người dùng định nghĩa
b. Cơ sở dữ liệu mẫu
c. Cơ sở dữ liệu hệ thống
26. Đâu là biến cục bộ?
a. @@ERROR b. @@IDENTITY
c. @@CPU_BUSY d. @@CURSOR_ROWS
27. Câu lệnh nào dùng để khai báo biến?
a. Declare @diem b. set @diem=10
c. select @diem=10 d. set @kq=1
28. Điều gì sẽ xảy ra nếu như có các bản ghi tham chiếu tới các bản ghi đang bị xoá đi?
a. Không thể xoá thành công
b. Các bản ghi trong bảng hiện thời sẽ bị xoá đi.
c. Các bản ghi trong bảng hiện thời và các bảng ghi liên quan tới nó sẽ bị xoá đi.
29. Đoạn chương trình sau đây trả về giá trị nào?
CREATE PROCEDURE sp_TestOutput1
@a int, @b int, @c int output AS
BEGIN
select @c = @a + @b END
GO
Declare @tong int set @tong = 0
exec sp_TestOutput1 100, 200, @tong output select @tong
a. 0 b. 300
30. Dùng câu lệnh nào để xoá tất cả các dòng trong một bảng?
a. DROP table b. DELETE ROWS
c. DELETE TABLE d. TRUNCATE TABLE
31. Câu lệnh Create Table thuộc loại câu lệnh nào trong số các câu lệnh SQL dưới đây?
a. DML b. DCL c. CCL d. DDL e. DQL
32. Chỉ ra câu lệnh thực hiện việc tăng đồng loạt giá sách lên 10 %.
a. UPDATE Sach SET Gia*10/100;
b. UPDATE Sach SET Gia=Gia*10/100;
c. UPDATE Gia=Gia+Gia*10/100 FROM Sach;
d. UPDATE Sach SET Gia=Gia+Gia*10/100;
33. Mệnh đề 1: Khoá có giá trị như là Khoá chính (Primary Key) được gọi là khoá thứ cấp (Secondary Key). Mệnh đề 2.Khoá ứng viên (Candidate key) không được dùng làm khoá chính (Primary Key) thì được gọi là khoá thay thế (Alternate Key)
a. Mệnh đề 1 là đúng b. Mệnh đề 1 là sai
c. Mệnh đề 2 là đúng d. Mệnh đề 2 là sai
34. Thực hiện hành động nào sau đây mà bảng Inserted có chứa dữ liệu?
a. Update b. Delete c.Select
35. Loại hàm nào sau đây được sử dụng để trả cũng trả về kết quả là một tập hợp nhưng chỉ dựa trên một câu lệnh SQL duy nhất.
a. Scalar
b. Inline table-valued
c. Multi-statement table-value
36.đảm bảo rằng các mối quan hệ được định nghĩa giữa các bảng là đúng đắn và các hiện tượng xoá/sửa không hợp lệ không thể xảy ra.
a. Toàn vẹn thực thể
b. Toàn vẹn miền
c. Toàn vẹn do người dùng định nghĩa (User-defined integrity)
d. Toàn vẹn tham chiếu
37. Để xem trường ngày sinh với giá trị từ 10/02/2004 đến 12/02/2004 trong bảng Sinh viên, ta sẽ dùng câu lệnh nào dưới đây?
a. SELECT * FROM SV WHERE ns BETWEEN "10/02/2004" AND "12/02/2004";
b. SELECT * FROM SV WHERE ns BETWEEN #10/02/2004# AND
#12/02/2004#;
c. SELECT * FROM SV WHERE ns NOT BETWEEN #10/02/2004# AND
#12/02/2004#;
38. Thực hiện hành động nào sau đây mà bảng Inserted không chứa dữ liệu?
a. Update b. Delete c. Insert
39. Biến toàn cục nào sau đây trả về số lượng các bản ghi được trỏ đến gần đây nhất?
a. @@ERROR b. @@CONNECTIONS
c. @@CPU_BUSY d. @@CURSOR_ROWS
40. Câu lệnh nào dưới đây trả về số lượng các sinh viên?
a. Select count(Masv) from SV
b. Select sum(Masv) from SV
c. Select max(MaSV) from SV
d. Select MaSV from SV where count(MaSV) >0
41. Kích thước của kiểu CHAR là bao nhiêu?
a. 2 bytes b. 8 bytes c. 1 byte d. 4 bytes
42. Ta có thể dùng lệnh ALTER TABLE để xoá các ràng buộc trong bảng.
a. Đúng b. Sai
43. Đâu là biến toàn cục ?
a. @sv b. @kq
c. @diem d. @@CURSOR_ROWS
44. Kỹ thuật nào dưới đây được dùng để thiết lập sự toàn vẹn thực thể?
a. Primary Key b. Unique Key c. Foreign Key
d. Identity Property e. Check Key f. Default Key
45. Muốn xoá tất cả các dòng trong bảng SV mà không tốn tài nguyên của hệ thống và không ghi trong các bản nhật kí giao dịch (transaction log). Ta sẽ dùng câu lệnh nào?
a. Truncate b. Delete c. Drop
d. Không thể dùng câu lệnh nào để thực hiện được yêu cầu đã nêu.
46. Xác định câu lệnh đúng để xem các bản ghi về khách hàng (KH) có DC.
a. SELECT * from KH where DC IS NOT NULL
b. SELECT * from KH where DC = NOT NULL
c. SELECT * from KH where DC NOT NULL
d. SELECT * from KH where HAVING DC NOT NULL
47. Join hay các truy vấn con (subquery) chạy nhanh hơn?
a. Joins b. Subqueries
48. Giả sử bạn đang làm việc trong một dự án cơ sở dữ liệu thư viện (Library project). Bạn phải thiết kế một cơ sở dữ liệu cho hệ thống đó. Việc vận hành hệ thống này sẽ thường xuyên thay đổi vị trí các bản ghi. Bạn nên dùng loại câu lệnh SQL nào?
a. DQL b. DML c. DCL d. DDL e. CCL
49. Thực hiện hành động nào sau đây mà bảng Deleted không chứa dữ liệu?
a. Update b. Delete c. Insert
50. Tệp cơ sở dữ liệu nào dưới đây luôn tồn tại trong cơ sở dữ liệu?
a. Các tệp dữ liệu sơ cấp (Primary data files)
b. Các tệp dữ liệu thứ cấp (Secondary data files)
c. Các tệp nhật kí (Log files)