Top Banner

of 42

lưu hành nội bộ(csdl)

Jul 08, 2015

Download

Documents

Duc Phan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Cu hi n tp mn Cc h qun tr CSDL(n thi lin thng 2009-trung cp-i Hc)(p n bn di)1 Bn l ngi thit k c s d liu. Mt ngi gy ging ch a phng nh bn thit k c s d liu. C s d liu ny dng lu thng tin v ch ging. Bn to bng tn Dogs bng cch thc thi cu script sau CREATE TABLE [dbo].[Dogs] ( [DogID] [int] NOT NULL, [BreadID] [int] NOT NULL, [DateofBirth] [datetime] NOT NULL, [WeightAtBirth] [decimal](5,2) NOT NULL, [NumberOfSiblings] [int] NULL, [MotherID] [int] NOT NULL, [FatherID] [int] NOT NULL, ) ON [PRIMARY] GO ALTER TABLE [dbo].[Dogs].WITH NOCHECK ADD CONSTRAINT [PK_Dogs]PRIMARY KEY CLUSTERED ( [DogID] ) ON [PRIMARY] GO Bn phi m bo rng mi con ch phi c gi tr hp l ng vi ct MotherID v ct FartherID. Bn phi thc hin nh th no? a) To trigger AFTER INSERT cho bng Dogs rollback lnh trong trng hp ct MotherID v FatherID c gi tr khng hp l b) To mt rng buc CHECK mc Table cho ct MotherID v FatherID c) To 2 rng buc FOREIGN KEY: 1 rng buc cho ct MotherID v 1 rng buc cho ct FatherID. Mi rng buc tham chiu n ct DogID d) To 1 Rule v kt buc v ct MotherID. Kt buc rule ging vy vo ct FatherID 2 Bn l ngi pht trin c s d liu cho cng ty CertKiller. C s d liu ny cha bng d liu tn l Products v mt bng tn l Companies. Bn mun chn thng tin mi v sn phm t mt my ch lin kt vo trong bng Products. Bng Products c kha ngoi tham chiu n bng Companies. Mt Trigger UPDATE c nh ngha trong bng Products. Bn phi thc hin nh th no? a) Dng cu lnh ALTER TABLE v ty chn DISABLE TRIGGER ALL thay i bng d liu Products b) Dng cu lnh ALTER TABLE v ty chn DISABLE TRIGGER ALL thay i bng d liu Companies c) Dng cu lnh ALTER TABLE v ty chn NOCHECK CONSTRAINT thay i bng d liu Companies d) Dng cu lnh ALTER TABLE v ty chn NOCHECK CONSTRAINT thay i bng d liu Products 3 Bn cn cp cho mt nhn vin c quyn dbo truy cp vo Database Marketing ang ci t trn SQL Server 2000. Th tc no sau y bn s dng thc hin vic ny : a) sp_addrole b) sp_addlogin c) sp_grantlogin d) sp_grantdbaccess 4 Mt th tc c t ng thc hin khi ta thay i d liu trong 1 table ca SQL Server qua cc lnh Update, Insert, Delete thuc loi: a) Trigger b) Stored Procedure c) Extended Stored Procedure d) Rule

5

Lnh no di y c dng to 1 login mi Create Longin_ID a) sp_addlogin b) Create Login c) sp_create_login a) b) c) d) Lnh no di y c dng xa 1 login ID ra khi SQL Server sp_droplogin drop login sp_removelogin Ch c th xa cc login bng Enterprise Manager

6

7 Bn to database Customers bao gm mt data file t trong Primary filegroup , v mt Log file. Bn mun tng kch thc ca database thm 150Mb bng cch to thm 3 data file v t trong mt filegroup mi. Bn s thc hin bng cch no : a) To mi mt filegroup bng lnh ALTER DATABASE customers ADD FILEGROUP secondFG V to thm ba data file theo cng mt cch to : ALTER DATABASE customers ADD FILE ( NAME = datafile1 , FILENAME = ' c:\data1.ndf' , SIZE = 50 , MAXSIZE = 100 , FILEGROWTH = 10 ) TO FILEGROUP secondFG b) To thm ba data file theo cng mt cch to : ALTER DATABASE customers ADD FILE ( NAME = datafile1 , FILENAME = ' c:\data1.ndf' , SIZE = 50 , MAXSIZE = 100 , FILEGROWTH = 10 ) c) To mi mt filegroup bng lnh : ALTER DATABASE customers ADD FILEGROUP secondFG DEFAULT V to thm ba data file theo cng mt cch to : ALTER DATABASE customers ADD FILE ( NAME = datafile1 , FILENAME = ' c:\data1.ndf' , SIZE = 50 , MAXSIZE = 100 , FILEGROWTH = 10 ) d) To thm ba data file theo cng mt cch to : ALTER DATABASE customers ADD FILE ( NAME = datafile1 , FILENAME = ' c:\data1.ndf' , SIZE = 50 , MAXSIZE = 100 , FILEGROWTH = 10 ) TO FILEGROUP secondFG V to mi mt filegroup bng lnh : ALTER DATABASE customers ADD FILEGROUP secondFG

8 Bn to mt database cho ng dng Qun l Hiu sut cng vc ca cng ty NorthWind Trader. CREATE DATABASE Efficiency ON PRIMARY ( NAME = EfficiencyData, FILENAME = N'c:\data\EfficiencyData.mdf', SIZE = 200, MAXSIZE = 400, FILEGROWTH = 10) LOG ON ( NAME = EfficiencyLog, FILENAME = N'd:\data\EfficiencyLog.ldf', SIZE = 50, MAXSIZE = 100, FILEGROWTH = 10) Sau mt thi gian s dng, bn thy cn phi tng kch thc cho data file n 500MB . Cu lnh no gip bn thc hin vic ny : a) ALTER DATABASE Efficiency MODIFY FILE (NAME = EfficiencyData, MAXSIZE = 500MB) b) ALTER FILE EfficiencyData (MAXSIZE = 500MB) c) sp_filemaxsize EfficiencyData, 500 d) INCREASE FILE EfficiencyData TO 500MB 9 Bn ang qun tr mt Database server. Server cha nhiu database ca nhiu khch hng. Mt vi database khng cn s dng na. Bn quyt nh xa 3 database l Student1 , Student2 , Student3 gii phng khng gian lu tr trn a. Lnh no bn s chn thc hin vic ny : a) DELETE Student1 GO DELETE Student2 GO DELETE Student3 b) EXEC sp_dropdatabase Student1 EXEC sp_dropdatabase Student2 EXEC sp_dropdatabase Student3 c) DROP DATABASE 'Student%' d) DROP DATABASE Student1, Student2, Student3 10 Bn va to database Customers bng lnh sau : CREATE DATABASE Customers ON PRIMARY ( NAME = CustData, FILENAME = N'c:\Data\CustData.mdf', SIZE = 200 ) LOG ON ( NAME = CustLog, FILENAME = N'd:\data\CustLog.ldf' ) Bn pht hin qun khng t mt s tham s vo trong lnh v d nh kch thc ti a, C vn

g y ? a) Database c to vi tham s default b) Database c to vi gi tr cc tham s khng xc nh c) Database c to vi gi tr cc tham s c xc nh theo database Model d) Lnh thc thi database khng thnh cng 11 Bng Customers s c t trong cc data file thuc filegroup no , sau khi thc thi lnh : CREATE TABLE Customers ( CustomerID nchar (5) NOT NULL IDENTITY(1, 1), LastName nvarchar (40) NOT NULL, FirstName nvarchar (30) NULL, MiddleInitial nvarchar (3) NULL, ContactTitle nvarchar (30) NULL, Address nvarchar (60) NULL, City nvarchar (15) NULL, CONSTRAINT PK_Customers PRIMARY KEY CLUSTERED (CustomerID) ) a) Primary filegroup b) default filegroup c) user_defined filegroup d) Khng c t trong filegroup no 12 Cc System Table v cc System Object khc trong mt User_defined Database c t trong cc data file thuc filegroup no : a) Primary filegroup b) default filegroup c) user_defined filegroup d) secondary filegroup 13 Pht biu no sau y l SAI : a) Cu trc lu tr ca mt database gm ti thiu mt Data file, mt Log file . b) Cu trc lu tr ca mt database gm ti thiu mt Data file c t trong cc data file thuc Primary filegroup c) Mt Data file ch thuc v mt filegroup. Mt Log file khng khi no thuc mt filegroup. d) Cc file v filegroup ca mt database khng th dng chung vi databse khc.

14 Sau khi thc thi lnh DROP DATABASE xa mt database , Bn cn thc hin thao tc no tip theo gii phng ch trng trn a. a) Xo cc database file b) Xo cc database file t Enterprise Manager , ri xo cc file ny mt ln na bng Windows Explorer c) Khng phi lm g na d) S dng DBCC SHRINKDATABASE 15 Bn ch mun to mt ch mc trn ct lm kho chnh ca bng Student , v ch mc phi l Nonclusterd index. Bn s thc hin bng on script no : a) CREATE TABLE student ( student_id int PRIMARY KEY, lname char(15) , fname char(15) ) go CREATE UNIQUE NONCLUSTERED INDEX idx_studentid ON student(student_id) b) CREATE TABLE student ( student_id int , lname char(15) , fname char(15) )

go CREATE UNIQUE NONCLUSTERED INDEX idx_studentid ON student(student_id) go ALTER TABLE student ADD CONSTRAINT pk_stid PRIMARY KEY(student_id) c) CREATE TABLE student ( student_id int PRIMARY KEY NONCLUSTERED, lname char(15) , fname char(15) ) d) CREATE TABLE student ( student_id int , lname char(15) , fname char(15) , PRIMARY NONCLUSTERED (student_id) ) 16 Bng Sinh vin trong database Qun l sinh vin gm cc ct : M sinh vin (student_id) , H sinh vin (lname) , Tn sinh vin (fname), M lp (class_id) . Mt khi lng ln d liu c lu tr trong table ny. Bn kho st v thy rng : c rt nhiu truy vn thc hin trn table Sinh vin. Cc truy vn thng da vo M sinh vin ly ra thng tin ca tng Sinh vin , Nhng c nhiu truy vn ly ra mt nhm sinh vin da vo M lp. tng tc thc thi cc truy vn ny, bn quyt nh to ch mc trn bng Sinh vin . Bn s thc hin bng cch no : a) Bn cn to mt ch mc NonClustered Index trn ct M sinh vin , mt ch mc Clustered Index trn ct M lp b) Bn cn to mt ch mc Clustered Index trn ct M sinh vin , mt ch mc NonClustered Index trn ct M lp c) Bn cn to mt ch mc Clustered Index trn ct M sinh vin , mt ch mc Clustered Index trn ct M lp d) Bn cn to mt ch mc NonClustered Index trn ct M sinh vin , mt ch mc NonClustered Index trn ct M lp 17 Cc ch mc (Index) c xy dng da trn mt hay mt s Field trong table. Khi cc Field ny c gi l : a) the secondary key b) the primary key c) the major key d) the index key 18 Index c th c to trn loi i tng : a) table b) view c) table v view d) table, temporary table v view

19 Mt ch mc c t ng to trn ct lm kho chnh khi thc hin lnh to table Student . Ch mc ny thuc loi no : CREATE TABLE student ( student_id int PRIMARY KEY, lname char(15) , fname char(15) ) a) Clustered index b) NonClustered index c) Clustered , Unique index

d) Unique index 20 Trong cc pht biu sau , pht biu no l SAI : a) Mt ch mc c t ng to trn ct lm kho chnh khi thc hin lnh to table b) C hai loi ch mc l Clustered index v Nonclusterd index c) Trong mt table , c th to nhiu Clustered index , v mt Nonclustered index d) Trong mt table , ch c th to mt Clusterd index , v nhiu Nonclustered index

