Cho CSDL quản lý bán hàng gồm hai bảng:
tblKHACHHANG(sSdtKH, sTenKH, SoHoaDon)
tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV)
Đoạn mã trigger để cho phép mỗi lần chèn thêm một hóa đơn mới thì tổng số hóa đơn của khách hàng được tăng lên tương ứng một đơn vị
A. CREATE TRIGGER ThemHoaDon
ON tblHOADON
Instead of Insert
Begin
Declare @soDT nvarchar(10)
Select @soDT = sSDTKH
From tblHOADON
Update tblKHACHHANG
Set SoLanMua = SoLanMua + 1
Where sSdtKH = @soDT
end
B. CREATE TRIGGER ThemHoaDon
ON tblHOADON
Instead of Insert
Begin
Declare @soDT nvarchar(10)
Update tblKHACHHANG
Set SoLanMua = SoLanMua + 1
Where sSdtKH = @soDT
end
C. CREATE TRIGGER ThemHoaDon
ON tblHOADON
Instead of update
Begin
Declare @soDT nvarchar(10)
Select @soDT = sSDTKH
From inserted
Update tblKHACHHANG
Set SoLanMua = SoLanMua + 1
Where sSdtKH = @soDT
end
D. CREATE TRIGGER ThemHoaDon
ON tblHOADON
Instead of Insert
Begin
Declare @soDT nvarchar(10)
Select @soDT = sSDTKH
From inserted
Update tblKHACHHANG
Set SoLanMua = SoLanMua + 1
Where sSdtKH = @soDT
end
Ý nghĩa của đoạn mã sau là gì?
CREATE TRIGGER TG_PC
ON PHANCONG
INSTEAD OF insert
AS
BEGIN
declare @tg as float
SELECT @tg = SoGio from INSERTED
if (@tg<5 and @tg>10)
Raiserror('Thoi gian chi nhap tu 5 den 10', 16,1)
END
A. Đoạn mã tạo trigger cho phép nhập số giờ của nhân viên chỉ là từ 5 đến 10 khi thêm phân công nhân viên thực hiện dự án
B. Tạo trigger khi nhập dữ liệu phân công có số giờ hoặc dưới 5 hoặc trên 10
C. Tạo trigger khi sửa phân công chỉ được nhận giá trị từ 5 đến 10
D. Tất cả các phương án đều đúng
Cho hai bảng
tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV, TongTien)
tblCTHOADON (sMaHD, sMaSP, iSL, fDG)
Đoạn Trigger nào để thực hiện yêu cầu: Mỗi khi thêm một dòng mới vào bảng tblCTHOADON thì tổng tiền của tblHOADON với mã tương ứng được tăng theo tuỳ theo số lượng và đơn giá được nhập vào
A. CREATE TRIGGER themCTHD
ON tblCTHOADON
Instead of Insert
As
Begin
Update tblHOADON
Set TongTien = TongTien + iSL * fDG
Where sMaHD = @soHD
End
B. CREATE TRIGGER themCTHD
ON tblCTHOADON
Instead of Insert
As
Begin
Update tblHOADON
Set TongTien = TongTien + iSL * fDG
End
C. CREATE TRIGGER themCTHD
ON tblHOADON
Instead of Insert
As
Begin
Declare int @sl, float @dg, nvarchar(9) @soHD
Select @sl = iSL, @dg = fDG, @soHD = sMaHD
From insterted
Update tblHOADON
Set TongTien = TongTien + @sl * @dg
Where sMaHD = @soHD
End
D. CREATE TRIGGER themCTHD
ON tblCTHOADON
Instead of Insert
As
Begin
Declare int @sl, float @dg, nvarchar(9) @soHD
Select @sl = iSL, @dg = fDG, @soHD = sMaHD
From insterted
Update tblHOADON
Set TongTien = TongTien + @sl * @dg
Where sMaHD = @soHD
End
Câu lệnh SQL nào được dùng để xóa một cơ sở dữ liệu đã có?
A. DROP DATABASE
B. TRUNCATE
C. DELETE
D. REMOVE
Câu lệnh CHECK nào sau đây là đúng để giới hạn thuộc tính iTuoi nhận giá trị từ 18 đến 60?
A. CHECK (iTuoi >= 18 TO 60)
B. CHECK (iTuoi BETWEEN 18 AND 60)
C. CHECK (iTuoi >= 18 AND <= 60)
D. CHECK (iTuoi IN 18..60)
Câu lệnh `DROP TABLE` thực hiện được khi thỏa mãn điều kiện gì?
A. Bảng không có khóa ngoại bị tham chiếu đến
B. Bảng có dữ liệu
C. Không tồn tại bảng
D. Bảng đã khóa
Câu lệnh nào đúng để trả lại tên nhân viên có lương cao nhất trong bảng tblNV
A. SELECT MAX(sTen)
FROM tblNV
B. SELECT sTen
FROM tblNV
WHERE fLuong = (SELECT MAX(fLuong) FROM tblNV)
C. SELECT sTen
FROM tblNV
WHERE fLuong = MAX(fLuong)
D. SELECT TOP 1 sTen
FROM tblNV
Câu nào sau đây là cú pháp đúng khi dùng hàm tổng hợp kèm GROUP BY?
A. SELECT sPhong, SUM(fLuong)
FROM tblNV
B. SELECT sPhong, fLuong
FROM tblNV
GROUP BY SUM(fLuong)
C. SELECT sPhong
FROM tblNV
GROUP BY SUM(fLuong)
D. SELECT SUM(fLuong)
FROM tblNV
GROUP BY sPhong
Lệnh nào dùng để xóa dữ liệu trong bảng dựa theo điều kiện đã xác định?
A. CLEAR
B. REMOVE
C. DELETE
D. DROP
Giả sử có 1 CSDL chứa thông tin của các công ty cùng với mã vùng (zip code). Hiện tại CSDL chỉ mới chứa dữ liệu của các công ty với 5 mã vùng khác nhau. Số công ty trong mỗi mã vùng có thể từ 10 đến 5000. Trong tương lai sẽ có thêm nhiều công ty với các mã vùng mới khá Bạn cần tạo 1 truy vấn để xem thông tin từ CSDL. Việc thực thi truy vấn không được ảnh hưởng đến số công ty được trả về. Truy vấn được tạo ra cần thông nhất và làm tối thiểu việc phải bảo trì sửa đổi truy vấn này trong tương lai. Bạn nên làm gi?
A. Tạo 1 view cho mỗi mã vùng
B. Chia bảng thành nhiều bảng, mỗi bảng chứa 1 mã vùng. Sau đó xây dựng 1 view kết các bảng này lại sao cho dữ liệu có thể vẫn được xem như chỉ từ 1 bảng
C. Tạo 1 thủ tục (stored procedure) yêu cầu mã vùng như tham số đầu vào, bao gồm tuỳ chọn WITH RECOMPILE khi tạo thủ tục
D. Tạo 1 thủ tục cho mỗi mã vùng
Cho CSDL quản lý bán sản phẩm gồm các bảng:
tblNHANVIEN(sMaNV, sHoten, sGioitinh, fHSL, sQuequan)
tblSANPHAM(sMaSP, sTenSP, iSoluong, fDongiaban, sNhaSX)
tblKHACHHANG(sSdtKH, sTenKH)
tblHOADON(dNgaylap, sMaHD, sSdtKH, sMaNV)
tblCTHOADON (sMaHD, sMaSP, iSLM)
Đâu là thủ tục để cho danh sách tên các Nhân viên đã KHÔNG tham gia bán hàng trong một ngày nào đó
A. CREATE PROC spTenNV(datetime @d)
As
BEGIN
Select sHoten
From tblNHANVIEN
Where sMaNV in (Select sMaNV from tblHOADON
Where dNgayLap = @d)
END
B. CREATE PROC spTenNV(datetime @d)
As
BEGIN
Select sHoten
From tblNHANVIEN
Where sMaNV not in (Select sMaNV from tblHOADON
Where dNgayLap = @d)
END
C. CREATE PROC spTenNV
As
BEGIN
Select sHoten
From tblNHANVIEN
Where sMaNV in (Select sMaNV from tblHOADON)
END
D. CREATE PROC spTenNV
As
BEGIN
Declare datetime @d
Select sHoten
From tblNHANVIEN
Where sMaNV in (Select sMaNV from tblHOADON
Where dNgayLap = @d)
END
Bạn là nhà quản trị CSDL SQL. Bạn đang phát triển 1 ứng dụng DB 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?
A. Bạn cần phải bảo đảm là tất cả các transaction chỉnh sửa dữ liệu các bảng phải theo cùng 1 thứ tự
B. Bạn cần phải bảo đảm là tất cả các transaction chỉnh sửa dữ liệu các bảng phải theo thứ tự ngược nhau
C. Bạn cần phải bảo đảm là tất cả các transaction chỉnh sửa dữ liệu các bảng không theo cùng thứ tự
D. Bạn cần phải bảo đảm là tất cả các transaction chỉnh sửa phù hợp với cách thực thi của công cụ query optimizer
Phiên bản Enterprise của SQL Server chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ thống lên đến?
A. 4 CPU và 2 GB RAM
B. 32 CPUs và 64 GB RAM
C. 64 CPUs và 128 GB RAM
D. 16 CPUs và 32 GB RAM
Dịch vụ chuyển đổi dữ liệu DTS của SQL Server thực hiện chức năng gì?
A. Chuyển dữ liệu giữa các Server
B. Tra cứu dữ liệu
C. Nhân bản dữ liệu
D. Tìm kiếm
Cơ sở dữ liệu hệ thống Msdb dùng để?
A. Lưu trữ các system objects
B. Hoạch định các báo động và công việc cần làm (schedule alerts and jobs)
C. Lưu trữ các thông tin cấp hệ thống
D. Lưu trữ các table và stored proceduce trong quá trình làm việc
Hỗ trợ kiến trúc Client/Server (Supports Client/Server model) là gì?
A. Truy cập dữ liệu được lưu trữ trên Server
B. Tất cả các phương án đều đúng
C. Ứng dụng có thể chạy trên Client
D. Server có nhiệm vụ xử lý các yêu cầu và trả lại kết quả cho Client.
Phiên bản Personal của SQL Server có thể cài đặt?
A. Windows XP
B. Trên hầu hết các phiên bản của windows, kể cả Windows 98.
C. Windows 98
D. Windows Server 2000
Có thể đặt mấy cột trong bảng làm khóa chính?
A. Trên nhiều cột
B. Trên 2 cột bất kỳ
C. Chỉ trên cột ID
D. Trên 1 cột bất kỳ
Kiểu dữ liệu nào sau đây KHÔNG có trong SQL Server ?
A. Nvarchar
B. Text
C. Bool
D. Char
Hệ quản trị cơ sở dữ liệu SQL Server 2008 không hỗ trợ tính năng nào sau đây?
A. Kết nối dữ liệu với các dịch vụ điện toán đám mây
B. Khôi phục dữ liệu
C. Định nghĩa dữ liệu
D. Khai phá dữ liệu