Tiếp nội dung phần 1, Bài giảng Nhập môn trí tuệ nhân tạo: Phần 2 cung cấp cho người học những kiến thức như: Sao lưu và phục hồi dữ liệu; Quản lý bảo mật và người dùng; SQL Server và lập trình ứng dụng. Mời các bạn cùng tham khảo!
Tập giảng SQL Server Chƣơng SAO LƢU VÀ PHỤC HỒI DỮ LIỆU 6.1 Khái niệm lƣu sở liệu Sao lưu liệu việc tạo liệu gốc, cất giữ nơi an tồn Cơ sơ liệu ln kho thông tin vô quan trọng doanh nghiệp hay tổ chức sử dụng chúng Chúng bị hỏng hóc phần hay toàn lúc cho dù sở hạ tầng cơng nghệ thơng tin nói chung máy chủ chứa sở liệu nói riêng có tốt đến đâu việc cố bất thường xảy điều khó tránh khỏi Dữ liệu bị bị xâm nhập trái phép bới nguyên nhân thiết bị lưu trữ bị hỏng, người dùng vơ tình xóa hay kẻ xấu cố ý phá hoại sở liệu Vì người quản trị sở liệu cần phải có kế hoạch lưu để tránh giảm thiểu rủi ro cho sở liệu SQL Server 2008 cung cấp chức lưu phục hồi liệu hồn hảo, thao tác trực tiếp hay theo lịch trình định sẵn 6.1.1.Các loại lưu sở liệu 1) Full backup: Full backup lưu đầy đủ sở liệu tr ên phương tiện lưu trữ Quá trình full backup tiến hành mà khơng cần ẩn sở liệu, trình lại chiếm lượng lớn tài nguyên hệ thống ảnh hưởng nghiêm trọng tới thời gian đáp ứng y cầu hệ thống 2) Diferential backup: Differential backup xây dựng nhằm làm giảm thời gian cần thiết để thực trình full backup Differential backup ch ỉ lưu thay đổi tr ên liệu kể từ lần full backup gần Trong hệ thống CSDL lớn, trình differential backup sử dụng tài nguyên nhiều so với q trình full backup có th ể khơng ảnh hưởng đến hiệu suất hệ thống Quá trình differential lưu thay đổi liệu từ lần full backup gần nhất, có cố với sở liệu khơng có lưu trình full backup b ản lưu trình differential backup s ẽ trở nên vơ nghĩa Ví dụ chương trình Quản lý tuyển sinh trường Đại học, ta thực full backup v cuối ngày thứ hàng tuần thực differential backup vào t ối ngày từ thứ tới thứ Nếu sở liệu có cố v sáng thứ 4, quản trị viên sở liệu phục hồi liệu lưu trình full backup c ngày thứ tuần trước sau phục hồi thay đổi liệu 181 Tập giảng SQL Server cách áp dụng lưu trình differential backup vào ngày thứ 3) Transaction log backup: Quá trình full bac kup differential backup chiếm nhiều tài nguyên hệ thống ảnh hưởng đến hiệu suất làm việc hệ thống nên thường thực vào sau làm việc Tuy nhiên điều dẫn đến mát liệu ng ày làm việc sở liệu có cố trước q trình lưu diễn Transaction log backup giải pháp nhằm giảm thiểu tối đa lượng liệu có cố sở liệu Trong trình hoạt động, SQL Server sử dụng transaction log để theo dõi tất thay đổi sở liệu Log bảo đảm sở liệu phục hồi sau cố đột xuất đảm bảo người dùng quay ngược kết giao tác sở liệu Các giao tác chưa hoàn thành lưu log trước lưu vĩnh viễn sở liệu Transaction log backup lưu transaction log sở liệu vào thiết bị lưu trữ Mỗi transaction log đư ợc lưu, SQL Server b ỏ transaction thực thành công (committed tracsaction) ghi transaction vào phương tiện lưu Transaction log backup sử dụng tài nguyên hệ thống nhiều so với full backup differential backup , sử dụng transaction log backup thời gian n mà không s ợ ảnh hưởng đến hiệu suất hệ thống Trở lại với ví dụ sở liệu quản lý tuyển sinh Trường Đại học thực full backup vào tối thứ differential backup vào tối từ thứ tới thứ Trường Đại học thực thêm trình transaction log backup lần Giả sử cố sở liệu xảy vào 9h:05 sáng thứ Q trình khơi phục lại sở liệu sau: Dùng full backup differential backup tối thứ tối thứ để phục hồi lại trạng thái sở liệu vào tối thứ Tuy nhiên trình v ẫn để liệu (7 – 9h) sáng thứ Tiếp theo sử dụng lưu transaction backup lúc 8h 9h sáng để khôi phục CSDL trạng thái lúc 9h sáng thứ 6.1.2 Thực lưu Bước 1: Chọn sở liệu/Chọn chuột phải/Chọn Tasks/Chọn Back up… 182 Tập giảng SQL Server Hình 6.1 Sao lưu sở liệu Bước 2: Chọn loại Backup mục Backup type - Chọn loại Full muốn tạo Full Backup - Chọn loại Differental muốn tạo Differental - Chọn loại Transaction Log muốn tạo Transaction Log Hình 6.2 Loại lưu sở liệu 183 Tập giảng SQL Server Bước 3: Chọn thành phần backup mục Backup component - Tùy chọn Database (mặc định): Cho phép tạo sao lưu tất sở liệu có - Tùy chọn Files and filegroups: Cho phép chọn tệp tin liệu ta chọn file nhóm file (*.mdf, *.ndf): gồm file file mở rộng Hình 6.3 File lưu Trên thư mục chọn file cần lưu Hộp kiểm tra Copy Only Backup cho phép lưu lưu sở liệu mà không ghi lại trình chép để phục vụ cho tiến trình phục hồi lại sở liệu từ Bước 4: Thiết lập thời gian lưu mục Backup set will expire thiết lập thời gian lưu - Tùy chọn After mặc định cho ta liệu nhấp OK để chấp nhận - Tùy chọn On để định thời gian lưu Ta thiết lập thời gian để hệ thống tự động lưu vào thời gian Bước : Chọn vị trí lưu trữ file mục Destination: - Chọn tùy chọn Disk để lưu trữ file lên đĩa - Đường dẫn lưu file back up mặc định khai báo phần Destination Nếu muốn thay đổi lại đường dẫn chọn Remove để loại bỏ đường dẫn mặc định Sau chọn Add để nhập vào tên file vị trí lưu trữ khác 184 Tập giảng SQL Server Hình 6.4 Chọn đường dẫn lưu trữ file backup - Nhấp chuột chọn để chọn vị trí lưu trữ Hình 6.5 Chọn thư mục lưu file backup + Chọn thư mục lưu trữ thư mục + Nhập tên file backup mục File name 6.2 Phục hồi sở liệu 6.2.1 Khái niệm Phục hồi liệu q trình khơi phục lại sở liệu mà trước liệu lưu Khi sở liệu vận hành gặp cố yếu tố khách quan hay chủ quan việc phục hồi liệu lưu trước ưu tiên hàng đầu 185 Tập giảng SQL Server nhằm khắc phục lại sở liệu cho ứng dụng để người sử dụng tiếp tục làm việc Trong số trường hợp, muốn lấy lại sở liệu dựa vào lưu trước ta tiến hành phục hồi lại chúng Ta phục hồi liệu từ file lưu dạng Full, lưu dạng Differential, theo dạng tệp tin, lưu dạng copy 6.2.2 Thực phục hồi Bước 1: Chọn ngăn Database/Chọn sở liệu/ Chọn chuột phải / Chọn Task/Chọn Restore/Chọn Database Hình 6.6 Thao tác phục hồi liệu Bước 2: Chọn nguồn khôi phục mục Source of restore - Bản lấy từ sở liệu chọn mục Database: Cơ sở liệu qlts trước tạo thành hai Full Differential Nếu muốn lưu toàn liệu lần lưu gần chọn hai file hình Cịn muốn lấy liệu cũ cần chọn file lưu loại Full Hình 6.7 Chọn sở liệu nguồn cần khôi phục - Bản lấy từ tệp tin chọn From device: 186 Tập giảng SQL Server Hình 6.8 Khơi phục liệu từ thiết bị lưu trữ - Click chọn tên file lưu Hình 6.9 Bổ sung file backup - Chọn nút Add để chọn file thư mục Hình 6.10 Chọn file backup để khơi phục 187 Tập giảng SQL Server - Chọn tệp tin sao/ Chọn OK Khi đó, trở hình 6.9 - Chọn OK Trở hình Restore Đánh dấu chọn file back up cột Restore Hình 6.11 Chọn file backup Bước Chọn OK Nếu phục hồi thành công nhận thơng báo Hình 6.12 Thơng báo khơi phục thành công 6.3 Xây dựng kế hoạch lƣu sở liệu Mỗi cố xảy ra, rủi ro để liệu liên quan đến tập tin lưu Trong số trường hợp cố ngồi ý muốn ta tệp tin lưu lẫn sở liệu chạy Việc chép tập tin lưu vào ổ đĩa khác hay thiết bị chuyên dùng cách tốt để tránh rủi ro Ngoài tạo tệp tin lưu theo định kỳ cách mà bạn tránh rủi ro Để đảm bảo cố xảy ra, bạn có để phục hồi phải lập kế hoạch lưu, kế hoạch thực thi theo lộ trình định sẵn Để thực lập kế hoạch lưu cần thực công việc: - Khai báo kế hoạch chi tiết ứng với lịch trình - Khai báo nghiệp vụ lưu cho kế hoạch chi tiết 6.3.1 Tạo kế hoạch chi tiết Tạo kế hoạch chi tiết lưu trình lập kế hoạch cho việc lưu liệu Một kế hoạch gồm nhiều lịch biểu Mỗi lịch biểu coi kế hoạch (subplan) Mỗi kế hoạch (subplan) thiết lập lịch trình thời gian lưu Ta lập kế hoạch lưu theo ngày tuần, theo ngày theo tháng Tùy theo tính chất sở liệu mà lập lịch lưu có sở liệu cần phải lưu sau ngày làm việc, có sở liệu định theo tuần theo định kỳ hàng tháng quý Công việc 188 Tập giảng SQL Server lưu thường thực vào cuối phiên làm việc để tránh ảnh hưởng đến hiệu suất làm việc Kế hoạch lưu quản lý dịch vụ SQL Server Agent Do để thực thi kế hoạch dịch vụ SQL Server Agent cần thiết lập trạng thái running Các bước tạo kế hoạch lưu: Bước 1: Trong Object Explore, Chọn mục Management/ Chọn Management Plans/Chọn phải chuột/ Chọn New Mainternance Plan Hình 6.13 Chọn chức New Mainternance Plan 189 Tập giảng SQL Server Bước 2: Đặt tên cho kế hoạch mục Name/Chọn OK Hình 6.13 Đặt tên kế hoạch Bước 3: Khai báo cấu hình kế hoạch Hình 6.14 Khai báo cấu hình kế hoạch tạo - Chọn mục Subplan_1, xuất cửa sổ khai báo kế hoạch chi tiết: + Nhập tên cho kế hoạch mục Name + Mơ tả kế hoạch mục Description Hình 6.15 Khai báo kế hoạch chi tiết Bước 4: Lập lịch - Tại mục Schedule chọn biểu tượng 190 Tập giảng SQL Server Câu 1: Tạo lập sở liệu: Tạo sở liệu với tên QLXNH Tạo bảng liệu Thiết kế ràng buộc khóa chính, khóa ngoại, ràng buộc nhất, ràng buộc kiểm tra, ràng buộc mặc định cho bảng liệu Tạo Diagrams cho sở liệu Tạo mục: liên cung, phi liên cung, không gian Nhập tối thiểu 10 ghi cho bảng (Nhập trực tiếp nhập từ file) Câu 2: Tạo View thực công việc sau: Đưa thông tin gồm mã mặt hàng, tên mặt hàng, đơn giá nhập mặt hàng nhập năm 2012 Danh sách đưa xếp theo chiều giảm dần đơn giá nhập Đưa danh sách mặt hàng chưa xuất Đưa danh sách mặt hàng tồn kho Câu 3: Hãy viết Stored Procedure để thực công việc sau: Đưa danh sách mặt hàng nhập năm 2011 2012 Đưa danh sách mặt hàng tồn kho Đưa mặt hàng xuất năm với năm cho trước Đưa mặt hàng tồn kho quý năm với quý năm cho trước Thêm ghi cho bảng nhập (thủ tục phải thực kiểm tra tính hợp lệ liệu cần bổ sung, khơng trùng khố đảm bảo tồn vẹn tham chiếu) Thêm ghi cho bảng xuất (thủ tục phải thực kiểm tra tính hợp lệ liệu cần bổ sung, khơng trùng khố đảm bảo tồn vẹn tham chiếu), màu mặc định trắng Thêm ghi cho bảng tồn kho (thủ tục phải thực kiểm tra tính hợp lệ liệu cần bổ sung, khơng trùng khố đảm bảo tồn vẹn tham chiếu) Xóa mặt hàng tồn kho năm 2012 Tăng số lượng nhập mặt hàng lên x với x cho trước mã mặt hàng cho trước Câu 4: Xây dựng hàm Xây dựng hàm trả bảng gồm 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 Xây dựng hàm trả bảng gồm thông tin sau: mã mặt hàng, tên mặt hàng mặt hàng chưa xuất Câu 5: Viết Trigger Tạo Trigger cho nhập theo yêu cầu sau: 294 Tập giảng SQL Server Khi thêm mặt hàng kiểm tra tính hợp lệ liệu cần bổ sung, khơng trùng khố đảm bảo tồn vẹn tham chiếu Khi xóa mặt hàng nhập mặt hàng bảng xuất bảng tồn kho bị xóa theo Khơng cho phép cập nhật mã mặt hàng Tạo Trigger cho bảng xuất theo yêu cầu sau: Khi thêm mặt hàng xuất kiểm tra tính hợp lệ liệu cần bổ sung, khơng trùng khố đảm bảo tồn vẹn tham chiếu Khi xóa ghi bảng xuất ghi tương ứng bảng tồn kho bị thay đổi Tạo Trigger cho bảng tồn kho theo yêu cầu sau: Khi thêm ghi kiểm tra tính hợp lệ liệu cần bổ sung, khơng trùng khố đảm bảo tồn vẹn tham chiếu Khi cập nhật số lượng tồn kho phải kiểm tra tính hợp lệ số lượng nhập số lượng xuất Câu 6: Các thao tác sở liệu Thiết lập cấu hình dịch vụ SQL Server Tạo file lưu cho sở liệu với tên „QLD_Backup‟ thuộc loại full backup, Transaction log differential backup, khôi phục liệu từ file lưu tạo Tách bỏ sở liệu khỏi SQL Server Xuất file sở liệu sang dạng Text, Access, Excel, SQL Server Tạo lịch trình lưu tự động cho sở liệu vào 20 hàng tháng Tạo lịch trình lưu tự động cho sở liệu vào 21h thứ hàng tuần Câu 7: Quản lý bảo mật người dùng Tạo người dùng đăng nhập tài khoản SQL Server, tài khoản Window Gắn nhóm quyền cho người dùng Gắn vai trò cho người dùng Cấp quyền sử dụng select, update, insert, delete bảng cho người dùng Bài số 7: Hãy lựa chọn phương án tốt cho câu trả lời Thành phần dùng để quản trị quyền hạn sở liệu đối tượng sở liệu? a DML b Sub-schema DDL c DCL d DDL QLD loại sở liệu nào? a Cơ sở liệu người dùng định nghĩa b Cơ sở liệu mẫu c Cơ sở liệu hệ thống 295 Tập giảng SQL Server "Quy tắc toàn vẹn thực thể khẳng định khơng thành phần khố bảng gốc (base table) nhận giá trị null" Khẳng định có khơng? a Đúng Bởi khố nhận giá trị NULL dịng khơng cịn b Khơng Khố nhận giá trị NULL khơng đượcnhận giá trị c Không phải hai đáp án Mệnh đề 1: Khi có cột khố ngoại bảng phải có cột bảng khác khố khố Mệnh đề 2: Hai cột nối với dùng mối quan hệ khố ngoại phải có định nghĩa xác định a Chỉ có mệnh đề b Cả hai mệnh đề c Cả hai mệnh đề sai d Chỉ có mệnh đề Mệnh đề sai đề cập tới khái niệm tồn vẹn tham chiếu khố ngoại? a Một sở liệu không chứa nhiều giá trị khố ngoại khơng khớp b Các giá trị khố ngoại phải có tương ứng (khớp) với giá trị khố c Các giá trị khơng phép ghi vào khố ngoại trước d Không mệnh đề sai Trong số phiên sau đây, phiên phục vụ cho việc quản trị phân tích liệu phù hợp cho doanh nghiệp, tổ chức vừa 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 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ã đăng nhập (login ID) truy cập vào SQL Server a Đúng b Sai Mệnh đề SAI đề cập tới Transact-SQL? a Transact-SQL cho phép khai báo biến cục số đối tượng Transact-SQL b Transact-SQL sản phẩm độc lập c Có thể dùng Transact-SQL để viết ứng dụng cách trực tiếp d Transact-SQL công cụ cho phép lập trình chức sở liệu quan hệ Master loại sở liệu nào? a Cơ sở liệu người dùng định nghĩa b Cơ sở liệu mẫu c Cơ sở liệu hệ thống 296 Tập giảng SQL Server 10 Hai giá trị NULL có khơng? a Có 11 b Không Đâu công cụ để thực Toàn vẹn miền (Domain Integrity) SQL Server 2008? a Định nghĩa DEFAULT b Ràng buộc khố (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 (UNIQUE CONSTRAINT) 12 Đoạn chương trình sau trả 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 = sp_TestOutput 100, 200, @tong select @tong a b 300 13 Câu lệnh 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 cho phép giới hạn giá trị nhập vào cột 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 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) Triggers cơng cụ để đảm bảo tồ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ó lựa chọn từ khố khố tổ hợp để làm khố cho bảng, ta nên chọn khố đơn(simple primary key) Mệnh đề 2: Thao tác với cột nhanh thao tác với nhiều cột 297 Tập giảng SQL Server a Cả hai mệnh đề mệnh đề lý để phát biểu mệnh đề b Cả hai mệnh đề mệnh đề khơng phai ngun nhân để giải thích mệnh đề c Chỉ mệnh đề d Cả hai mệnh đề sai 17 Một ràng buộc khố khơng xố tham chiếu ràng buộc khoá ngoại bảng khác; ta phải xoá ràng buộc khoá ngoại trước a Đúng b Sai 18 Mệnh đề ĐÚNG đề cập tới ràng buộc (UNIQUE constraint)? a Ràng buộc dùng muốn áp đặt tính cho cột khơng phải Khố b Chỉ có ràng buộc định nghĩa bảng c Ràng buộc tham chiếu ràng buộc khoá ngoại d Ràng buộc khoá định nghĩa cột có chứa giá trị null 19 Nhóm quyền sau cho phép dùng hay kết thúc đối tượng SQL Server 2008 chạy a SysAdmin b.ServerAdmin c ProcessAdmin d SetupAdmin 20 SQL Server cung cấp chế độ xác thực chế độ xác thực a b.3 c d 21 Mệnh đề 1: Khố ngoại nối với cột có ràngbuộc Khố bảng khác Mệnh đề 2: Ràng buộc khố ngoại định nghĩa để liên kết với ràng buộc (UNIQUE constraint) bảng khác a Chỉ mệnh đề b Chỉ mệnh đề đùng c Cả hai mệnh đề d Cả hai mệnh đề sai 22 Khi thêm ràng buộc CHECK vào bảng, ràng buộc CHECK áp dụng cho liệu cũ a Đúng b Sai 23 Mệnh đề 1: Inner Join loại bỏ dịng khơng khớp từ bảng thành phần Mệnh đề 2: Outer Join trả tất dịng từ số bảng liệt kê mệnh đề FROM miễn dòng thoả mãn điều kiện mệnh đề WHERE HAVING a Chỉ mệnh đề b Chỉ mệnh đề c Cả hai mệnh đề d Cả hai mệnh đề sai 24 Câu lệnh sau thuộc loại ngôn ngữ DCL? a Câu lệnh CREATE b Câu lệnh DENY 298 Tập giảng SQL Server c Câu lệnh INSERT d Câu lệnh UPDATE 25 AdventureWorks loại sở liệu nào? a Cơ sở liệu người dùng định nghĩa b Cơ sở liệu mẫu c Cơ sở liệu hệ thống 26 Đâu biến cục bộ? a @@ERROR b @@IDENTITY c @@CPU_BUSY d @@CURSOR_ROWS 27 Câu lệnh 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 xảy có ghi tham chiếu tới ghi bị xố đi? a Khơng thể xố thành công b Các ghi bảng thời bị xoá c Các ghi bảng thời bảng ghi liên quan tới bị xố 29 Đoạn chương trình sau trả 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 = exec sp_TestOutput1 100, 200, @tong output select @tong a b 300 30 Dùng câu lệnh để xoá tất dòng 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 số câu lệnh SQL đây? a DML b DCL c CCL d DDL e DQL 32 Chỉ câu lệnh thực việc tăng đồng loạt giá sách lên 10 % 299 Tập giảng SQL Server 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: Khố có giá trị Khố (Primary Key) gọi khố thứ cấp (Secondary Key) Mệnh đề 2.Khố ứng viên (Candidate key) khơng dùng làm khố (Primary Key) gọi khoá thay (Alternate Key) a Mệnh đề b Mệnh đề sai c Mệnh đề d Mệnh đề sai 34 Thực hành động sau mà bảng Inserted có chứa liệu? a Update b Delete c.Select 35 Loại hàm sau sử dụng để trả trả kết tập hợp dựa câu lệnh SQL a Scalar b Inline table-valued c Multi-statement table-value 36 đảm bảo mối quan hệ định nghĩa bảng đắn tượng xố/sửa khơng hợp lệ khơng thể xảy a Toàn vẹn thực thể b Toàn vẹn miền c Toàn vẹn 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 bảng Sinh viên, ta dùng câu lệnh đâ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 hành động sau mà bảng Inserted không chứa liệu? a Update b Delete c Insert 39 Biến toàn cục sau trả số lượng ghi trỏ đến gần nhất? a @@ERROR b @@CONNECTIONS c @@CPU_BUSY d @@CURSOR_ROWS 40 Câu lệnh trả số lượng sinh viên? 300 Tập giảng SQL Server 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 kiểu CHAR bao nhiêu? a bytes b bytes c byte d bytes 42 Ta dùng lệnh ALTER TABLE để xoá ràng buộc bảng a Đúng b Sai 43 Đâu biến toàn cục ? a @sv b @kq c @diem d @@CURSOR_ROWS 44 Kỹ thuật dùng để thiết lập 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 dịng bảng SV mà khơng tốn tài ngun hệ thống không ghi nhật kí giao dịch (transaction log) Ta dùng câu lệnh nào? a Truncate b Delete c Drop d Không thể dùng câu lệnh để thực yêu cầu nêu 46 Xác định câu lệnh để xem ghi 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 truy vấn (subquery) chạy nhanh hơn? a Joins b Subqueries 48 Giả sử bạn làm việc dự án sở liệu thư viện (Library project) Bạn phải thiết kế sở liệu cho hệ thống Việc vận hành hệ thống thường xuyên thay đổi vị trí 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 hành động sau mà bảng Deleted không chứa liệu? a Update b Delete c Insert 50 Tệp sở liệu tồn sở liệu? a Các tệp liệu sơ cấp (Primary data files) b Các tệp liệu thứ cấp (Secondary data files) c Các tệp nhật kí (Log files) 301 Tập giảng SQL Server d Các tệp liệu lệnh (Command data files) 51 Loại hàm sau sử dụng để trả trả kết tập hợp dựa nhiều câu lệnh SQL a Scalar b Inline table-valued c Multi-statement table-value 52 Đoạn chương trình sau trả giá trị nào? CREATE PROCEDURE sp_TestOutput3 @a int, @b int AS BEGIN declare @c int select @c = @a + @b return @c END GO Declare @tong int exec @tong = sp_TestOutput3 100, 200 select @tong a b 300 53 Tìm phát biểu toàn vẹn tham chiếu a Toàn vẹn tham chiếu đảm bảo mối quan hệ giứa bảng không bị thao tác ghi chúng b Tồn vẹn tham chiếu khơng đảm bảo tính quán giá trị trường khóa bảng c Toàn vẹn tham chiếu đảm bảo giá trị trường khóa bị thay đổi, tất tham chiếu đến thay đổi theo 54 Nhóm quyền sau cho phép thực thao tác SQL Server 2008 a SysAdmin b.ServerAdmin c ProcessAdmin d SetupAdmin 55 Khi hai hay nhiều trường liên kết với mà xác định dòng bảng nhất, khóa gọi _ a Composite key (Khóa kết hợp) b Candidate key (Khóa ứng viên) c Alternate key (Khóa thay đổi) 56 _ đảm bảo hạn chế giá trị đưa vào trường cụ thể 302 Tập giảng SQL Server a Toàn vẹn thực thể b Toàn vẹn miền c Toàn vẹn tham chiếu 57 trường hay tập hợp trường mà giá trị chúng trùng với khóa bảng khác a Khóa (Primary key) b Khóa phụ (Secondary key) c Khóa ngoại (Foreign key) 58 Biến tồn cục sau trả số lượng nghìn giây hệ thống xửlý SQL Server bắt đầu a @@ERROR b @@CONNECTIONS c @@CPU_BUSY d @@CURSOR_ROWS 59 Có loại trigger? a b c d 60 Câu lệnh sau thuộc loại ngôn ngữ DML? a Câu lệnh CREATE b Câu lệnh SELECT c Câu lệnh GRANT d Câu lệnh DROP 61 _ quy định không thành phần khóa chình bảng sở phép chứa giá trị NULL a Toàn vẹn tham chiếu b Toàn vẹn miền c Toàn vẹn trường d Toàn vẹn thực thể 62 Thực hiên hành động sau mà dòng liệu cũ chịu tác động câu lệnh chép vào bảng DELETED, bảng INSERTED dòng liệu a Update b Delete c Insert 63 Thực thi lệnh truy xuất liệu sở liệu gọi _ a Giao dịch b Truy Vấn c Thao tác d Câu lệnh 64 Loại Trigger sau mà loại ngầm định, thực lệnh bên Trigger sau thực xong kiện kích hoạt Trigger a INSTEAD OF b AFTER c FOR 65 SQL Server thiết kế theo mơ hình Clien/Server a Đúng b Sai 303 Tập giảng SQL Server 66 SQL Server 2008 dựa _ a Mơ hình Flat-File b Mơ hình phân cấp c Mơ hình mạng c Mơ hình quan hệ 67 Cơ sở liệu sau sở hệ thống SQL Server 2008? a msdb b northwind c pubs D QLTS 68 Có kiểu sở liệu SQL Server 2008? a b c.3 d.4 69 SQL Server 2008 kiểm tra người dùng hợp lệ hai cấp độ a SQL Server Authentication b System Authentication c Login Authentication 70 Đối với bảng mục, hàng liệu lưu trữ liên tiếp _trang liệu a KB b KB c 16 KB 71 Microsoft SQL Server 2008 Database Engine dịch vụ để liệu a Sắp xếp, xử lý bảo mật b Kiểm tra, xử lý bảo mật c Sắp xếp, nén bảo mật d Sắp xếp, xử lý khôi phục 72 Chế độ xác thực sau mà đăng nhập vào SQL Server người dùng cần phải cung cấp User Name Password a Windows Authentication b SQL Server Authentication 73 Những câu sau cho biết tính SQL Server 2005? a Tích hợp với Internet b Mềm dẻo (Scalability) Availability (Mở rộng) d Kho liệu e Hỗ trợ mơ hình Client/Server f Tất phương án 74 Biến toàn cục sau trả số lượng kết nối đến Server kể từ kết nốicuối bắt đầu a @@ERROR b @@CONNECTIONS c @@CPU_BUSY d @@CURSOR_ROWS 75 Mục đích sử dụng toán tử IN ? a So sánh giá trị giống b Hạn chế kết trả danh sách tập kết 304 Tập giảng SQL Server c Thực so sánh đẳng thức d Đánh giá phạm vi giá trị 76 Câu lệnh SELECT DATEPART(day,‟01/15/2000‟) trả giá trị sau ? a b 15 c d 77 Xác định câu lệnh truy vấn mà trả tất tên bảng sinh viên chứa ký tự 'L', ký tự a SELECT * FROM SV WHERE Names LIKE „L‟ b SELECT hoten FROM SV WHERE Name LIKE „%L‟ c SELECT * FROM SV WHERE Name LIKE „&L‟ d SELECT * FROM SV WHERE Name LIKE „%L%‟ e SELECT hoten FROM SV WHERE Name LIKE „[^L]%L%‟ 78 Kết POWER(6, 2) bao nhiêu? a 12 b c.36 d 79 Hàm _ SQL Server trả ngày a getdate() b now() c date() d currentdate() 80 Microsoft SQL Server hỗ trợ hai loại thích sau: a (hai dấu trừ ) b * c ' 81 Câu lệnh SELECT DATEDIFF(mm,‟01/01/99‟,‟05/01/99‟) trả giá trị sau ? a b c d 82 Câu lệnh sau thuộc loại ngôn ngữ DLL? a Câu lệnh CREATE b Câu lệnh SELECT c Câu lệnh INSERT d Câu lệnh UPDATE 83 Kiểu liệu lưu trữ liệu kí tự, cố định kích thước có hỗ trợ Unicode? a nchar b nvarchar c.char d text 84 Kiểu liệu sử dụng byte nhớ máy tính, thường sử dụng để lưu trữ giá trị số nguyên a int b smallint c.char d text 85 Biến toàn cục sau trả số lượng lỗi T-SQL gần a @@ERROR b @@CONNECTIONS c @@CPU_BUSY d @@CURSOR_ROWS 86 Loại hàm sau đâyđược sử dụng để trả giá trị dựa số tham số truyền vào a Scalar b Inline table-valued 305 Tập giảng SQL Server c Multi-statement table-value 87 Loại Trigger sau mà hoạt động kiện gọi trigger bị bỏ qua thay vào lệnh trigger thực a INSTEAD OF b AFTER c FOR 88 Loại lưu sau lưuđầyđủcơ sởtrêncácphương tiệnlưutrữ a Fullbackup b Diferential backup c Transactionlogbackup 89 Nhóm quyền sau cho phép thêm hay loại bỏ đối tượng liên kết SQL Server 2008 a SysAdmin b.ServerAdmin c ProcessAdmin d SetupAdmin 90 Chế độ xác thực sau mà người sử dụng đăng nhập vào SQL Server mà khơng cần cung cấp User Name Password a Windows Authentication b SQL Server Authentication 306 Tập giảng SQL Server TÀI LIỆU THAM KHẢO [1] Nguyễn Thiên Bằng, Phương Lan Giáo trình SQL Server 2000 NXB Lao độngXã hội 2005 [2] Phạm Hữu Khang, Phương Lan Microsoft SQL Server 2008 Quản trị sở liệu Tập 1, tập NXB Lao động-Xã hội 2009 [3] Phạm Hữu Khang Lập trình ứng dụng chuyên nghiệp SQL Server 2008 NXB Lao động-Xã hội 2007 [4] Nguyễn Ngọc Minh, Hoàng Đức Hải Tự học Microsoft SQL Server 2000 NXB Lao động-Xã hội 2005 [5] SQL Server 2005, T-SQL Recipes: Problem, Solution, Approach – Appress Publisher [6] [7] [8] [9] Sams Teach yourself Microsoft SQL Server 2005 Express in 24 hours Biil Hamilton Programming SQL Server 2005 O‟Reilly, 2006 Robert Vieira Beginning Microsoft SQL Server 2008 Programming Wrox, 2008 Rodney Landrum, Shawn McGehee and Walter J Voytec Pro SQL Server 2008 Reporting Services, Apress, 2008 [10] Robert D Schneider and Darril Gibson Microsoft SQL Server 2008 All-in-One Desk Reference For Dummies, 2008 [11] Thomas Rizzo, Adam Machanic, Robin Dewson, Rob Walters, Joseph Sack, Julian Skinner, Louis Davidson Pro SQL Server 2005, Apress, 2006 [12] Rob Walters, Michael Coles, Robin Dewson, Fabio Claudio Ferracchiata, Jan D Narkiewicz, and Robert Rae Accelerated SQL Server, Apress, 2008 xii ... lớp SqlClient mơ hình ADO.NET Danh sách sau chứa lớp ADO.NET mà chúng sử dụng trình xây dựng ứng dụng sử dụng SQL Server Databases: - SqlConnection - SqlCommand - SqlDataAdapter - SqlParameter -. .. strConnection as String= 22 2 Tập giảng SQL Server “Server= Admin-0812qix; Initial Catalog=QLTS; UserName=LinhGiang;Password= 123 45” Dim Conn as New SqlConnection(strConnection) - Mở đóng kết nối: Sau... “Server=; 22 1 Tập giảng SQL Server Initial Catalog=; Integrated Security=; UserName=;Password=” Dim as New SqlConnection(String_Connection_Name)