21 An to mt table Nhanvien. An cp quyn Select trn table Nhanvien cho Bi. Bi to mt table c tn l Hoadon vi mt kho ngoi tham chiu n table Nhanvien . Nhng khi thi hnh lnh to table Hoadon , Bi nhn c mt thng bo li . Vn Bi gp phi l g ? a) Bi cn phi c cp quyn References trn table Nhanvien th mi c th to c table c kho ngoi tham chiu n table Nhanvien b) Bi cn phi c cp quyn Insert, Update, Delete trn table Nhanvien th mi c th to c table c kho ngoi tham chiu n table Nhanvien c) Bi cn phi l owner ca table Nhanvien d) Bi cn phi c quyn Select trn ct lm kho chnh ca table Nhanvien 22 Bn l DBA . Bn c yu cu to mt Login account v cp quyn truy cp vo Sales database cho An mt User mi . Bn thc hin yu cu ny bng s dng hp thoi New Login trong Enterprise Manager to Login account , v chn Default Database l Sales . Bn bo cho An password login vo SQL Server . Tuy nhin sau , bn nhn c thng bo rng : An khng th vo c Sales database. Vy li y l g ? a) Bn qun khng cp quyn cho An l user ca Sales database b) An g sai password c) An connect khng ng server d) Gm c 3 li trn 23 Database Northwind c table Customers ,v 4 user l A , B, C v D . User A c quyn nh DB Owner, cc user B, C v D thuc role public . Cc lnh sau ln lt c thc hin : A : GRANT SELECT ON customers TO B WITH GRANT OPTION A : GRANT SELECT ON customers TO C WITH GRANT OPTION B : GRANT SELECT ON customers TO D WITH GRANT OPTION C : GRANT SELECT ON customers TO D D : GRANT SELECT ON customers TO C WITH GRANT OPTION A : REVOKE SELECT ON customers FROM B CASCADE Sau khi cc lnh trn c thc hin tun t , pht biu no sau y l ng ? a) D c quyn SELECT trn table customers , nhng khng c quyn cp li b) D c quyn SELECT trn table customers , v c quyn cp li c) Tuy D c ty chn GRANT SELECT ON customers cho user khc , nhng khng c quyn ny i vi user B v C d) D khng c quyn SELECT ON customers 24 Gi s bn l DBA trong mt Cng ty ln c hng trm nhn vin. Cng ty s dng mt DB ci t trn SQL Server 2000. Bn to mt s role ph hp vi quyn lm vic trn DB theo chc nng ca cc phng ban . Cc nhn vin c cp quyn thng qua role . Chng hn , cc nhn vin thuc phng Bn hng thuc v role Sales , cc nhn vin thuc phng K tan thuc v role Account ... Mt vn mi pht sinh : ng trng phng Bn hng mun hn ch bt quyn ca 10 nhn vin trong s 100 nhn vin ca phng . Nhng nhn vin ny s khng c quyn nhp cc ha n bn hng (trong table Hoadon) , nhng vn c nhng quyn hn khc. Cch tt nht thc hin vic ny l :

a) To mt role mi v di chuyn 10 nhn vin sang role mi. Role mi s cha cc quyn gingnh role Sales nhng khng c quyn trn table Hoadon b) To mt role mi v cp role cho 10 nhn vin . Role mi ch cha quyn SELECT trn table Hoadon c) To mt role mi v cp role mi cho 10 nhn vin . Role mi cha lnh DENY cm mi chnh sa trn table Hoadon d) Thc hin lnh DENY cho tng nhn vin trong s 10 nhn vin cn hn ch quyn 25 Gi s bn l mt DBA , bn mun tt c cc nhn vin thuc phng Ti chnh khng c php

chnh sa d liu trong table Hoadon , ch c php xem d liu trong table ny .Hin ti, cc nhn vin ny ang thuc v mt Account role , c cc quyn SELECT , INSERT , UPDATE , DELETE trn table Hoadon . Bn cn lm th no ? a) Xa tt c cc nhn vin khi Account role b) Thc hin lnh REVOKE xa b tt c quyn cp cho cc nhn vin c) Thc hin mt cu lnh GRANT cp quyn SELECT cho cc nhn vin ny. d) Thc hin mt lnh DENY cm cc quyn chnh sa d liu trn bng Hoadon. 26 Mt nhn vin c chuyn t phng Marketing sang phng Nhn s . Bn cn xa b quyn truy cp vo Database Marketing ca nhn vin ny . Th tc no bn c th s dng thc hin : a) sp_revokeddbaccess b) sp_change_user_login c) sp_grantdbaccess d) sp_denylogin 27 Tun cp quyn cho Minh c thc thi lnh SELECT trn bng Nhanvien . Minh to mt View trn bng Nhanvien , v cp quyn SELECT trn bng Nhanvien v trn View cho Lan . Sau , Tun quyt nh thu hi li quyn SELECT trn Nhanvien ca Minh , bng lnh : REVOKE SELECT ON Nhanvien FROM Minh CASCADE Khi , iu g xy ra khi Lan thc hin lnh SELECT trn table Nhanvien ? a) Lan s nhn c mt thng bo li v quyn. b) Lan s nhn c mt tp record rng c) Lan s chng nhn c tp record no d) Lan s nhn c tp record mong mun . 28 Bn l ngi qun tr database ca cng ty A .Phng T chc ca cng ty ang s dng mt database NhanvienDB , gm cc table sau : table Nhanvien _ lu d liu v TnNV, a ch , Phng ban , Mc lng . table Phucap_ lu d liu v Li tc chia thm mi thng cho nhn vin. table Thuong_ lu d liu v Tin thng cho nhn vin. Phng T chc mun cc d liu v TnNV, a ch v Tin thng c th c xem bi bt c ai c quyn truy cp vo DB. Nhng cc d liu v Mc lng cn bn, Li tc chia thm th ch c s dng bi mt s ngi nht nh . Bn s thc hin yu cu ny nh th no ? a) To mt view cha TnNV, a ch, Tin thng. Cp quyn SELECT trn view cho cc user truy cp database l Guest. b) Chnh sa bng Nhanvien nh sau : di chuyn ct cha d liu v Mc lng sang mt table mi. Sau cp quyn SELECT trn table Nhanvien cho cc user l Guest c) To mt th tc thc hin : ly tt c d liu t hai bng Nhanvien v Thuong , ri chn d liu vo mt table tm , cp quyn SELECT trn table ny cho user hin hnh. Quyn thc thi th tc ny c cp cho user l Guest. d) To mt trigger trn bng Nhanvien kim sot cc thao tc trn ct Mc lng . 29 Trong database ca mt ngn hng A , d liu ca table Khachhang c phn b ngang qua 4 server . ServerA lu d liu cc khch hng c tn vi k t u t A n F . ServerB lu cc khch hng c tn vi k t u t G n M . ServerC lu cc khch hng c tn vi k t u t N n T . V ServerD lu cc khch hng c tn vi k t u t T n Z. Ngi ta s dng mt Partitioned View c tn vwKH truy xut d liu ca table Khachhang . Bn hy cho bit cu lnh no sau y s dng cp nht ct Tinhtrang ca cc khch hng c tn bt u bng k t J a) UPDATE Khachhang SET Tinhtrang = 1 WHERE ServerB.Khachhang.TenKH = J b) UPDATE ServerB.vwKH SET Tinhtrang = 1

WHERE ServerB.Khachhang.TenKH = J c) UPDATE vwKH SET Tinhtrang = 1 WHERE TenKH LIKE J% d) UPDATE vwKH SET Tinhtrang = 1 WHERE TenKH = J 30 Da trn table sau : Create table Student ( student_id int NOT NULL UNIQUE, lname char(15) , fname char(15) ) mt View c to bao gm tt c cc ct trong table , tr ct student_id . Bn c th thc hin nhng thao tc no trn View : a) Cc lnh Insert thc hin c trn View, nhng lnh Update th khng b) Cc lnh Insert thc hin c trn View, nhng lnh Delete th khng c) Cc lnh Insert khng thc hin c trn View d) Cc lnh Insert thc hin c trn View, nhng li s xut hin nu nhp gi tr trng lp vo ct student_id 31 Gi s bn l ngi qun tr database ca cng ty X . D liu khch hng ca cng ty c lu tr trong bng Khachhang Trng phng kinh doanh mun phn cng cho An qun l khch hng thuc thnh ph H Ch Minh. Thc hin yu cu ny , Bn to mt view tn vwCust1 v cp quyn cho An s dng view . CREATE VIEW vwCust1 AS SELECT Makh, Tenkh, Dienthoai , Tpho FROM Khachhang WHERE Tpho like 'tp Hcm' WITH CHECK OPTION An cn thm 1 khch hng vo table Khachhang. Vy An c th s dng lnh no ? a) INSERT vwCust1 VALUES('a0001' , 'John Black' ,'09125480' , NULL) b) INSERT vwCust1 VALUES('a0001','John Black' ,'09125480' , 'tp Hcm') c) INSERT vwCust1 VALUES('a0001','John Black' ,'09125480' , 'tp Hue') d) INSERT vwCust1 VALUES('a0001','John Black' ,'09125480' ) 32 La chn WITH ENCRYPTION trong lnh to mt view c ngha l g ? a) Cc query truy xut view s c m ho trc khi gi ti SQL Server b) SQL Server m ho mt mc vo (entry) tng ng trong bng syscomments khng ai , k c ngi to View, c th c c lnh to View. c) SQL Server m ho mt mc vo (entry) tng ng trong bng syscomments khng ai c th c c lnh to View , ngoi tr ngi to View d) SQL Server xo mc vo (entry) tng ng trong bng syscomments khng ai c th c c lnh to View

