Hệ quản trị cơ sở dữ liệu SQL Server Câu Hỏi 1 Đâu là một công cụ có khả năng chụp tất cả các sự kiện hay hoạt động diễn ra trên một SQL Server và lưu lại dưới dạng text file rất hữu dụng trong việc k.
Trang 1Hệ quản trị cơ sở dữ liệu SQL Server Câu Hỏi 1
Đâu là một công cụ có khả năng chụp tất cả các sự kiện hay hoạt động diễn ra trên một SQL Server và lưu lại dưới dạng text file rất hữu dụng trong việc kiểm soát hoạt động của SQL Server?
Khai thác phân tích dữ liệu
Tra cứu dữ liệu bằng tiếng Anh
Chuyển dữ liệu giữa các Server
Điều nào sau đây là nhược điểm của hệ thống file?
Dị thường khi truy cập dữ liệu
Trang 3Relational Database Engine
Meta Data Service
Trang 4Toàn vẹn theo miền
Toàn vẹn tham chiếu
Trang 5Tham số nào sau đây KHÔNG dùng để thiết kế khóa Index?
Chọn một:
Cột thường dùng làm khóa
Tập lệnh truy vấn cần tốc độ cao
Lượng dữ liệu nhập đồng loạt
Cột có kiểu dữ liệu chiếm nhiều byte
Lưu trữ các table và stored proceduce trong quá trình làm việc
Lưu trữ các thông tin cấp hệ thống
Trang 6Hai lệnh đều dung để xóa dữ liệu, không có sự khác biệt
Lệnh drop để xóa các dòng dữ liệu có trong bảng
Lệnh delete chỉ xóa các dòng dữ liệu có trong bảng, lệnh drop để xóa hoàn toàn bảng ra khỏi CSDL
Thêm dữ liệu về một nhân viên mới A vào trong bảng Nhanvien
Lọc ra các nhân viên có tên bắt đầu bằng chữ A trong bảng
Xóa thông tin của nhân viên A
Từ chối quyền select trên bảng Nhanvien
Câu Hỏi 5
Các kiểu dữ liệu nào tương ứng với các dữ liệu về sản phẩm của một cửa hàng: Tên sản phẩm, Hình ảnh mô tả, Giá sản phẩm, Hạn sử dụng, Số lượng tồn trong kho?
Chọn một:
Int,Smallmoney,Varchar, Datetime, Image
Varchar,Int,Smallmoney, Datetime, Image
Varchar,Image,Int,Datetime, Smallmoney
Trang 7Varchar , Image, Smallmoney, Datetime, Int
Để so sánh hai giá trị tương đương
Để so sánh hai giá trị không tương đương
Để giới hạn kết quả trong một danh sách giá trị xác định
Trả về chỉ những dòng riêng biệt của từng câu lệnh select
Trả về tất cả các dòng của từng câu lệnh select
Trả về chỉ những dòng chung của cả hai câu lệnh select
Câu Hỏi 3
Câu lệnh SQL nào sau đây trả về tổng số nhân viên trong công ty, trong đó Emp_Code là mã nhân viên ?
Chọn một:
Select count(Emp_Code) from Employee
Select sum(Emp_Code) from Employee
Select max(Emp_Code) from Employee
Select min(Emp_Code) from Employee
Trang 8SELECT, FROM, ORDER BY
FROM, SELECT, ORDER BY
ORDER BY, FROM, SELECT
SELECT, ORDER BY, FROM
Câu Hỏi 6
Câu lệnh SELECT DISTINCT dùng để?
Chọn một:
Trả về những giá trị phân biệt trên một cột
Cập nhật những bản ghi tồn tại trong bảng
Tạo bản sao dữ phỏng của bảng
Lấy dữ liệu từ một cơ sở dữ liệu
SELECT, FROM, GROUP BY, HAVING, ORDER BY
SELECT, FROM, GROUP BY, HAVING, WHERE, ORDER BY Câu Hỏi 8
Liên kết hai bảng cho trước theo cách nào để được số bản ghi nhỏ nhất? Chọn một:
INNER JOIN
LEFT OUTER JOIN
RIGHT OUTER JOIN
Cả ba cách đều cho số bản ghi bằng nhau
Câu Hỏi 9
Ta có thể sử dụng những biểu thức SQL ở những đâu?
Chọn một:
Trong phần điều kiện của mệnh đề WHERE và HAVING
Trong mệnh đề VALUES của câu lệnh INSERT
Trong mệnh đề SET của câu lệnh UPDATE
Trang 9Trong danh sách lựa chọn của mệnh đề SELECT
Trang 10Câu Hỏi 7
Để hiển thị lương nhân viên sau khi tăng 10% từ bảng employee, ta dùng câu lệnh nào? Chọn một:
Select emp_code, basic*.10 from employee order by emp_code
Selectemp_code, basic+basic*.01 from employee order by emp_code
Select emp_code, basic+10 from employee order by emp_code
Selectemp_code, basic+basic*.10 from employee order by emp_code
Câu Hỏi 10
Xác định lệnh SELECT nào sau đây là KHÔNG đúng cú pháp
Chọn một:
SELECT ALL* from Suppliers
SELECTSECOND SupplierName, SupplierAddress, from Suppliers
SELECT DISTINCT SupplierName, SupplierAddress from Suppliers
SELECT SupplierName, SupplierAddress from Suppliers
Câu Hỏi 1
Bạn đã thiềt kế được view chứa dữ liệu bán hàng theo từng quý của 1 CSDL View này kết nối nhiều bảng và thực hiện những tính toán tổng hợp Bạn muốn cung cấp 1 truy vấn có tham số (parameterized query) để truy xuất dữ liệu trong view và kết quả ra(dạng bảng) có thể dùng trong mệnh đề SELECT khác Bạn sẽ hoàn thành mục tiêu này như thế nào?
Chọn một:
Dùng lệnh ALTER VIEW để
thêm tham số vào định nghĩa view
Tạo 1 thủ tục (stored procedure) chấp nhận tham số như đầu vào thủ tục và trả về 1 bảng kết quả Tạo 1 thủ tục (stored procedure) chấp nhận tham số như đầu vào thủ tục và trả về 1 bảng kết quả
Tạo 1 hàm dạng inline table nhận tham số như đầu vào của hàm
RETURN ( SELECT pub_Id,
pub_NameFROM pubs.dbo.PublishersWHERE country = @CountryPar )
Chọn một:
Hàm Inline table-valued
Hàm scalar
Trang 11Hàm hệ thống
Hàm Multi-statement table- valued
Câu Hỏi 3
Đoạn mã nguồn sau trả về kết quả nào?
1 - DECLARE @TotalHours INT 2- SET TotalHours = 10
Thủ tục hệ thống (system-stored procedure) nào dùng để cung cấp thông tin về các đối tượng
cơ sở dữ liệu hay loại dữ liệu của người dùng?
RETURNS SMALLINT BEGIN
DECLARE INT @so_nam
Trang 12Câu Hỏi 6
Khảo sát thủ tục sau: Create procedure prcTemp @tmpintoutput As
Select @tmp=ytd_sales from titles Return
Hãy xác định lệnh SQL được dùng để hiển thị giá trị của biến đầu ra khi thủ tục này được gọi Chọn một:
A Declare @temp int
ExecprcTemp@tmp=@temp output
Print @temp
b Exec prcTemp @tmp output Print @tmp
c Declare@tmpintExec prcTemp @tmp Print @tmp
d Declare@tempintExec prcTemp @tmp=@temp
@titlevarchar(80), @ytd_sales int OUTPUT AS
SELECT @ytd_sales = ytd_sales FROM titles WHERE title = @title IF @@ROWCOUNT
PRINT ’No sales found’
ELSE PRINT ’Year to date sales: ’ + STR (@ytd)
B.DECLARE @retval int DECLARE@ytdintEXEC get_sales_for_title
’Net Etiquette’, @ytd OUTPUT IF @retval < 0
PRINT ’No sales found’
ELSE PRINT ’Year to date sales: ’ + STR (@ytd)
Trang 13C.DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title’Net Etiquette’,@retval OUTPUT
PRINT ’No sales found’
ELSE PRINT ’Year to date sales: ’ + STR (@ytd)
Câu Hỏi 8
Đoạn văn câu hỏi
Hàm nào sau đây KHÔNG phải là hàm của người dùng ( user – defined function)
Select * FROM Publishers where country = @country END
B.CREATE FUNCTION dispName(@country varchar(30)) RETURNS varchar(30)
AS BEGIN
Select * FROM Publishers where country = @country
END
C.CREATE FUNCTION dispName(@country varchar(30)) RETURNS table
AS RETURN(Select * FROM Publishers where country = @country)
Trang 14D.CREATE FUNCTION dispName(@country varchar(30)) RETURNS table
FROMSalesInformation WHERE @SalesPersonID = SalesPersonID
Lệnh nào sau đây sẽ thực thi đúng thủ tục trên?
Trang 15A.Createprocedure prcDispName
@cValue char(1) as
Select * from titles Where title like ’@cValue%’
B.Createprocedure prcDispName @cValue char(1)
as
Select * from titles Where title like @cValue%
C.Createprocedure prcDispName @cValue char(1)
as
Declare @temp char(2)
Select @temp=@cValue+ ’%’ Select * from titles Where title like @temp
D.Createprocedure prcDispName
as
Declare @temp char(2) Select @temp=’A%’
Select * from titles Where title like @temp
RETURN ( SELECT pub_Id,
pub_NameFROM pubs.dbo.PublishersWHERE country = @CountryPar )
Bạn có thể tạo một bảng tạm riêng bên trong 1 thủ tục
Câu Hỏi 7
Trang 16Kết luận nào sau đây là SAI đối với thủ tục và hàm người dùng của SQL?
Bạn cần thiết lập các thuộc tính của cursor trước khi mở nó
Bạn có thể chỉnh sửa hàng hiện hành trong bộ kết quả (result set) đuợc trả về bởi cursor Bạn không thể xem dữ liệu được chỉnh sửa bởi các user khác trong bộ bộ kết quả được trả về bởi cursor
Bạn có thể di chuyển lên xuống giữa các hàng trong bộ kết quả
Câu Hỏi 1
Nếu thiếu cơ chế khoá (lock) thì vấn đề nào sẽ xảy ra khi 2 hay nhiều transaction đều chỉnh sửa cùng 1 hàng dữ liệu
Chọn một:
Đọc dữ liệu sai (Dirty Read)
Cập nhật mất dữ liệu (Lost updates)
Đọc không cùng nội dung (Inconsistent Analysis)
Đọc các mẫu tin không đúng (Phantom Reads)
SAVE SAVEPOINT Returnback
SAVE TRANSACTION Returnback
INSERT TRANSACTION Returnback
Trigger được thực hiện tự động mỗi khi lệnh TRUNCATE TABLE được dùng
Trigger không thể gọi 1 trigger khác bởi vì trigger không thể gọi tường minh được
Trang 17Mọi chỉnh sửa trong 1 transaction hoặc được thi hành hết hoặc không có 1 chỉnh
sửa nào được thực hiện
Bất kỳ thay đổi dữ liệu được thực hiện bởi một transaction vẫn giữ nguyên hiệu quả sau khi transaction hoàn tất
Mọi dữ liệu đều ở trạng thái không thay đổi sau khi transaction đã thực hiện thành công
Tham chiếu (referential)
Người dùng (user defined)
Phản hồi
Đáp án đúng là: Tham chiếu (referential)
Câu Hỏi 6
CSDL của Công ty Cyber Inc có 1bảng tên là "issue" dùng để theo dõi sách được phát hành
Đã có sẵn 1 trigger "issue_insert" dùng để cập nhật trạng thái của sách đã phát hành cho khách hàng vào 1 bảng tên "copy" mỗi khi có 1 bản ghi mới trong bảng "issue" Hiện nay công ty muốn trigger này cũng nên cập nhật trạng thái của sách trong bảng "copy" mỗi khi có 1 bản ghi được xoá khỏi bảng "books" Tuỳ chọn nào sau đây nên được thực hiện?
Chọn một:
Sử dụng lệnh DELETE TRIGGER để sửa đổi trigger
Sử dụng lệnh ALTER TRIGGER để sửa đổi lại trigger
Tạo 1 trigger khác cho bảng books
Tạo 1 trigger cho lệnh update
Trang 18Phát biểu nào sau đây là đúng khi định nghĩa về trigger
Chọn một:
Trigger giống như procedure, có thể được gọi 1 cách tường minh để thực hiện
Trigger có thể giúp tránh được những thay đổi về dữ liệu không được phép, hoặc sai
Trigger có thể trả về dữ liệu cho người dùng
Trigger không thể gọi 1 trigger khác bởi vì trigger không thể gọi tường minh được
ALTER TRIGGER <Tên Trigger>
Drop Trigger <Tên Trigger>
SP_helptext <Tên Trigger>
Trang 19Câu Hỏi 6
Phát biểu nào sau đây là đúng khi nói về trigger
Chọn một:
Trigger cần được thực thi 1 cách tường minh
Trigger có thể giám sát được các thay đổi dữ liệu không được phép
Trigger được thực hiện tự động mỗi khi lệnh TRUNCATE TABLE được dùng
Trigger có thể trả về dữ liệu cho người dùng
Câu Hỏi 9
Dữ liệu thống kê về các đội bóng được lưu trữ trong CSDL Statistics Các cầu thủ của mỗi đội được nhập vào bảng Rosters Cấu trúc của bảng này như sau: CREATE TABLE Rosters ( RosterID int NOT NULL, TeamID int NOT NULL, FirstName char(20) NOT NULL, LastName char(20) NOT NULL, CONSTRAINTPK_Rosters PRIMARY KEY (RosterID),
CONSTRAINT FK_TeamRoster FOREIGN KEY (TeamID) REFERENCES Team (TeamID) )
Mỗi đội có tối đa 24 cầu thủ.trong bảng phân công (roster) vào bất kỳ lúc nào Bạn cần phải bảo đảm là số cầu thủ của 1 đội không bao giờ được vượt quá số tối đa Bạn nên làm gì? Chọn một:
Tạo 1 trigger trên bảng Rosters để xét tính hợp lệ của dữ liệu nhập vào
Tạo 1 rule để xét tính hợp lệ của dữ liệu
Tạo 1 view để thực hiện lệnh UPDATE bao gồm mệnh đề WITH CHECK OPTION trong lệnh định nghĩa VIEW
Thêm 1 ràng buộc CHECK trên bảng Rosters để kiểm tra tính hợp lệ của dữ liệu
Câu Hỏi 10
Bạn là nhà quản trị CSDL SQL Bạn đang phát triển 1 ứng dụng CSDL cho phòng kế toán công ty của bạn Ứng dụng này chứa nhiều modules được tích hợp nhau Các user thuờng gặp phải deadlock bất kỳ lúc nào một người nào đó thực hiện 1 hàm mà nó cần tích hợp từ nhiều module Làm thế nào đê giảm thiểu các deadlock này?
Trang 20Xóa tất cả các nhân viên khỏi Account role
Thực hiện lệnh REVOKE để xóa bỏ tất cả quyền đã cấp cho các nhân viên
Thực hiện một câu lệnh GRANT để cấp quyền SELECT cho các nhân viên này
Thực hiện một lệnh DENY để cấm các quyền chỉnh sửa dữ liệu trên bảng Hoadon
Câu Hỏi 8
Don cần thêm 1 user mới có tên ’Myuser’ vào system administration role Lệnh nào sau đây
sẽ thực hiện được yêu cầu này?
Chọn một:
EXEC sp_addsrvrolemember 'MyUser', 'sysadmin'
EXEC sp_addsrvrolemember 'MyUser', 'db_ddl_admin'
EXEC sp_srvaddrolemember 'sysadmin', 'MyUser'
EXEC sp_srvaddrolemember 'db_ddl_admin', 'MyUser'
Câu Hỏi 10
Ed đang tạo 1 CSDL cho công ty của anh ta Mọi người đều có quyền truy xuất vào CSDL này Trong CSDL có 1 bảng tên là EMP Mọi người có thể dùng các lệnh SELECT và INSERT trên bảng này, ngoại trừ John và Mary là có thể được quyền sử dụng thêm các lệnh DDL Bạn làm cách nào để nhanh chóng gán quyền cho các người dùng mà không gây ra các chi phí không cần thiết
Chọn một:
Tạo 1 role mới gọi là EMP, gán các user vào role này, kể cả John và Mary
Tạo 1 role mới gọi là EMP, gán các user vào role này và gán các user vào role này ngoại trừ John và Mary
Trang 21Tạo 1 role mới gọi là EMP và gán quyền thích hợp cho các user kế cả John và Mary, sau đó thêm quyền update cho John và Mary
Gán quyền SELECT và INSERT của bảng EMP vào role public database Cấp cho John và Mary role db_dlladmin
gì ?
Chọn một:
Hùng cần phải được cấp quyền References trên table Nhanvien thì mới có thể tạo được table
có khoá ngoại tham chiếu đến table Nhanvien
Hùng cần phải được cấp quyền Insert, Update, Delete trên table Nhanvien thì mới có thể tạo được table có khoá ngoại tham chiếu đến table Nhanvien
Hùng cần phải là owner của table Nhanvien
Hùng cần phải có quyền Select trên cột làm khoá chính của table Nhanvien
Trang 22Câu Hỏi 5
Bạn là nhà quản trị CSDL cho công ty XYZ Một trong các yêu cầu quản trị là bạn cần gán quyền cho các nhân viên của phòng kế toán sao cho họ được phép truy vấn dữ liệu nhưng không được quyền sửa đổi dữ liệu Hãy xác định fixed database role nào bạn nên gán cho các nhân viên này?
A SP_grantdbaccess [@login=]< ‘Tên người dùng’>
[,@Name_in_db=]< ‘Tên bí danh’>
B SP_Password[@old=] <’Mật khẩu cũ>
[@New=]< ‘Mật khẩu mới’>
[@login=]< ‘Tên người dùng’>
C Sp_addlogin [@login=] <’Tên người dùng’>
Windows Authentication Mode và Mixed Mode
Touch ID & Passcode, Fingerprint lock và Trusted locations
Câu Hỏi 8
Chris Forsythe là người quản trị CSDL của công ty Great Graphics Có 4 database role có tên gọi là Customers, Admin, Technology và Marketing Role có tên là Technology bị cấm truy xuất vào bảng Products Bill vừa được chuyển từ phòng Technology sang phòng Admin và được thêm vào role Admin Mọi thành viên của phòng Admin ngoại trừ Bill ra đều có quyền SELECT trên bảng Products Hãy giúp Chris có được quyền SELECT cho Bill vào bảng Products
Chọn một:
Trang 23Sp_droprolemember 'Technology', 'Bill'
Sp_addrolemember 'db_owner', 'Bill' GRANT
SELECT ON Products TO Bill
Sp_addrolemember 'Admin', 'Bill'
Thêm Andrea vào role db_owner
Thêm Andrea vào role db_ddladmin
Gán Andrea quyền CREATE VIEW
Gán Andrea quyền ALTER VIEW
Câu Hỏi 10
Bạn là quản trị CSDL, có vai trò DBA trong hệ thống MS SQL Bạn được yêu cầu tạo một Login account và cấp quyền truy cập vào Sales database cho An một User mới Bạn thực hiện yêu cầu này bằng sử dụng hộp thoại New Login trong Enterprise Manager để tạo Login account,
và chọn Default Database là Sales Bạn đã báo cho An password để login vào SQL Server Tuy nhiên sau đó, bạn nhận được thông báo rằng: An không thể vào được Sales database Vậy lỗi ở đây là gì ?
Chọn một:
An đã gõ sai password
Bạn đã quên không cấp quyền cho An là user của Sales database
An đã connect không đúng server
Gồm cả 3 lỗi trên
Câu Hỏi 1
Các nguyên nhân gây chậm truy vấn SQL?
Chọn một:
Không/thiếu sử dụng các lợi ích của Indexes
Trả về các dữ liệu không cần thiết
Không/thiếu tận dụng được I/O striping
Trang 24A.CREATE INDEX index_name
on table_name (column1, column2);
B.CREATE INDEX index_name ON table_name;
C.CREATE INDEX index_name
A Bước 1 - Tạo dữ liệu thử nghiệm
Bước 2 – Thay thế dữ liệu
Bước 3 - Kết quả FTS
B.Bước 1 - Tạo chỉ mục FTS
Bước 2 - Sử dụng hàm FTS trong các truy vấn SQL
Bước 3 – Đọc kết quả FTS
C.Bước 1 - Tạo dữ liệu thử nghiệm
Bước 2 - Tạo chỉ mục FTS và sử dụng chức năng FTS
Bước 3 - Tinh chỉnh kết quả FTS
D.Bước 1 - Tạo dữ liệu thử nghiệm
Bước 2 - Sử dụng hàm FTS trong các truy vấn SQL và tinh chỉnh kết quả FTS
Biến @return_status sẽ chứa kết quả trả về của phương thức Nếu phương thức được khai báo là void, giá trị trả về sẽ là?