Hệ quản trị CSDL - IT10 (253)
Cho CSDL “QLNV” với bảng tblNhanVien(MaNV, TenNV, GioiTinh, DiaChi) phân mảnh ngang theo nguyên tắc sau:
-Server1 gồm các nhân viên Nữ
-Server2 gồm các nhân viên Nam
Câu lệnh để có được bảng đầy đủ danh sách các nhân viên (cả nam và nữ) từ Server 2 là gì?
A. Select MaNV, TenNV, GioiTinh, DiaChi from Server1.tblNhanvien Union Select MaNV, TenNV, GioiTinh, DiaChi From tblNhanvien
B. Select MaNV, TenNV, GioiTinh, DiaChi from Server1.tblNhanvien
C. Select MaNV, TenNV, GioiTinh, DiaChi from Server1.QLNV.dbo.tblNhanvien Union Select MaNV, TenNV, GioiTinh, DiaChi From tblNhanvien
D. Select MaNV, TenNV, GioiTinh, DiaChi from tblNhanvien Union Select MaNV, TenNV, GioiTinh, DiaChi From Server2.QLNV.dbo.tblNhanvien
Câu lệnh sau có ý nghĩa gì?
SELECT sTen, fLuong
FROM tblNV
WHERE fLuong >= 5000
A. Chọn toàn bộ danh sách nhân viên
B. Chọn danh sách gồm thông tin họ tên và lương của các nhân viên mà có lương từ 5000 trở lên
C. Chọn thông tin họ tên nhân viên
D. Chọn danh sách gồm thông tin họ tên và lương của các nhân viên mà có lương nhỏ hơn 5000
Khi nào cần dùng đến ràng buộc `FOREIGN KEY` trong thực hiện câu lệnh CREATE TABLE?
A. Khi tạo bảng không có dữ liệu
B. Khi muốn kiểm tra giá trị nhập vào của một thuộc tính thỏa mãn một điều kiện nào đó
C. Khi muốn lưu giá trị tự động cho một thuộc tính
D. Khi muốn đảm bảo liên kết giữa hai bảng , cho phép giá trị của một thuộc tính tham chiếu liên kết đến một thuộc tính của bảng khác
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu). Đoạn thủ tục sau thực hiện yêu cầu xử lý gì?
CREATE PROC spTenSP(float @a, float @b)
As
BEGIN
Select sTenSP
From tblSANPHAM
Where fDonGia between @a and @b
END
A. Cho danh sách thông tin đầy đủ tất cả các sản phẩm có giá trong khoảng từ @a đến @b
B. Cho danh sách tên sản phẩm có đơn giá trong khoảng từ @a đến @b với @a và @b là tham số truyền vào
C. Cho danh sách các sản phẩm có đơn giá trên @b và dưới @b, với @a và @b là tham số truyền vào
D. Cho danh sách tên các sản phẩm
Câu lệnh nào để cập nhật lương tăng thêm 10% chỉ cho các nhân viên mà có mã nhân viên không tồn tại ở bảng ở trong bảng hoá đơn?
A. UPDATE tblNhanVien SET fLuong = fLuong*1.1 WHERE tblNhanVien.sMaNV = tblHoaDon.sMaNV
B. UPDATE tblNhanVien SET fLuong = fLuong*1.1 EXCEPT sMaNV IN tblHoaDon.sMaNV
C. UPDATE tblNhanVien SET fLuong = fLuong*1.1 WHERE sMaNV NOT IN (SELECT sMaNV from tblHoaDon)
D. UPDATE tblNhanVien SET fLuong = fLuong*1.1 MERGE tblNhanVien.sMaNV = tblHoaDon.sMaNV
Tại sao việc làm sạch dữ liệu (data cleaning) lại quan trọng trong Big Data?
A. Để tránh sai lệch kết quả phân tích do dữ liệu lỗi
B. Để tăng dung lượng lưu trữ
C. Để tăng số lượng dòng
D. Để làm đẹp giao diện
Câu lệnh
SELECT *
FROM tblNV
WHERE sTen LIKE '_i%'
sẽ lọc ra các tên như thế nào?
A. Tên có chứa 'i'
B. Tên bắt đầu bằng chữ 'i'
C. Tên có hai ký tự
D. Tên có ký tự thứ hai là 'i'
Cho CSDL “QLNV” với bảng tblPhongBan phân mảnh dọc theo nguyên tắc sau:
-Server1 gồm các thông tin: MaPhong, TenPhong
-Server2 gồm các thông tin: MaPhong, DiaDiem, DienThoai
Đoạn code để chèn thêm một phòng ban mới vào bảng (thủ tục được viết trên Server2)
A. Create Proc spInsertPhongban (@ma varchar(10), @ten nVarchar(20), @diachi nvarchar(30), @dienthoai varchar(11))
as
Begin
Insert Into tblPhongBan Values(@ma, @diachi, @đienthoai)
Insert Into Server1.QLNV.dbo.tblPhongBan Values(@ma,@ten)
print N'Thêm thành công'
End
B. Create Proc spInsertPhongban (@ma varchar(10), @ten nVarchar(20), @diachi nvarchar(30), @dienthoai varchar(11))
as
Begin
Insert Into tblPhongBan Values(@ma, @ten, @diachi, @đienthoai)
print N'Thêm thành công'
End
C. Không có đáp án nào đúng
D. Create Proc spInsertPhongban (@ma varchar(10), @ten nVarchar(20), @diachi nvarchar(30), @dienthoai varchar(11))
as
Begin
Insert Into Server1.QLNV.dbo.tblPhongBan Values(@ma, @diachi, @đienthoai)
Insert Into tblPhongBan Values(@ma,@ten) print N'Thêm thành công'
End
Câu lệnh để hủy bỏ tất cả các quyền trên CSDL đối với tài khoản db_user1
A. REVOKE Select, Insert, Delete FROM db_user
B. REVOKE ALL
C. REVOKE FROM db_user
D. REVOKE ALL FROM db_user1
Câu lệnh
DELETE FROM tblNV
WHERE fLuong < 2000
sẽ thực hiện yêu cầu gì?
A. Xóa nhân viên có lương dưới 2000
B. Thêm dữ liệu
C. Cập nhật dữ liệu
D. Xóa bảng
Câu lệnh
SELECT *
FROM tblNV
ORDER BY fLuong DESC
sẽ thực hiện gì?
A. Sắp xếp danh sách bảng theo mã giảm dần
B. Sắp xếp danh sách theo lương giảm dần
C. Không thay đổi thứ tự
D. Sắp xếp danh sách theo tên tăng dần
Từ khóa HAVING được dùng trong câu lệnh SQL để làm gì?
A. Lọc dữ liệu sau khi đã thực hiện GROUP BY
B. Thêm điều kiện cho JOIN
C. Sắp xếp nhóm
D. Lọc dữ liệu trước GROUP BY
Lệnh nào sau đây cho phép tạo thuộc tính sTenSVvừa đảm bảo giá trị không trùng lặp và không được rỗng?
A. sTenSV NVARCHAR(50) NOT NULL UNIQUE
B. sTenSV CHAR NOT NULL DEFAULT
C. sTenSV VARCHAR(50) PRIMARY KEY NOT NULL
D. sTenSV VARCHAR
Cho hai bảng
tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV, TongTien)
tblCTHOADON (sMaHD, sMaSP, iSL, fDG)
Đoạn trigger sau làm nhiệm vụ gì?
CREATE TRIGGER themCTHD
ON tblCTHOADON
Instead of Insert
As
Begin
Declare int @sl, float @dg, nvarchar @soHD
Select @sl = iSL, @dg = fDG, @soHD = sMaHD
From insterted
Update tblHOADON
Set TongTien = TongTien + @sl * @dg
Where sMaHD = @soHD
End
A. Mỗi khi xoá một dòng trong bảng tblCTHOADON thì tổng tiền của hóa đơn được giảm tương ứng cho hóa đơn với mã được xoá
B. Mỗi khi thêm một dòng mới vào bảng tblCTHOADON thì tổng tiền của HOADON với mã hóa đơn tương ứng được tăng theo tuỳ theo số lượng và đơn giá được nhập vào
C. Mỗi khi sửa thông tin của một dòng trong tblCTHOADON thì tổng tiền tương ứng của hóa đơn đó được chỉnh sửa tương ứng
D. Mỗi khi lấy thông tin từ bảng tblCTHOADON thì tự động tính toán Tổng Tiền cho số hóa đơn tuonwg ứng
Trong table NHANVIEN, giá trị LUONG của nhân viên tên A (TenNV = 'A') trong T-SQL sau bằng mấy?
BEGIN
UPDATE NHANVIEN SET luong = 6000 WHERE TenNV = 'A'
SAVE tran save_A
UPDATE NHANVIEN SET luong = 7500 WHERE TenNV = 'A'
SAVE tran save_A
UPDATE NHANVIEN SET luong = 3000 WHERE TenNV = 'A'
SAVE Tran save_A1
ROLLBACK tran save_A
END
COMMIT
A. 3000
B. 6000
C. Không phải các giá trị trên
D. 7500
Cho đoạn mã tạo trigger:
CREATE TRIGGER NV_GT
ON NHANVIEN
INSTEAD OF INSERT
As
BEGIN
declare @Gt as nvarchar(3)
select @gt = GT from INSERTED
if ( @gt not in ('Nam', N'Nữ') )
Raiserror('Ban nhap sai Gioi tinh',16,10)
END
Cho biết ý nghĩa của đoạn mã
A. Tạo trigger kiểm tra giới tính nhập vào cho bảng NHANVIEN
B. Tạo trigger kiểm tra giới tính nhập vào cho bảng NHANVIEN chỉ nhập từ Nam hoặc Nữ, nếu nhập sai đươc ra thông báo “Bạn nhập sai Giới tính”
C. Tạo trigger kiểm tra giới tính nhập vào cho bảng NHANVIEN không được nhập giá trị “Nam” hoặc”Nữ”
D. Tất cả các phương án đều đúng
Cho đoạn lệnh:
DECLARE
@V1 int
BEGIN
SELECT COUNT(*) FROM nhanvien
END
BEGIN
set @V1= @@ROWCount
END
Giá trị @V1 sẽ nhận là?
A. Tùy thuộc vào số lượng bản ghi của bảng Nhanvien
B. 1
C. NULL
D. 0
Để báo cáo số lượng bán được theo từng năm của 1 đầu sách (title) nào đó, người ta đã tạo 1 thủ tục với nội dung như sau:CREATE PROCEDURE get_sales_for_title@title varchar(80),@ytd_sales int OUTPUTASSELECT @ytd_sales = ytd_sales FROM titles WHERE title = @titleIF @@ROWCOUNT = 0RETURN(-1)ELSERETURN(0)Biến hệ thống @@ROWCOUNT luôn trả về số bản ghi của lệnh SQL vừa được thực hiện trước đó. Bạn cần tạo 1 script để gọi thủ tục trên. Nếu thủ tục chạy thành công, nó sẽ báo cáo số luợng bán được, ngược lại thì hiển thị thông báo "No Sales Found". Script này được tạo như thế nào?
A. DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title ’Net Etiquette’,@retval OUTPUTIF @retval < 0PRINT ’No sales found’ELSEPRINT ’Year to date sales: ’ + STR (@ytd)GO
B. DECLARE @retval intDECLARE @ytd int EXEC get_sales_for_title’Net Etiquette’, @ytd OUTPUTIF @retval < 0PRINT ’No sales found’ELSEPRINT ’Year to date sales: ’ + STR (@ytd)GO
C. DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title ’Net Etiquette’, @ytdIF @retval < 0PRINT ’No sales found’ELSEPRINT ’Year to date sales: ’ + STR (@ytd)GO
D. DECLARE @retval int DECLARE @ytd int EXEC @retval = get_sales_for_title ’Net Etiquette’, @ytd OUTPUTIF @retval < 0PRINT ’No sales found’ELSEPRINT ’Year to date sales: ’ + STR (@ytd) GO
Cho bảng tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongia, sXuatSu) và tblCTHOADON (sMaHD, sMaSP, iSLM).
Đoạn thủ tục sau thực hiện yêu cầu xử lý gì?
CREATE PROC spTenSP(nvarchar @mhd)
As
BEGIN
Select sTenSP
From tblSANPHAM as A, tblCTHOADON as B
Where sMaHD = @mhd and A.sMaSP = B.sMaSP
END
A. Cho biết tên sản phẩm đã được khách hàng thực hiện mua hàng
B. Cho biết tên sản phẩm đã được mua hàng của một hóa đơn nào đó với mã hóa đơn là tham số truyền vào
C. Cho danh sách tên các sản phẩm đã được khách hàng mua hàng trong một ngày nào đó
D. Cho danh sách thông tin đầy đủ các sản phẩm đã được mua hàng của một hóa đơn nào đó với mã hóa đơn là tham số truyền vào
Phương pháp phân tán nào mà dữ liệu để tại một Server và các máy khách (Client) liên kết đến để khai thác?
A. Phương thức lai
B. Tập trung dữ liệu
C. Sao lặp dữ liệu
D. Chia nhỏ dữ liệu