33 Bn ang thit k database cho ng dng qun l bn hng ca mt nh my Ru. Bn to bng Qun n (Restaurants) lu tt c cc qun n l khch hng ca nh my. CREATE TABLE Restaurants ( RestaurantID int NOT NULL PRIMARY KEY, RestaurantName nvarchar (40) NOT NULL,

RestaurantOwner nvarchar (30) NULL, Address nvarchar (60) NULL, City nvarchar (15) NULL, Phone nvarchar (24) NULL, Fax nvarchar (24) NULL, HomePage ntext NULL, UNIQUE (RestaurantName, City) ) Trong cu lnh trn c khai bo mt rng buc Unique. Rng buc ny c dng : a) m bo mi tn qun n phi duy nht trong bng. b) m bo tn qun n v thnh ph phi khng cha gi tr NULL. c) m bo khng c hai qun n trng tn trong cng mt thnh ph. d) m bo khng c hai qun n trng tn trong hai thnh ph khc nhau. 34 Bn ang thit k database cho ng dng qun l Thu xe . Database gm cc bng Khch hng (Customers) , Hp ng (Argreements), Xe (Cars). Mi khch hng c th thu mt hay nhiu xe. Mi xe ch c th c thu bi mt khch hng trong mt thi im. Bn cn thit lp mt rng buc gia bng Hp ng v bng Xe. Bn s chn cch no thc hin vic ny : a) Thm mt rng buc CHECK trn ct AgreementID b) Thm field CarID vo bng Agreements vi mt rng buc FOREIGN KEY tham chiu ti bng Cars c) Thm field AgreementID vo bng Cars vi mt rng buc FOREIGN KEY tham chiu ti bng Agreements d) Thm mt trigger kim sot thao tc Insert vo table Cars 35 Bn ang thit k mt database cho mt nh my Ru vang. Cn phi ghi nhn cng vic ca cng nhn trong ma thu hoch nho . Ngi cng nhn sau khi hi y nho vo gi, h mang ti cn gi nho v li tip tc cng vic. C mi mt ln cn gi nho, th khi lng gi nho, ngy gi thc hin, v m ngi cng nhn c ghi nhn li . Bn thit k mt table cho vic ny nh sau : CREATE TABLE weighing ( WeighingDateTime datetime NOT NULL DEFAULT Getdate(), Weight int NOT NULL DEFAULT 0, EmployeeID int NOT NULL ) Bn mun gi tr nhp vo ct Weight l s dng . Vy cn dng phng thc no thc hin yu cu ny : a) Chnh sa table v thm mt rng buc Check trn ct Weight b) To mt rule v mt kiu d liu mi. Gn buc rule cho kiu d liu. Chnh sa table thay i kiu d liu ca ct Weight l kiu d liu va to. c) Vit mt th tc thc hin vic : chn d liu vo table , kim tra gi tr, ngn chn chn d liu trc tip d) Vit mt trigger kim tra gi tr trong ct Weight v hy cc lnh insert nu gi tr nhp vo l s m 36 Cc rng buc c thc hin bo m d liu cp nht uc chnh xc v nht qun. Cc rng buc ny c gi l: a) relational constraints. b) table constraints. c) data constraints. d) integrity constraints. 37 Khi thit k mt database cho ng dng qun l vic t ch v cho thu phng ca mt khch sn , bn qun thit lp mi quan h gia bng Phng(Rooms) v bng t ch (Reservations) . Bn cn b sung bng lnh no sau y : a) ALTER TABLE Reservations ADD FOREIGN KEY (RoomID) REFERENCES Rooms(RoomID) b) ALTER TABLE Reservations ADD RELATION Rooms ON RoomID c) ALTER TABLE Reservations ADD CONSTRAINT FK_Reservations_Rooms FOREIGN KEY REFERENCES Rooms(RoomID) d) CREATE FOREIGN KEY Reservations.RoomID REFERENCES Rooms(RoomID)

38

Nhng ngi s dng bng Customers trong database qun l khch hng u mong mun mt s field c cha sn gi tr khng phi nhp vo . V d :90% khch hng u "tp HCM" , do vy nu ct City mang sn gi tr "tp HCM" th s nhanh hn khi nhp d liu. Cch nhanh nht thc hin yu cu ny l : a) S dng Triggers b) S dng User-defined datatypes c) S dng Check constraint d) S dng Default constraint

39 Rng buc yu cu gi tr ca ct l kho ngoi phi nm trong tp gi tr ca ct l kho chnh c gi l a) Entity integrity b) Domain integrity c) Referential integrity d) User-defined integrity 40 Trong database Sales c bng Khachhang v bng Hoadon. Mi mt ho n ch bn cho mt khch hng , v mi mt khch hng c th khng c hoc c nhiu ho n. Nn chn cc ct lm kha chnh v kho ngoi trong cc bng nh th no ? a) Trong bng Khachhang chn kho chnh l M ha n (MaHD) . Trong bng Hoadon chn kho chnh l M khch hng (MaKH) b) Trong bng Khachhang chn kho chnh l M khch hng (MaKH) . Trong bng Hoadon chn kho chnh l M khch hng (MaKH) c) Trong bng Khachhang chn kho chnh l M khch hng (MaKH) . Trong bng Hoadon chn kho ngoi l M hoa don (MaHD) d) Trong bng Khachhang chn kho chnh l M khch hng (MaKH) . Trong bng Hoadon chn kho ngoi l M khch hng (MaKH) 41 Ed l 1 nh qun tr CSDL ca cng ty FlyFastCourier. Cng ty ang cp nht li SQL server ca h v mun lu tr cc chi tit nh kch c v cc thng tin khc ca DB. Hy gip Ed xem cc thng tin ny a) sp_helptext b) sp_databases c) sp_help d) sp_helpdb 42 Th tc h thng no c dng xem thng tin v cc i tng ca Database cng nh loi d liu ca ngi dng a) sp_lock b) sp_helptext c) sp_help d) sp_helpuser 43 Bn cn to CSDL tn Toys c t nht 50MB trng dnh cho d liu v kch c lc u 15MB dnh cho transaction log. Lnh no sau y bn nn dng to CSDL? a) CREATE DATABASE Toys ON (NAME = Toys_dat,SIZE = 50 )LOG ON (NAME = Toys_log,SIZE = 15 ) b) CREATE DATABASE Toys ON (NAME = Toys_dat,FILENAME = 'D:\Microsoft SQL Server\MSSQL\Data\Toys.mdf',SIZE = 60 ) c) CREATE DATABASE Toys ON (FILENAME = 'D:\Microsoft SQL Server\MSSQL\Data\Toys.mdf',SIZE = 51200 ) LOG ON (FILENAME = 'D:\Microsoft SQL Server\MSSQL\Data\Toys.ldf',SIZE = 15360 ) d) CREATE DATABASE Toys ON (NAME = Toys_dat,FILENAME = 'D:\Microsoft SQL Server\MSSQL\Data\Toys.mdf',SIZE = 50 ) 44 Vic lu tr d liu trong mt c s d liu c thc hin thng qua 3 loi file s cp .mdf, th cp .ndf v nht k .log. Nu tp tin th cp b y , bn s lu tr d liu pht sinh thm nh th no vo CSDL? a) To mt file s cp khc b) To 1 file th cp khc

c) To 1 file nht k khc d) To thm 1 file s cp v th cp 45 DB no c dng bi SQL server sp xp d liu trc khi tr kt qu v cho ngi dng a) master b) msdb c) tempdb d) model M hnh client/server thuc kin trc no sau y: a) Kin trc 1 lp (single-tier) b) Kin trc 2 lp (Two-tier) c) Kin trc 3 lp (Three-tier) d) a kin trc ( multi-tier) Mt filegroup l a) L 1 tp hp cc file s cp ( primary) v th cp (secondary) b) C th tn ti 1 cch c lp c) C th cha cc file transaction log d) Cha thng tin v cc file, kch c file v t l gia tng file i tng no sau y tng tc truy tm cc hng trong 1 bng hay view a) Rng buc (constraints) b) Triggers c) Stored procedures d) Ch mc (Indexes)

46

47

48

49 lu tr chi tit ho n, mt bng c tn l Orders c to ra theo lnh sau: CREATE TABLE Orders ( cOrderNo char(4) not null, cCustomerId char(4) not null, mTax money not null, mOrderCost money not null constraint chkOrderCost check(mOrderCost>0)) a) M khch hng cCustomersId nn cho php c gi tr NULL b) Tr gi ho n mOrderCost nn lun lun l 1 s dng c) Ngy lp ho n (dOerderDate) nn lun lun l ngy hin hnh d) S ho n (cOrderNo) khng c php c gi tr trng nhau 50 Lnh no dng thm ct Emp_EmailId vo bng Emp_details vi kiu d liu l varchar v kch c l 20 a) Alter COLUMN EMP_Details ADD (Emp_EmailId) vchar(10) NOT NULL b) Alter COLUMN EMP_Details ADD (Emp_EmailId) varchar(10) c) Alter EMP_Details ADD Emp_EmailId varchar(10) d) Alter Table EMP_Details ADD Emp_EmailId varchar(10) 51 Constraint no c dng gn gi tr hng cho 1 ct? a) PRIMARY KEY b) UNIQUE c) CHECK d) DEFAULT Xc nh th tc h thng no c dng to loi d liu ca ngi dng a) sp_addtype b) sp_droptype c) sp_bindrule d) sp_unbindrule Rc ri no xy ra khi primary key cho php c gi tr NULL a) Kh xc nh tnh duy nht ca cc hng b) Kh xc nh tnh duy nht ca cc ct c) Kh kt ni cc bng

52

53

d) Kh xc nh foreign key 54 Xc nh tu chn no ng khi ni v nonclustered index a) D liu c sp xp 1 cch vt l b) Th t ca index ging nh th t vt l ca cc hng trong bng c) Th t ca index khng ging nh th t vt l ca cc hng trong bng d) Nonclustered index khng c to ra trn cc ct c dng trong cc mnh JOIN v WHERE Xc nh loi bo ton d liu (data integrity) no c xc nh bi thuc tnh primary key a) Bo ton tham chiu (referential integrity) b) Bo ton thc th ( entity integrity) c) Bo ton min ( Domain integrity) d) Bo ton c xc nh bi ngi dng ( user-defined integrity)

55

56 Sara mun bo m rng ch c 1 mt bn ghi cho mi sinh vin trong bng students. Loi bo ton d liu no sau y c s dng a) Bo ton thc th (Entity integrity) b) Bo ton min (Domain integrity) c) Bo ton tham chiu (Referential integrity) d) Bo ton th tc ( Procedure integrity) 57 Jenny mun lu tr chi tit cc nh cung cp vt liu cho nh my c ang lm vic. C to ra 1 loi d liu ca ngi dng ( user-defined datatype) dng cho ct address_details v to ra 1 rule gn kt vo ct ny. Pht biu no sau y l ng trong ng cnh ny a) Rule s nh hng n tt c cc ct trong CSDL b) Rule s nh hng n tt c cc bng m c ct cng dng cng kiu d liu ngi dng ny c) Rule s nh hng n tt c cc bng trong CSDL d) Rule s ch nh hng n cc bng m tn ca n c xc nh trong lc gn kt ( binding) 58 Hy kho st lnh to bng Project sau: CREATE TABLE Project (cProjectCode char(6) not null,cProjectName char(20) not null,iDuration int) Bn nn lm g m project (Project Code) c nh dng [0-9][0-9][0-9]? a) To 1 ch mc clustered cho thuc tnh cProjectCode b) Thm 1 constraint kiu unique cho thuc tnh cProjectCode c) Thm 1 constraint kiu check cho thuc tnh cProjectCode d) To 1 default ri gn n cho thuc tnh cProjectCode 59 to bng Employee, loi d liu mi typEmployeeCode c to ra cho trng cEmployeeCode. Bn nn thc hin lnh g s dng loi d liu mi ny trong bng Employee? a) Dng lnh sp_bindefault gn loi d liu ny vo trng typEmployeeCode ca bng Employee b) Dng lnh sp_binrule gn loi d liu ny vo trng typEmployeeCode ca bng Employee c) Dng loi d liu mi ny ngay trong lnh CREATE TABLE to bng Employee d) Dng lnh sp_addtype thm loi d liu ny vo bng Employee

60 Bng Products c cc trng sau: product ID, product name, price,quantity on hand. T kho no sau y bn nn dng trng product ID c tnh cht tng t ng (auto-increment). M (Product ID) cho sn phm (product) u tin trong bng nn bt u bng 1 v tng t ng l 1 cho cc sn phm k tip a) SEED b) INCREMENT c) IDENTITY d) AUTOINCREMENT 61 Bng sale cn c to vi 1 s iu kin sau: iu kin 1: Khng c trung no c trng iu kin 2:Gi tr ca thnh tin ( sale amount ) phi dng

iu kin 3: Gi tr mc nh ca ngy bn hng (sale date) nn l ngy hin hnh iu kin 4: M sale ID khng c php c gi tr trng nhau Lnh sau c dng to bng trn CREATE TABLE Sales ( cSalesId char(4) constraint pkSales primary key, mSalesAmount money not null, mTax money not null, dSalesDate datetime not null constraint defOrderdate DEFAULT getdate() ) iu kin no trn uc th hin trong lnh to bng ? a) iu kin 1 v 2 b) iu kin 1 v 3 c) iu kin 1 v 4 d) iu kin 1,3 v 4 62 Pht biu no sau y l ng khi ni v ch mc nonclustered a) Ch mc nonclustered c to ch yu l trn kho ngoi b) Ch c duy nht mt ch mc nonclustered cho mi bng c) Ch mc nonclustered nn c to trc khi to ch mc clustered d) Ch mc nonclustered khng bt buc tnh duy nht ca cc bn ghi

63 Anna c giao nhim v ci thin vic thc thi cho truy vn c lin quan n 2 bng, student v marks. Sau khi phn tch, c ta nhn thy rng bng student him khi b cp nht, cn bng marks th c rt nhiu transaction. V vy c ta quyt nh to cc ch mc cho cc bng ny. T hp no sau y m c ta nn dng ti u ho vic thc thi truy vn? a) Bng Student : to ch mc clustered trn trng roll_numberBng Marks : to ch mc nonclustered trn trng roll_number b) Bng Student :to ch mc unique clustered trn trng roll_numberBng Marks : to ch mc clustered trn trng roll_number c) Bng Student :to ch mc unique clustered trn trng roll_numberBng Marks : to ch mc nonclustered trn trng roll_number d) Bng Student :to ch mc unique nonclustered trn trng roll_numberBng Marks : to ch mc nonclustered trn trng roll_number 64 Lnh no sau y l khng ng khi ni v tnh bo ton d liu? a) Rng buc PRIMARY KEY c dng bo m l khng c gi tr NULL hay trng nhau trong 1 hng cho ca bng b) Rng buc CHECK c dng bo m l ch c 1 b cc gi tr xc nh uc php nhp vo 1 ct cho ca bng c) Rng buc UNIQUE KEY c dng bo m l cc ct ging nhau trong bng cha cc gi tr ging nhau d) Rng buc DEFAULT bo m l 1 gi tr hng s c a vo 1 ct khi ngi dng khng xc nh n

65 Loi bo ton d liu no bo m mi quan h gia cc bng c bo tn khi cc bn ghi c thm vo hay xo i a) Bo ton thc th (Entity Integrity) b) Bo ton min gi tr (Domain Integrity) c) Bo ton tham chiu (Referential Integrity) d) Bo ton quy lut ca ngi dng (User-defined Integrity) 66 John mun to thm 1 rng buc CHECK m rng buc ny s b qua khng kim tra iu kin ca cc hng c sn trong 1 bng. Tu chn no nn c dng trong khi to rng buc ny? a) WITH NOCHECK b) WITH CHECK c) WITH RECOMPILE d) NOCHECK Ron mun lu tr t ng ngy hin hnh vo ct Date of Joining khi anh ta nhp 1 bn ghi mi

67

vo bng Employee. Anh ta nn dng cch no t c nh ny a) Rng buc Check b) Rng buc Foreign Key c) Default d) Not Null 68 Gi s c 1 bng c cu trc HoChieu nh sau: MaHoSo: Char(5), Not null, Unique SoHoChieu:Char(10), Null,Khng TenKhach: Char(20),Not null,Khng Trng SoHoChieu c gi tr duy nht cho tt c cc bn ghi hin c. Tuy nhin khi ngi dng chn trng ny lm kho chnh (primary key) cho bng bng lnh ALTER TABLE th b bo li. Hy cho bit l do? a) Kho chnh khng th to c bng lnh ALTER TABLE b) Kha chnh khng th tao c bi v c sn 1 rng bc unique trong bng c) Kho chnh khng th to c trn cc trng xc nh l NULL trong lc to bng d) Kho chnh khng th to c trn nhng trng c gi tr trng nhau 69 lu tr chi tit sch trong th vin, bng Books c to ra nh sau: CREATE TABLE Books ( cBookId char(4) NOT NULL, cTitle char(20) NOT NULL, cAuthor char(30) NOT NULL, sIssueDate datetime NULL) Ngi ta mun l khi ngy pht hnh (Issue Date) ca 1 cun sch no khng uc nhp vo th ngy hin hnh s c t ng gn vo. Bn to ra 1 default nh sau: CREATE DEFAULT defDate As Getdate() Sau khi to default, bn quan st thy rng khi thm 1 bn ghi mi m khng nhp g vo trng dIssueDate th ngy hin hnh khng c t ng chn vo m thay vo l gi tr NULL. L do g sau y khin cho ngy hin hnh khng c t ng chn vo trng dIssueDate a) Phi to 1 rule thay v default cho trng dIssueDate b) Trng dIssueDate c nh ngha l NULL trong lc to bng c) Default c to nhng cha c gn vo trng dIssueDate bng lnh sp_bindefault d) Thay v to default, nn to 1 kiu d liu ca ngi dng ring cho trng dIssueDate 70 Pht biu no sau y khng ng khi ni v rng buc (constraint) kho chnh (Primary Key) a) Rng buc kho chnh khng cho php cc gi tr Null hay trng nhau b) Khng th c nhiu hn 1 kha chnh trong mi bng c) Rng bc kho chnh ch c th c to ra trn 1 ct ca bng d) Ch mc clustered c to t ng khi rng buc kho chnh c to ra

71 Bng tmpCount c to ra vi kho chnh ID l trng s t ng v trng page (s trang) phi nh hn 50. Lnh no sau y l hp l a) Create table tmpCount (id int identity(1,1), page int constraint check page between 1 and 49) b) Create table tmpCount (id int identity(1,1),page char constraint check page between 1 and 49) c) Create table tmpCount (id char identity(1,1), page int constraint check page between 1 and 49) d) Create table tmpCount (id int identity(1,1), page int constraint check page between 1 and 50) 72 Bn ang to 1 bng tn l Orders cho cng ty. Mi ho n (order) cha s ha n (OrderID), ngy (OrderDate), M khch (CustomerID) m nh vn chuyn (ShipperID) v ngy chuyn hng (ShipDate). S ho n c pht t ng v phi bo m duy nht. C a) CREATE TABLE Orders (OrderID unique identifier PRIMARY KEY NOT NULL, OrderDate datetime NULL, CustomerID char(5) NOT NULL FOREIGN KEY REFERENCES Customer (Customer ID), ShipperID int NOT NULL FOREIGN KEY REFERENCES Shippers(ShipperID), ShipDate

date) b) CREATE TABLE Orders (OrderID int identity (1, 1) PRIMARY KEY NOT NULL, OrderDate datetime NOT NULL, CustomerID char(5) NOT NULL FOREIGN KEY REFERENCES Customer (Customer ID), ShipperID int NOT NULL FOREIGN KEY REFERENCES Shippers(ShipperID), ShipDate datetime Null ) c) CREATE TABLE Orders (OrderID int identity (1, 1) PRIMARY KEY NOT NULL, OrderDate datetime NULL, CustomerID char(5) NOT NULL FOREIGN KEY REFERENCES Customer (Customer ID), ShipperID int NULL, ShipDate datetime Null ) d) CREATE TABLE Orders (OrderID unique identifier PRIMARY KEY NOT NULL, OrderDate datetime NOT NULL, CustomerID char(5) NOT NULL FOREIGN KEY REFERENCES Customer (Customer ID), ShipperID int NOT NULL FOREIGN KEY REFERENCES Shippers(ShipperID), ShipDate datetime Null ) 73 Bng EmployeeContact c cc ct sau:HomePhone, BusinessPhone, FaxNumber, and EmailAddress Bn phi m bo yu cu l mi nhn vin phi c t nht 1 s in thoi lin lc ngha l mi bn ghi phi t nht 1 gi tr hoc trng HomePhone hoc trng BusinessPhone. Bn nn lm g? a) To 1 rule cm gi tr null ri gn rule ny vo c 2 ct HomePhone v BusinessPhone b) Thm cc constraint kiu CHECK vo mi trng HomePhone v BusinessPhone cm gi tr null cho mi trng c) Thm 1 rng buc kiu CHECK vo bng kim tra xem c t nht 1 trong 2 gi tr ca trng HomePhone v BusinessPhone l khc null hay khng d) To 1 trigger m s ln c gi tr null trong mi ct HomePhone v BusinessPhone, so snh commit hay roll back lnh 74 Bng Orders c xc nh nh sau: CREATE TABLE Orders ( OrderID Int IDENTITY (1,1) NOT NULL, SalesPersonID Int NOT NULL, RegionID Int NOT NULL, OrderDate Datetime NOT NULL, OrderAmount Int NOT NULL) Gn y bng cha qu nhiu bn ghi. Bn mun xa ton b cc ho n bn hng qu 3 nm. Bn s dng truy vn no? a) DELETE FROM Orders WHERE OrderDate < DATEADD(YY,-3,GETDATE()) b) DELETE FROM Orders WHERE OrderDate < DATEADD(YY,3,GETDATE()) c) DELETE FROM Orders WHERE OrderDate < GETDATE(), -3 d) DELETE FROM Orders WHERE OrderDate < GETDATE(),+3 75 Mt user mun to mt bo co v cc nhn vin (employee) trong cng ty. Anh ta mun hin th ct empno vi tiu Employee Number v ct empname vi tiu Employee Name, d liu ly t bng Employees. a) SELECT 'Employee Number' * empno, 'Employee Name' * empname FROM employees b) SELECT empno 'Employee Number ', empname Employee Name' FROM employees c) SELECT empno ('Employee Number'), empname ('Employee Name') FROM employees d) SELECT empno Employee Number,empname Employee Name from employees 76 Lnh no sau y dng hin th 10 hng u tin trong bng Titles a) SELECT * FROM Titles WHERE count(*) = 10 b) SELECT count(10) FROM Titles c) SELECT TOP(10) FROM Titles d) SELECT TOP 10 * FROM Titles S dng lnh Select vi ty chn no gii hn s hng c tr v a) Vi mnh WHERE b) Vi mnh GROUP BY c) Vi mnh TOP

77

d) Vi t kho DISTINCT 78 Paul thc hin lnh SQL sau: SELECT Customers.name, Customers.ord_id, Orders.ord_date FROM Customers INNER JOIN Orders WHERE Customers.cust_id = Orders.cust_id C hai bng u c 10000 hng. Truy vn ny mt nhiu thi gian thc hin, ci thin vic thc thi truy vn ta nn dng i tng no sau y: a) Triggers b) Stored procedures c) Views d) Batches 79 Xc nh ton t no cho php chn 1 gi tr ph hp vi 1 trong cc gi tr ca mt danh sch a) IN b) AND c) OR d) NOT Mt kt ni gia 2 bng m khng c bt k iu kn no trong mnh ON th c gi l: a) Inner join b) Outer join c) Cross join d) Equi join

80

81 Vin qun tr quc t ang lu tr d liu ca nhiu thnh ph m h c quan h. hin th s thnh ph m sinh vin ang thng tr, cn thc hin lnh sau: a) SELECT COUNT(UNIQUE(city)) FROM student b) SELECT COUNT(*) FROM student c) SELECT COUNT(ALL city) FROM student d) SELECT COUNT(DISTINCT (city)) FROM student 82 Th tc h thng (system-stored procedure) no dng cung cp thng tin v cc i tng Db hay loi d liu ca ngi dng a) sp_droptype b) Sp_helptext c) Sp_help d) Sp_bindrule 83 Kho st lnh SQL sau: Select * from ExternalCandidate Where siTestscore < 20 and siTestscore >=80 u ra ca lnh trn l g? a) Truy vn s hin th cc bn ghi ca nhng ng vin (candidate) m c hoc im thi (test score) nh hn 20 hoc ln hn hay bng 80 b) Truy vn s hin th cc bn ghi ca ch nhng ng vin no m im ln hn 20 c) Truy vn s hin th cc bn ghi ca ch nhng ng vin no m im ln hn hay bng 80 d) Truy vn s thc thi c nhng khng hin th bt k bn ghi no 84 Mnh no sau y c dng hin th tn ca tt c cc nhm, k c nhng nhm b loi tr khi mnh WHERE t 1 bng c cho a) GROUP BY b) HAVING c) GROUP BY ALL d) COMPUTE 85 Pht biu SQL no sau y c dng hin th ch nhng hng ca bng Titles m trng ytd_sales cha c tnh ton a) SELECT * FROM Titles WHERE Ytd_Sales = NULL b) SELECT * FROM Titles WHERE Ytd_Sales is NULL c) SELECT * FROM Titles WHERE Ytd_Sales =0

d) SELECT * FROM Titles WHERE Ytd_Sales = ?? 86 Lnh no sau y dng xo tt c cc hng ca 1 mt bng m khng kch hot trigger a) DELETE b) TRUNCATE c) DROP d) REMOVE Xc nh lnh SELECT no sau y l khng ng c php a) SELECT ALL* from Suppliers b) SELECT SECOND SupplierName, SupplierAddress, from Suppliers c) SELECT DISTINCT SupplierName, SupplierAddress from Suppliers d) SELECT SupplierName, SupplierAddress from Suppliers kt hp d liu ca cc loi d liu khc nhau, bn s dng: a) Cc hm bin i (conversion) b) Hm lun l (logical) c) Hm chui ( string) d) Hm ton hc (mathematical) Lnh SQL no hin h ngy hin hnh theo dng sau : dd.mm.yyyy a) SELECT CONVERT(CHAR(12),GETDATE(),4) b) SELECT CONVERT(CHAR(12),GETDATE(),1) c) SELECT CONVERT(CHAR(12),GETDATE(),104) d) SELECT date=dd.mm.yy,GETDATE()

87

88

89

90 Mt CSDL c tn l HumanResources cha thng tin tt c nhn vin (employee) v v tr cc vn phng chi nhnh (office location). Nhn vin hin hnh c gn c th cho 1 vn phng no v 1 vn phng hin hnh c 1 hay nhiu nhn vin. Tuy nhin CSDL cng cha cc nhn vin nng ng , h khng thuc vn phng no c, v cng c nhng vn phng nng ng, n khng thc s c 1 nhn vin no c. Bn cn to 1 bo co hin th tt c nhn vin v v tr vn phng, bao gm c hin hnh v nng ng. Bo co s hin th v tr vn phng (hin hnh hay nng ng) tip theo l nhn vin thuc vn phng . Cc nhn vin nng ng nn hin th cng ch vi nhau trn bo co. Bn s dng kch bn no sau y? a) SELECT l.LocationName, e.FirstName, e.LastName FROM Employee AS e LEFT OUTER JOIN Location AS l ON e.LocationID= l.LocationID ORDER BY l.LocationName, e.LastName, e.FirstName b) SELECT l.LocationName, e.FirstName, e.LastName FROM Location AS 1 LEFT OUTER JOIN EMPLOYEE AS 1ON e.LocationID= l.LocationID ORDER BY l.LocationName, e.LastName, e.FirstName c) SELECT l.LocationName, e.FirstName, e.LastName FROM Employee AS e FULL OUTER JOIN Location AS 1ON e.LocationID= l.LocationID ORDER BY l.LocationName, e.LastName, e.FirstName d) SELECT l.LocationName, e.FirstName, e.LastName FROM Employee AS e CROSS JOIN Location AS 1 ORDER BY l.LocationName, e.LastName, e.FirstName 91 Trong CSDL ca 1 cng ty, thng tin khch hng (customer) c lu tr trong bng Customers. Lnh to bng ny nh sau: CREATE TABLE Customers (CustomerID int NOT NULL, CustomerName varchar(30) NOT NULL, ContactName varchar(30) NULL, Phone varchar(20) NULL, Country varchar(30) NOT NULL, CONSTRAINT PK_Customers PRIMARY KEY (CustomerID)) Thng th mi quc gia (country) ch c t 1 ti 2 khch hng. Tuy nhin cng c 1 s quc gia c ti 20 khch hng. Phng tip th ca cng ty mun gi qung co n nhng quc gia m c nhiu hn 10 khch hng. to danh sch cc quc gia ny, bn s dng lnh no sau y? a) SELECT Country FROM CustomersGROUP BY Country HAVING COUNT (Country)>10 b) SELECT TOP 10 Country FROM Customers

c) SELECT TOP 10 Country FROM CustomersFROM (SELECT DISTINCT Country FROM Customers) AS XGROUP BY Country HAVING COUNT(*)> 10 SET ROWCOUNT 10 d) SELECT Country, COUNT (*) as NumCountries FROM Customers GROUP BY Country ORDER BY NumCountries, Desc 92 Tnh cht no sau y l cn thit 2 bng c th union (hp) vi nhau a) Cc thuc tnh phi cng loi d liu b) Cc thuc tnh phi cng d liu c) Cc thuc tnh c d liu l duy nht d) Cc thuc tnh c loi d liu khc nhau

93 Bng Appraisal (nh gi) c to ra dng cha kt qu nh gi nng lc nhn vin mi qu. Lnh to bng ny nh sau: CREATE TABLE Appraisal ( cEmployeeCode char(6) not null, dDateOfAppraisal datetime not null, cReviewer char(15) not null, cStatus char(3) not null) Trng dDateOfAppraisal cha ngy ca mi t kim tra. Lnh truy vn no sau y gip nhn vin tm uc ngy thi k tip ca h? a) SELECT datepart(mm,dDateOfAppraisal)+3 FROM Appraisal b) SELECT dateadd(mm,3,dDateOfAppraisal) FROM Appraisal c) SELECT dateadd(qq,3, dDateOfAppraisal) FROM Appraisal d) SELECT datepart(mm,dDateOfAppraisal) FROM Appraisal 94 Trong CSDL ca 1 cng ty in t n c bng Products cha cc sn phm ca cng ty. Bng ny thng xuyn c truy xut trong sut thi gian lm vic ca cng ty. Cc sa i vo bng Products c ghi vo bng i c tn PendingProductsUpdate. Bng ny s c cp nht vo bng Products sau gi lm vic. Bn cn to script thc hin vic cp nht ny. Script no bn nn dng? a) UPDATE Products SET p1.[Description] = p2.[Description], p1.UnitPrice = p2.UnitPrice FROM Products p1, PendingProductUpdate p2 WHERE p1.ProductID= p2.ProductID GO TRUNCATE TABLE PendingProductUpdate GO b) UPDATE Products p1 SET [Description] = p2.[Description], UnitPrice = p2.UnitPrice FROM Products, PendingProductUpdate p2 WHERE p1.ProductID= p2.ProductID GO TRUNCATE TABLE PendingProductUpdate GO c) UPDATE Products p1 SET p1.[Description] = p2.[Description], p1.UnitPrice = p2.UnitPrice FROM (SELECT [Description], UnitPrice FROM PendingProductUpdate p2 WHERE p1.ProductID= p2.ProductID) GO TRUNCATE TABLE PendingProductUpdate GO d) UPDATE p1 SET p1.[Description] = p2.[Description], p1.UnitPrice = p2.UnitPrice FROM Products p1, PendingProductUpdate p2 WHERE p1.ProductID= p2.ProductID GO TRUNCATE TABLE PendingProductUpdate 95 Trong CSDL Sales c bng Sales cha thng tin ca cc ho n bn hng t cc nhn vin bn hng. Ngi qun l yu cu bn to 1 bo co cha 20 nhn vin bn hng gii nht ( c doanh s bn hng cao nht) Truy vn no sau y thc hin c yu cu ny?

a) SELECT TOP 20 PERCENT LastName, FirstName, SUM (OrderAmount) AS ytdFROM sales GROUP BY LastName, FirstName ORDER BY SUM(OrderAmount) DESC b) SELECT LastName, FirstName, COUNT(*) AS sales FROM sales GROUP BY LastName, FirstName HAVING COUNT (*) > 20 ORDER BY SUM(OrderAmount) DESC c) SELECT TOP 20 LastName, FirstName, SUM (OrderAmount) AS ytd FROM sales GROUP BY LastName, FirstName ORDER BY SUM(OrderAmount) DESC d) SELECT TOP 20 WITH TIES LastName, FirstName, SUM (OrderAmount) AS ytd FROM sales GROUP BY LastName, FirstName ORDER BY SUM(OrderAmount) DESC 96 Trong 1 CSDL c 1 bng tm c tn l staging. Sau khi hon tt qu trnh chuyn i d liu, d liu trong bng staging cn c xo i. D liu b xo ny thc t khng bao gi cn khi phc li. xo nhanh nht d liu trong bng staging, bn nn dng lnh g? a) Dng lnh DELETE b) Dng lnh TRUNCATE TABLE c) Dng lnh DROP TABLE d) Dng cursor c th cp nht c truy xut v xa d liu khi bng 97 Bng Orders c cu trc nh sau: CREATE TABLE Orders ( OrderID Int IDENTITY(1,1) NOT NULL, RegionID Int NOT NULL, SalesPersonID Int NOT NULL, OrderDate Datetime NOT NULL, OrderAmount Int NOT NULL) Gim c mun xem bo co tng doanh s bn uc theo tng vng (region). Truy vn no sau y bn s dng to bo co? a) SELECT SalesPersonID, RegionID, OrderAmount FROM orders GROUP BY RegionID COMPUTE SUM (OrderAmount) b) SELECT SalesPersonID, RegionID, OrderAmount FROM orders ORDER BY RegionID COMPUTE SUM(OrderAmount) BY RegionID c) SELECT SalesPersonID, RegionID, SUM(OrderAmount) FROM orders GROUP BY SalesPersonID, RegionID d) SELECT SalesPersonID, RegionID,SUM(OrderAmount) FROM Orders GROUP BY SalesPersonID, RegionID HAVING SUM (OrderAmount) = RegionID 98 Xc nh ngha th tc sau: CREATE PROC get_playername @sport_id varchar(10) AS SELECT layer_lname, player_fname FROM sports WHERE sport_id = sport_id a) Th tc c 1 tham s vo l sport_id v s hin th tn cc mn th thao m c Id bng vi tham s u vo b) Th tc c 1 tham s vo l sport_id v s hin th tn cc mn th thao m c Id khng bng vi tham s u vo c) Th tc c 1 tham s vo l sport_id v s hin th tn vn ng vin (player) m c Id bng vi tham s u vo

d) Th tc c 1 tham s vo l sport_id v s hin th tn vn ng vin (player) m c Id khng bng vi tham s u vo 99 Th tc GetSalesPersonData c to ra tr v s tin bn c ca nhn vin: CREATE PROCEDURE GetSalesPersonData @SalesPersonID int, @RegionID int, @SalesAmount money OUTPUT AS SELECT @SalesAmount = SUM(SalesAmount) FROM SalesInformation WHERE @SalesPersonID = SalesPersonID Lnh no sau y s thc thi ng th tc trn? a) EXECUTE GetSalesPersonData 1, 1, NULL b) EXECUTE GetSalesPersonData @SalesPersonID=1, @RegionID=1, @SalesAmount=0 c) EXECUTE GetSalesPersonData 1,1, @SalesAmount OUTPUT d) EXECUTE GetSalesPersonData @SalesPersonID = 1, @RegionID= 1, @SalesAmount= NULL 100 Bill va to mt view c tn l student_view trn bng students. Anh ta cng va xa 1 hng t view khi cp nht thng tin ca sinh vin. Pht biu no sau y l hp l: a) View vn c th c truy vn sau khi xo bng b) Vic xo khng nh hng g n bng gc c) Vc xo lm thay i d liu ca bng gc d) D liu m view lu tr hon ton c lp vi bng gc 101 u im ca View l: a) Cung cp d liu thch hp cho ngi dng b) Tng phc tp d liu c) To bng nhanh d) Phn chia d liu cho nhiu server cch xa nhau

102 Paul thc hin lnh SQL sau: SELECT Customers.name, Customers.ord_id, Orders.ord_date FROM Customers INNER JOIN Orders WHERE Customers.cust_id = Orders.cust_id Mi bng trong lnh trn u cha 10000 hng, do phi mt nhiu thi gian thc hin ci thin vic thc thi truy vn ny, nn dng i tng no sau y: a) Triggers b) Stored Procedures c) View d) Batches 103 Cc lnh no sau y bn s dng to th tc (procedure) m nhn vo 1 k t v hin th cc tiu bt u vi k t a) Create procedure prcDispName @cValue char(1) as Select * from titles Where title like @cValue% b) Create procedure prcDispName @cValue char(1) as Select * from titles Where title like @cValue%. c) Create procedure prcDispName @cValue char(1) as Declare @temp char(2) Select @temp=@cValue+ % Select * from titles Where title like @temp d) Create procedure prcDispName as Declare @temp char(2) Select @temp=A% Select * from titles Where title like @temp

104 Kho st th tc sau: Create procedure prcTemp @tmp int output As Select @tmp=ytd_sales from titles Return Hy xc nh lnh SQL c dng hin th gi tr ca bin u ra khi th tc ny c gi a) Declare @temp int Exec prcTemp @tmp=@temp output Print @temp b) Exec prcTemp @tmp output Print @tmp c) Declare @tmp int Exec prcTemp @tmp Print @tmp d) Declare @temp int Exec prcTemp @tmp=@temp Print @temp 105 Bng Marks c cc trng sau: Rno, Subject, Marks. Lnh no sau y hin th bo co sinh vin cha tn y ca cc mn hc. Danh sch cc mn vit tt nh sau: ENG l vit tt ca English MTH l vit tt ca Maths Sc l vit tt ca Science Comp l vit tt ca Computers a) Select rno, marks, subject= Case subject When ENG Then English When MTH Then Maths When Sc Then Science When Comp Then Computer end from Marks b) Select rno, marks, subject= Case When ENG Then English When MTH Then Maths When Sc Then Science When Comp Then Computer end from Marks c) Select subject= Case subject when ENG Then English When MTH Then Maths When Sc Then Science When Comp Then Computer from Marks d) Select rno, marks, subject= Case subject when ENG Then English When MTH Then Maths When Sc Then Science When Comp Then Computer from Marks Order by rno 106 Quy lut no sau y khng ng i vi mt th tc (stored procedure) a) Bn c th thc thi 1 th tc m th tc ny gi 1 th tc khc. Th tc c gi c th truy xut n cc i tng c to ra bi th tc gi b) Bn c th tham chiu n 1 i tng khng nm trong cng 1 database vi th tc ca bn c) Bn c th to, to li, hay xa cc i tng bn trong 1 th tc. Cc lnh m bn c th s dng l CREATE, DROP, v SELECT INTO trong th tc ca bn d) Bn c th to mt bng tm ring bn trong 1 th tc.

107 bo co s lng bn c theo tng nm ca 1 u sch (title) no , ngi ta to 1 th tc vi ni dung nh sau: CREATE PROCEDURE get_sales_for_title @title varchar(80), @ytd_sales int OUTPUT AS SELECT @ytd_sales = ytd_sales FROM titles WHERE title = @title IF @@ROWCOUNT = 0 RETURN(-1) ELSE RETURN(0) Bin h thng @@ROWCOUNT lun tr v s bn ghi ca lnh SQL va c thc hin trc . Bn

cn to 1 script gi th tc trn. Nu th tc chy thnh cng, n s bo co s lung bn c, ngc li th hin th thng bo No Sales Found. Script ny c to nh th no? a) DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title Net Etiquette, @ytd IF @retval < 0 PRINT No sales found ELSE PRINT Year to date sales: + STR (@ytd) GO b) DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title Net Etiquette, @ytd OUTPUT IF @retval < 0 PRINT No sales found ELSE PRINT Year to date sales: + STR (@ytd) GO c) DECLARE @retval int DECLARE @ytd int EXEC get_sales_for_title Net Etiquette,@retval OUTPUT IF @retval < 0 PRINT No sales found ELSE PRINT Year to date sales: + STR (@ytd) GO d) DECLARE @retval int DECLARE @ytd int EXEC @retval = get_sales_for_title Net Etiquette, @ytd OUTPUT IF @retval < 0 PRINT No sales found ELSE PRINT Year to date sales: + STR (@ytd) GO 108 Lnh sa i 1 th tc c tn l prcPrintStoreList nh sau: ALTER PROCEDURE prcPrintStoreList @state char(15) AS BEGIN IF EXISTS(SELECT * FROM Stores WHERE state=@state) BEGIN PRINT 'List of Stores' SELECT stor_id,stor_name, stor_address,city FROM Stores WHERE state = state Return 0 END ELSE BEGIN PRINT 'No Records Found for given state' RETURN 1 END END Hy xc nh kt qu sa i ny a) Li bin dch ( Compile-time error ) b) Li khi chy th tc (Run-time error ) c) 0 d) 1 109 Bn ang xy dng CSDL phc v cho vic bn l sch qua mng ca 1 cng ty. Khch hng c th s dng web site t mua sch. Cc n t hng s c a vo CSDL BookOrders. Thng tin t hng ny s c chuyn vo CSDL Reports vo cui mi ngy. CSDL Reports cha cc bng Order v LineItem. Khch hng c th s dng web site ca cng ty xem cc n t hng trong CSDL Reports. Khch hng ch nn thy n t hng ca ring h m thi v khng c quyn chnh sa ho n c. H cng khng uc nhn thy gi tr ca kho chnh ca n t hng. Bn nn lm g? a) To 1 view hin th thng tin t hng cho mi khch hng

b) To 1 th tc ngi dng hin th thng tin n t hng cho 1 khch hng c cho c) To 1 hm ngi dng loi scalar tr v thng tin n t hng cho 1 khch hng c cho d) Gn quyn SELECT trn bng Order v LineItem cho tt c cc khch hng 110 Gi s c 1 CSDL cha thng tin ca cc cng ty cng vi m vng (zip code). Hin ti CSDL ch mi cha d liu ca cc cng ty vi 5 m vng khc nhau. S cng ty trong mi m vng c th t 10 n 5000. Trong tng lai s c thm nhiu cng ty vi cc m vng mi khc.Bn cn to 1 truy vn xem thng tin t CSDL. Vic thc thi truy vn khng c nh hng n s cng ty c tr v. Truy vn c to ra cn thng nht v lm ti thiu vic phi bo tr sa i truy vn ny trong tng lai. Bn nn lm gi? a) To 1 th tc (stored procedure) yu cu m vng nh tham s u vo, bao gm tu chn WITH RECOMPILE khi to th tc b) To 1 th tc cho mi m vng c) To 1 view cho mi m vng d) Chia bng thnh nhiu bng, mi bng cha 1 m vng. Sau xy dng 1 view kt cc bng ny li sao cho d liu c th vn c xem nh ch t 1 bng 111 Pht biu no sau y m t thuc tnh atomicity ca 1 transaction ? a) Vic chnh sa d liu c lm bi 1 transaction ny th c lp vi vic chnh sa d liu ca 1 transaction khc b) Mi chnh sa trong 1 transaction hoc c thi hnh ht hoc khng c 1 chnh sa no c thc hin c) Bt k thay i d liu c thc hin bi mt transaction vn gi nguyn hiu qu sau khi transaction hon tt d) Mi d liu u trng thi khng thay i sau khi transaction thc hin thnh cng Thuc tnh no ca transaction bo m tnh tun t? a) Atomicity b) Consistency c) Isolation d) Durability

112

113 CSDL ca Cng ty Cyber Inc. c 1 bng tn l issue dng theo di sch c pht hnh. c sn 1 trigger issue_insert dng cp nht trng thi ca sch pht hnh cho khch hng vo 1 bng tn copy mi khi c 1 bn ghi mi trong bng issue. Hin nay cng ty mun trigger ny cng nn cp nht trng thi ca sch trong bng copy mi khi c 1 bn ghi c xo khi bng books. Tu chn no sau y nn c thc hin? a) S dng lnh DELETE TRIGGER sa i trigger b) S dng lnh ALTER TRIGGER sa i li trigger c) To 1 trigger khc cho bng books d) To 1 trigger cho lnh update 114 Bn l nh qun tr CSDL SQL. Bn ang pht trin 1 ng dng DB cho phng k ton cng ty ca bn. ng dng ny cha nhiu modules c tch hp nhau. Cc user thung gp phi deadlock bt k lc no mt ngi no thc hin 1 hm m n cn tch hp t nhiu module. Lm th no gim thiu cc deadlock ny? a) Bn cn phi bo m l tt c cc transaction chnh sa d liu cc bng phi theo cng 1 th t b) Bn cn phi bo m l tt c cc transaction chnh sa d liu cc bng phi theo th t ngc nhau c) Bn cn phi bo m l tt c cc transaction chnh sa d liu cc bng khng theo cng th t d) Bn cn phi bo m l tt c cc transaction chnh sa ph hp vi cch thc thi ca cng c query optimizer 115 Khi chy script sau trong ca s Analyzer: CREATE TABLE Archived_Orders_1995_1999 ( OrderID int, CustomerID char (5), EmployeeID int, OrderDate datetime, ShippedDate datetime ) INSERT INTO Archived_Orders_1995_1999 SELECT OrderID, CustomerID, EmployeeID, OrderDate, ShippedDate FROM SalesOrders WHERE ShippedDate < DATEADD (year, -1, getdate())

Go Th b bo li nh sau: Invalid object name Archived_Orders_1995_1999. Bn nn lm g gii quyt li ny? a) Phi ghi y tn bng Archived_Orders_1995_1999 cng vi tn owner b) Yu cu quyn CREATE TABLE c) To bng Archived_Orders_1995_1999 table trc ri mi thc hin lnh INSERT sau. Gia hai lnh ny cn chn thm lnh GO d) Phi thay i tn bng thnh ArchivedOrders 116 Bn ang thit k CSDL cha thng tin v nhn lc ca 1 ngn hng. Sau y l 2 transaction bn ang thit k h tr vic nhp liu Transaction 1 BEGIN TRANSACTION UPDATE Customer SET CustomerName=@Name WHERE CustomerID=@CustID UPDATE CustomerPhone SET PhoneNumber=@Phone WHERECustomerID= @CustID AND PhoneType=@Ptype COMMIT TRANSACTION Transaction 2 BEGIN TRANSACTION UPDATE CustomerPhone SET PhoneNumber =@Phone WHERE CustomerID= @CustID AND PhoneType = @Ptype UPDATE CustomerAddress SET Street = @Street WHERE CustomerID =@CustID AND AddressType =@Atype UPDATE Customer SET CustomerName = @Name WHERE CustomerID = @CustID COMMIT TRANSACTION Trong lc chy th cc script ny, bn nhn thy i khi server pht hin c deadlock. Bn nn lm g? a) Trong transaction 2, chuyn lnh UPDATE Customer ln trc lnh UPDATE CustomerPhone b) Thm lnh SET DEADLOCK_PRIORITY LOW vo c 2 transaction c) Thm m kim tra li 1205 ca server vo mi script. Nu li ny xy ra, th khi ng li transaction d) Thm lnh SET LOCK_TIMEOUT 0 vo c hai transaction 117 Hai bng no c php dng trong UPDATE trigger? a) Bng inserted v bng deleted b) Bng inserted v bng trigger c) Bng inserted v bng updated d) Bng deleted v bng trigger Bo ton (integrity) no c dng cho trigger DELETE a) Thc th ( entity) b) Min (Domain) c) Ngi dng (user defined) d) Tham chiu (referential)

118

119 D liu thng k v cc i bng c lu tr trong CSDL Statistics. Cc cu th ca mi i c nhp vo bng Rosters. Cu trc ca bng ny nh sau: CREATE TABLE Rosters ( RosterID int NOT NULL, TeamID int NOT NULL, FirstName char(20) NOT NULL, LastName char(20) NOT NULL, CONSTRAINT PK_Rosters PRIMARY KEY (RosterID), CONSTRAINT FK_TeamRoster FOREIGN KEY (TeamID) REFERENCES Team (TeamID) ) Mi i c ti a 24 cu th.trong bng phn cng (roster) vo bt k lc no. Bn cn phi bo m l s cu th ca 1 i khng bao gi c vt qu s ti a. Bn nn lm g? a) To 1 trigger trn bng Rosters xt tnh hp l ca d liu nhp vo b) To 1 rule xt tnh hp l ca d liu c) To 1 view thc hin lnh UPDATE bao gm mnh WITH CHECK OPTION trong

lnh nh ngha VIEW d) Thm 1 rng buc CHECK trn bng Rosters kim tra tnh hp l ca d liu 120 Bn ang lm vic cho cng ty mi gii u t. Cng ty c 1 CSDL tn l Stocks cha 2 bng CurrentPrice v PastPrice. Gi hin thi ca c phiu u t nm trong bng CurrentPrice table. Gi c trc c lu vo bng PastPrice. Tt c cc hng trong bng CurrentPrice table u c cp nht vo cui ngy lm vic ngay c khi c phiu khng b thay i k t ln cp nht trc . Nu gi c phiu (stock price) b thay i th 1 hng cn c chn thm vo bng PastPrice. Bn s dng cch no sao cho hnh ng thm bn ghi mi ny c thc hin t ng. a) To 1 trigger AFTER trn bng CurrentPrice so snh gi tr ca trng StockPrice trong cc bng inserted v deleted. Nu gi tr khc nhau th trigger s chn 1 hng vo bng PastPrice b) To 1 trigger AFTER trn bng CurrentPrice so snh gi tr ca trng StockPrice trong bng inserted vi trng StockPrice trong bng CurrentPrice. Nu gi tr khc nhau th trigger s chn 1 hng vo bng PastPrice c) To 2 rng buc (constraint) loi cascading update trn bng CurrentPrice table cp nht ng thi 1 hng trn bng PastPrice d) To 1 th tc (stored procedure) so snh gi tr mi ca ct StockPrice trong bng CurrentPrice vi gi tr c. Nu gi tr khc nhau th th tc s chn 1 hng vo bng PastPrice 121 Jack cn chn 1 im dng (save point) c tn l Returnback vo transaction ca anh ta. Nn dng lnh no sau y: a) INSERT SAVEPOINT Returnback b) SAVE SAVEPOINT Returnback c) SAVE TRANSACTION Returnback d) INSERT TRANSACTION Returnback 122 Xt th tc sau: CREATE PROCEDURE prcResign (@Ecode char(4), @status char(2)) As BEGIN TRAN trnResign SELECT * from Employee WHERE cEcode=@Ecode UPDATE EmployeePersonal SET cStatus= RE WHERE cStatus= @Status COMMIT TRAN Return Hy xc nh loi kho uc dng cho bng Employee a) Shared lock b) Exclusive lock c) Shared intent lock d) Schema lock 123 Nu thiu c ch kho (lock) th vn no s xy ra khi 2 hay nhiu transaction u chnh sa cng 1 hng d liu a) Cp nht mt d liu (Lost updates) b) c d liu sai (Dirty Read) c) c khng cng ni dung (Inconsistent Analysis) d) c cc mu tin khng ng (Phantom Reads) 124 Mt CSDL c 2 bng d liu nh sau: bng Order c cc trng OrderID, CustomerID, OrderDate; Bng LineItem c cc trng ItemID, OrderID, ProductID, Price. Ngi dng s nhp ho n vo thng qua 1 CT ng dng. Khi 1 ho n mi c nhp vo, th d liu s c lu vo 2 bng trn.Bn cn phi bo m l ton b ho n c lu vo y vo CSDL. Script no sau y l nn dng? a) BEGIN TRANSACTION Order INSERT INTO Order VALUES (@ID, @CustomerID, @OrderDate) INSERT INTO LineItem VALUES (@ItemID, @ID, @ProductID, @Price) SAVE TRANSACTION Order

b) INSERT INTO Order VALUES (@ID, @CustomerID, @OrderDate) INSERT INTO LineItem VALUES (@ItemID, @ID, @ProductID, @Price) IF (@@Error = 0) COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION c) BEGIN TRANSACTION INSERT INTO Order VALUES (@ID, @CustomerID, @OrderDate) IF (@@Error = 0) BEGIN INSERT INTO LineItem VALUES (@ItemID, @ID, @ProductID, @Price) IF (@@Error = 0) COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION END ELSE ROLLBACK TRANSACTION END d) BEGIN TRANSACTION INSERT INTO Order VALUES (@ID, @CustomerID, @OrderDate) IF (@@Error = 0) COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION BEGIN TRANSACTION INSERT INTO LineItem VALUES (@ItemID, @ID, @ProductID, @Price) IF (@@Error = 0) COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION 125 Pht biu no sau y l ng khi ni v trigger a) Trigger cn c thc thi 1 cch tng minh b) Trigger c th gim st c cc thay i d liu khng c php c) Trigger c thc hin t ng mi khi lnh TRUNCATE TABLE c dng d) Trigger c th tr v d liu cho ngi dng

126 Hy kho st bng Items c 1 hng d liu nh sau: Tno QOH Price I001 30 10 Hy cho bit u ra ca trigger sau khi mt hng I001 c bn vi s lng l 30 Create trigger trgInsSales On Sales For insert As begin Declare @var1 int,@var2 int Select @var1=qoh from items, inserted Where items.itno=inserted.itno Select @var2=@var1-qty_reqd From inserted if @var2 = 50000 b) SELECT od.CustomerID FROM Orders o, [Order Details] od WHERE o.orderid = od.orderid GROUP BY o.CustomerID HAVING SUM( od.quantity * od.unitprice) >= 50000 c) SELECT o.CustomerID FROM Orders o, [Order Details] od WHERE o.orderid = od.orderid GROUP BY o.CustomerID HAVING SUM( od.quantity * od.unitprice) >= 50000 d) SELECT o.CustomerID, SUM( od.quantity * od.unitprice) FROM Orders o, [Order Details] od WHERE o.orderid = od.orderid GROUP BY o.orderid HAVING SUM( od.quantity * od.unitprice) >= 50000 164 Bn cn vit mt truy vn hin th tn hng (prodName) trong bng hng ho (products) . Bn mun truy vn tr v tp record c cha chui "The name of this product is " ngay trc tn mi mt hng . Cu lnh no sau y m bn c th s dng cho mc ch trn : a) SELECT [The name of this product is], prodName FROM products b) SELECT 'The name of this product is ' & prodName FROM products c) SELECT (The name of this product is), prodName FROM products d) SELECT 'The name of this product is ' + prodName FROM products 165 Bn cn hin th tt c cc t hp c th c gia cc nhn vin v cc cng vic trong cng ty . C 10 nhn vin c lu trong bng Nhanvien v 6 cng vic c lu trong bng Congviec . Bn chn query no thc hin yu cu trn : a) SELECT * FROM nhanvien nv , congviec wk WHERE nv.MaNV = wk.MaCV b) SELECT * FROM nhanvien nv , congviec wk c) SELECT * FROM nhanvien nv LEFT OUTER JOIN congviec wk ON nv.MaNV = wk.MaCV d) SELECT * FROM nhanvien nv FULL OUTER JOIN congviec wk ON nv.MaNV = wk.MaCV 166 Bn ang vit mt cu lnh Insert nhp tng row vo bng Customers. Cu lnh s c t trong mt store procedure , v cc gi tr nhp c truyn di dng tham s. Bn mun lnh thi hnh k c khi cha nhn c cc gi tr ng vi cc ct trong bng. Bit rng bng Customers c thit k vi tt c cc ct u c gi tr Default. Hy ch ra cu lnh no sau l ng vi trng hp ny : a) INSERT Customers ( Name, CID, *) VALUES ( @c, @id, DEFAULT) b) INSERT Customers DEFAULTS EXCEPT (Name = @c, CID = @id) c) INSERT Customers ( Name, CID) VALUES (@c, @id) WITH DEFAULT d) INSERT Customers ( Name, CID) VALUES (@c, @id)

167 Xem xt lnh to bng R : CREATE TABLE R ( a int IDENTITY (1,1), b int , c int DEFAULT(100) ) Nu thi hnh mt lnh INSERT b qua danh sch ct trong mnh Insert (v d nh : INSERT R VALUES ..) th bn cn phi lit k nhng ct no trong mnh values ? (Gi nh thuc tnh IDENTITY_INSERT ang c set l OFF ) a) Tt c cc ct ca bng b) Tt c cc ct ca bng tr ct IDENTITY c) Tt c cc ct ca bng tr ct chp nhn tr NULL d) Tt c cc ct ca bng tr ct c gi tr DEFAULT 168 Lnh Insert c dng nhp d liu vo bng . Bn c th vit trong mnh insert mt danh sch cc ct ca bng . iu ny c ngha g ? a) Ch nh danh sch cc ct m d liu s c nhp vo . b) Ch nh cc gi tr s c nhp vo bng. c) Ch nh danh sch cc ct m d liu s khng c nhp vo . d) Tt c cc cu trn u sai 169 Trong cu lnh INSERT , t kho DEFAULT c s dng trong mnh VALUES c dng vi mc ch g ? a) nh ngha mt gi tr default cho mt ct b) Ch nh lnh c s dng gi tr Default nhp vo cho mt ct c) Ch nh lnh c s dng gi tr Default nhp cho tt c cc ct d) Ch nh lnh c s dng gi tr Default nhp cho mt ct nu ct chp nhn tr NULL 170 Lnh no c cng dng sao chp d liu ca mt bng sang mt bng khc ? a) Lnh SELECT INTO b) Lnh INSERT INTO c) Lnh UPDATE INTO d) C hai lnh INSERT INTO v SELECT INTO Bn cn cp nht gim 10% n gi ca tt c cc mt hng . Lnh no ph hp vi mc tiu a) UPDATE Products SET UnitPrice = 10 Percent UnitPrice b) UPDATE Products SET UnitPrice = UnitPrice - ( UnitPrice * .1) c) UPDATE Products SET UnitPrice = UnitPrice * .9 WHERE ProductID IS NOT NULL d) UPDATE Products SET UnitPrice = UnitPrice * .9 WHERE ProductID = 10 172 Cch nhanh nht xo tt c cc row trong mt table l s dng lnh : a) DELETE table_name b) DELETE ALL table_name c) TRUNCATE TABLE table_name d) TRUNCATE ALL table_name Trong SQL Server , to v xo mt user_defined data type , ta c th s dng : a) CREATE UDDT and DROP UDDT b) sp_addtype and sp_unbindtype c) sp_bindtype and sp_droptype d) sp_addtype and sp_droptype

171 ny :

173

174 Cu lnh no sau y dng xo cc record trong table Ho n (Orders) m khng c record tng ng trong Chi tit ho n (OrderLine) ?

a) DELETE Orders WHERE OrderLine.OrderID Is NULL b) DELETE Orders WHERE OrderID NOT IN ( SELECT OrderID from OrderLine) c) DELETE Orders FROM OrderLine WHERE OrderLine.OrderID Is NULL d) DELETE Orders FROM OrderLine ol, Orders o WHERE o.OrderID = ol.OrderID 175 Xem xt 3 table c to bng on lnh sau : CREATE TABLE R1 ( a INT PRIMARY KEY, b INT ) CREATE TABLE R2 ( c INT PRIMARY KEY, d INT REFERENCES R1(a) ) CREATE TABLE R3 ( e INT PRIMARY KEY, f INT REFERENCES R1(a) ) Gi s bng R1 cha 3 dng sau (1, 10) , (2, 20) , (3, 30) . Bng R2, R3 cha c d liu. Hy ch ra on lnh no sau y b li khi thi hnh : a) INSERT INTO R3 VALUES(5,2); DELETE FROM R1 WHERE a=2; INSERT INTO R2 VALUES(1,1); b) INSERT INTO R2 VALUES(1,1); DELETE FROM R1 WHERE a=2; INSERT INTO R3 VALUES(6,1); c) DELETE FROM R1 WHERE a=2; INSERT INTO R2 VALUES(1,1); INSERT INTO R3 VALUES(5,1); d) INSERT INTO R3 VALUES(6,1); UPDATE R1 SET a=4 WHERE a=3; INSERT INTO R2 VALUES(10,4); 176 Xem xt hai cch to table Emps sau : Cch 1 : CREATE TABLE Emps ( empID INT, ssNo INT, name CHAR(50), mgrID INT, UNIQUE (empID), PRIMARY KEY (ssNo), FOREIGN KEY mgrID REFERENCES Emps (empID) ); Cch 2 CREATE TABLE Emps ( empID INT PRIMARY KEY, ssNo INT UNIQUE, name CHAR(50), mgrID INT REFERENCES Emps (empID) ); Phng n no sau y l ng vi c php lnh T_SQL : a) C hai cch u ng b) Khng c cch no ng c) Cch 1 ng

d) Cch 2 ng 177 Xem xt hai cch to table Emps sau : Cch 1 : CREATE TABLE Emps ( empID INT, ssNo INT, name CHAR(50), mgrID INT REFERENCES Emps (empID) , UNIQUE (empID), PRIMARY KEY (ssNo) ); Cch 2 CREATE TABLE Emps ( empID INT PRIMARY KEY, ssNo INT UNIQUE, name CHAR(50), mgrID INT REFERENCES Emps (empID) ); Phng n no sau y l ng vi c php lnh T_SQL : a) C hai cch u ng b) Khng c cch no ng c) Cch 1 ng d) Cch 2 ng 178 Xem xt hai cch to table Emps sau : Cch 1 : CREATE TABLE Emps ( empID INT, ssNo INT, name CHAR(50), mgrID INT, UNIQUE (empID), PRIMARY KEY (ssNo), CONSTRAINT fk_emps FOREIGN KEY mgrID REFERENCES Emps (empID) ); Cch 2 CREATE TABLE Emps ( empID INT PRIMARY KEY, ssNo INT UNIQUE, name CHAR(50), mgrID INT REFERENCES Emps (empID) ); Phng n no sau y l ng vi c php lnh T_SQL : a) C hai cch u ng b) Khng c cch no ng c) Cch 1 ng d) Cch 2 ng 179 Bn ang thit k bng ho n (Orders) vi yu cu cn phi ghi nhn Ai v Thi gian thc hin nhp _ ng vi mi dng d liu c a vo bng . Lnh no sau y gip bn thc hin c yu cu trn : a) CREATE TABLE Orders ( OrderID int IDENTITY (1, 1) NOT NULL, CustomerID nchar (5) NULL, EmployeeID int NULL OrderDate datetime NULL, RequiredDate datetime NULL, ShippedDate datetime NULL, Freight money NULL,

ShipperID int NULL ) b) CREATE TABLE Orders ( OrderID int IDENTITY (1, 1) NOT NULL, CustomerID nchar (5) NULL, EmployeeID int NULL DEFAULT SESSION_USER OrderDate datetime NULL DEFAULT GETDATE(), RequiredDate datetime NULL, ShippedDate datetime NULL, Freight money NULL, ShipperID int NULL ) c) CREATE TABLE Orders ( OrderID int IDENTITY (1, 1) NOT NULL, CustomerID nchar (5) NULL, EmployeeID int NULL, OrderDate datetime NULL, RequiredDate datetime NULL, ShippedDate datetime NULL, Freight money NULL, ShipperID int NULL, UserName nvarchar (50) NOT NULL DEFAULT SYSTEM_USER, InsertDate datetime NOT NULL DEFAULT GETDATE() ) d) CREATE TABLE Orders ( OrderID int IDENTITY (1, 1) NOT NULL, CustomerID nchar (5) NULL, EmployeeID int NULL, OrderDate datetime NULL, RequiredDate datetime NULL, ShippedDate datetime NULL, Freight money NULL, ShipperID int NULL, UserName varchar (50) NOT NULL DEFAULT SYSTEM_USER(), InsertDate datetime NOT NULL DEFAULT NOW() ) 180 iu g xy ra khi bn thi hnh lnh sau :

CREATE TABLE tblEvents ( EventID int IDENTITY (1, 1) NOT NULL, EventType nvarchar (10) NULL, EventTitle nvarchar (100) NULL, EventDescription nvarchar (4000) NULL, EventLanguage nvarchar (2) NULL, EventDate smalldatetime NULL, EventEndDate smalldatetime NULL ) a) SQL Server to mt bng v khng bo li hay Warning b) SQL Server to mt bng v a ra mt Warning v kch thc row c) SQL Server khng to bng v a ra mt thng bo li v kch thc row d) SQL Server khng to bng v a ra mt Warning v kch thc row 181 An ni rng cu query sau chy rt chm . An ni thm rng mun thm trong truy vn bng

Categories hin th CategoryName cng vi mi mt hng : SELECT * FROM Products p, ProductType pt, Categories c WHERE p.ProdTypID = pt.ProdTypID Bn gip An chn mt cu query thc hin yu cu trn v tng tc thi hnh cu lnh a) SELECT * FROM Products p, ProductType pt, Categories c WHERE p.ProdTypID = pt.ProdTypID AND c.CategoryID = 5 b) SELECT * FROM Products p, ProductType pt, Categories c WHERE c.CategoryID = p.CategoryID c) SELECT * FROM Products p, ProductType pt, Categories c WHERE p.ProdTypID = 5 AND pt.ProdTypID = 5 d) SELECT * FROM Products p, ProductType pt, Categories c WHERE p.ProdTypID = pt.ProdTypID AND p.CategoryID = c.CategoryID 182 Xem xt hai cu lnh sau cng thc hin trn table R : Cu 1 : SELECT * FROM R; Cu 2 : SELECT * FROM R ORDER BY a; Nhn xt no l ng ? a) Cu 1 v Cu 2 u tr v tp record ging nhau b) Cu 1 v Cu 2 tr v tp record khng ging nhau c) Cu 1 tr v tp record nm trong tp record ca Cu 2 d) Cu 2 tr v tp record nm trong tp record ca Cu 1 183 Xem xt hai cu lnh sau cng thc hin trn table R : Cu 1 : SELECT * FROM R Cu 2 : SELECT * FROM R UNION SELECT * FROM R Nhn xt no l ng ? a) Cu 1 v Cu 2 u tr v tp record ging nhau b) Cu 1 v Cu 2 tr v tp record khng ging nhau c) Cu 1 tr v tp record nm trong tp record ca Cu 2 d) Cu 2 tr v tp record nm trong tp record ca Cu 1 184 Trong table R c mt s ct trong c ct a .Xt hai cu lnh sau cng thc hin trn table R : Cu 1 : SELECT COUNT(a) FROM R; Cu 2 : SELECT COUNT(*) FROM R; Nhn xt no l ng ? a) Cu 1 v Cu 2 c kt qu ging nhau b) Cu 1 v Cu 2 c kt qu khng ging nhau c) Kt qu ca Cu 1 nh hn kt qu ca Cu 2 d) Kt qu ca Cu 1 nh hn hoc bng kt qu ca Cu 2 185 Xem xt hai cu lnh sau cng thc hin trn table R(a;b;c) : Cu 1 : SELECT DISTINCT a, b FROM R Cu 2 : SELECT a, b

FROM R GROUP BY a, b Nhn xt no l ng ? Cu 1 v Cu 2 u tr v tp record ging nhau Cu 1 v Cu 2 tr v tp record khng ging nhau Cu 1 tr v tp record nm trong tp record ca Cu 2 Cu 2 tr v tp record nm trong tp record ca Cu 1 186 Cc trigger sau c to ra trn bng Publishers: CREATE TRIGGER trgDeletePublisher1 ON Publishers AFTER DELETE AS print 'Deletion successful' CREATE TRIGGER trgDeletedPublisher2 ON Publishers AFTER DELETE AS print 'Details of the publisher deleted:' Select * From deleted CREATE TRIGGER trgDeletePublisher3 ON Publishers AFTER DELETE AS print 'One publisher deleted' Ci g s c in ra khi lnh DELETE sau c thc thi? DELETE Publishers Where pub_name = 'GGG&G' a) Deletion successful Details of the publisher deleted: pub_id pub_name city state country ---------------------------------------------------------9901 GGG&G Mnchen NULL Germany (1 row(s) affected) One publisher deleted b) Details of the publisher deleted: pub_id pub_name city state country ------ ---------------------------------------------------9901 GGG&G Mnchen NULL Germany (1 row(s) affected) One publisher deleted c) Details of the publisher deleted: pub_id pub_name city state country ------ ---------------------------------------------------9901 GGG&G Mnchen NULL Germany (1 row(s) affected) Deletion successful d) Bo li v khng th c 3 trigger cho cng 1 lnh DELETE trn bng Publishers 187 Lnh no sau y ng c php: a) SELECT title, price, (SELECT AVG(price) FROM titles) AS average, price-(SELECT AVG(price) FROM titles) AS difference FROM titles WHERE type='popular_comp' b) SELECT title, price, AVG(price) AS average, price- AVG(price) AS difference

FROM titles WHERE type='popular_comp' c) SELECT AVG(price) AS average, price- AVG(price) AS difference FROM titles WHERE type='popular_comp' d) SELECT title, price,AVG(price) AS average AS difference FROM titles WHERE type='popular_comp' 189 Lnh no sau y sai c php: a) USE pubs SELECT title FROM titles WHERE advance > (SELECT advance FROM publishers INNER JOIN titles ON titles.pub_id = publishers.pub_id) b) USE pubs SELECT title FROM titles WHERE advance >=ANY (SELECT advance FROM publishers INNER JOIN titles ON titles.pub_id = publishers.pub_id) c) USE pubs SELECT title FROM titles WHERE advance > ALL (SELECT advance FROM publishers INNER JOIN titles ON titles.pub_id = publishers.pub_id) d) USE pubs SELECT title FROM titles WHERE advance IN (SELECT advance FROM publishers INNER JOIN titles ON titles.pub_id = publishers.pub_id)

190 Hy tm li trong th tc sau: Create proc prc1 AS Declare @a smallint Declare @b smallint Set @a = 1 Set @b= 1 While (@a