数据库概论题库Word下载.docx
- 文档编号:18336175
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:37
- 大小:93.84KB
数据库概论题库Word下载.docx
《数据库概论题库Word下载.docx》由会员分享,可在线阅读,更多相关《数据库概论题库Word下载.docx(37页珍藏版)》请在冰豆网上搜索。
B
第3题
你有一个名为dbo.Customers的表。
该表是使用下面的Transact-SQL语句创建的:
CREATETABLEdbo.Customers(CustomerIDintIDENTITY(1,1)PRIMARYKEYCLUSTERED,AccountNumbernvarchar(25)NOTNULL,FirstNamenvarchar(50)NOTNULL,LastNamenvarchar(50)NOTNULL,AddressLine1nvarchar(255)NOTNULL,AddressLine2nvarchar(255)NOTNULL,Citynvarchar(50)NOTNULL,StateProvincenvarchar(50)NOTNULL,Countrynvarchar(50)NOTNULL,PostalCodenvarchar(50)NOTNULL,CreateDatedatetimeNOTNULLDEFAULT(GETDATE()),ModifiedDatedatetimeNOTNULLDEFAULT(GETDATE()))
你创建了一个存储过程,其中包含dbo.Customers表的AccountNumber、Country和StateProvince列。
该存储过程接受一个参数来根据AccountNumber列筛选输出。
你需要优化该存储过程的性能。
你不得更改现有表结构。
A.CREATESTATISTICSST_Customer_AccountNumberONdbo.Customer(AccountNumber)WITHFULLSCAN;
B.CREATECLUSTEREDINDEXIX_Customer_AccountNumberONdbo.Customer(AccountNumber);
C.CREATENONCLUSTEREDINDEXIX_Customer_AccountNumberONdbo.Customer(AccountNumber)WHEREAccountNumber='
'
D.CREATENONCLUSTEREDINDEXIX_Customer_AccountNumberONdbo.Customer(AccountNumber)INCLUDE(Country,StateProvince);
D
第4题
你要创建一个表来存储客户的GPS位置。
你需要确保该表允许你找出指定销售地区的客户,并计算客户与最近店铺之间的距离。
应使用哪种数据类型?
A.geometry
B.geography
C.nvarchar(max)
D.varbinary(max)FILESTREAM
第5题
你计划将名为SmallKey的新列添加到Sales.Product表,该列将在唯一约束中使用。
你需要确保在添加新列时,下面的信息适用:
a1'
和'
A1'
被视作不同的值
ORDERBY子句中'
a'
A'
排在'
b'
B'
之前
你需要选择符合新列的要求的排序规则。
你选择哪种排序规则?
A.Latin1_General_BIN
B.SQL_Latin1_General_CP1_CI_AI
C.SQL_Latin1_General_CP1_CI_AS
D.SQL_Latin1_General_CP1_CS_AS
第6题
你有多个表,它们表示同类实体的各种属性。
属性值的类型有text、geometry、varchar(max)以及指定为“bitNOTNULL”数据类型的用户类型。
你计划将多个表的数据整合为一个表。
该表将利用SPARSE选项来使用半结构化存储。
你的任务是确定与SPARSE选项兼容的数据类型。
哪个数据类型与SPARSE选项兼容?
A.text
B.geometry
C.varchar(max)
D.定义为'
bitNOTNULL'
的用户定义类型
C
第7题
你需要创建一个存储过程,该过程接受名为@Customers的表值参数。
A.CREATEPROCEDUREAddCustomers(@Customersvarchar(max))
B.CREATEPROCEDUREAddCustomers(@CustomersCustomerREADONLY)
C.CREATEPROCEDUREAddCustomers(@CustomersCustomerTypeOUTPUT)
D.CREATEPROCEDUREADDCUSTOMERS(@Customersvarchar(max))ASEXTERNALNAMECustomer.Add.NewCustomer
第8题
你有一个用用户定义函数实现的计算列。
该用户定义函数返回一个格式化的帐号。
必须为该列建索引,以提供足够的搜索性能。
你计划对该计算列创建索引。
你需要确定该用户定义函数的ObjectPropertyEX值的有效组合。
应使用哪种组合?
A.IsDeterministic=TrueIsSystemVerified=TrueUserDataAccess=FalseSystemDataAccess=False
B.IsDeterministic=TrueIsSystemVerified=TrueIsPrecise=TrueIsTableFunction=True
C.IsDeterministic=FalseIsSystemVerified=TrueUserDataAccess=FalseSystemDataAccess=False
D.IsDeterministic=FalseIsSystemVerified=TrueIsPrecise=TrueSystemDataAccess=False
A
第9题
你要使用MicrosoftSQLServer2008开发一个数据库。
该数据库包含图中所示的表。
你需要实现,如果零件属于套件,那么应防止删除这些零件。
如果零件属于套件,那么不应发生删除操作,并且该行的IsDeleted列不应更改为“True”。
如果零件不属于套件,那么可以删除零件。
下面的Transact-SQL语句将在触发器中使用:
UPDATEpSETIsDeleted=1FROMKitPartkpJOINdeleteddONkp.PartID=d.PartIDJOINPartpONkp.PartID=p.PartID;
DELETEFROMpFROMPartpJOINdeleteddONp.PartID=d.PartIDLEFTOUTERJOINKitPartkpONp.PartID=kp.PartIDWHEREkp.KitIDISNULL;
你需要在触发器中实现该Transact-SQL语句。
应使用哪个触发器语法?
图示:
A.CREATETRIGGERtr_Part_dONPartAFTERDELETEASBEGINEND
B.CREATETRIGGERtr_Part_dONPartINSTEADOFDELETEASBEGINEND
C.CREATETRIGGERtr_KitPart_dONKitPartAFTERDELETEASBEGINEND
D.CREATETRIGGERtr_KitPart_dONKitPartINSTEADOFDELETEASBEGINEND
第10题
你有名为Products和OrderDetails的表。
Products表与OrderDetails表有基于ProductID列的外键关系。
你有下面的Transact-SQL批处理:
BEGINTRY
BEGINTRANSACTIONDELETEFROMProductsWHEREProductID=5;
BEGINTRANSACTION
INSERTINTOOrderDetails(OrderID,ProductID,Quantity)VALUES(1234,5,12);
COMMITTRANSACTION
COMMITTRANSACTIONENDTRYBEGINCATCHROLLBACKTRANSACTIONPRINTERROR_MESSAGE();
ENDCATCH
你需要分析执行此批处理的结果。
预期的结果应该是什么?
A.–将从Products表删除产品。
--订单详细信息将插入OrderDetails表。
B.–将从Products表删除产品。
--订单详细信息不会插入OrderDetails表。
C.–不会从Products表删除产品。
D.–不会从Products表删除产品。
D
第11题
你有一个名为Orders的表。
你的任务是修改公司主数据库,以删除所有无效的订单行。
你正要开发一个存储过程用来删除这些行。
你编写了下面的代码片段来完成此任务。
(包含的行号仅供参考。
)
01
020304
DECLARE@RowCountINT=1000WHILE@RowCount=1000BEGIN
050607
DELETETOP(1000)FROMOrdersWHEREStatus='
Inactive'
SET@RowCount=@@ROWCOUNT...
08
END
09
ENDTRY
10
BEGINCATCH
11PRINTERROR_MESSAGE()
12ENDCATCH
你需要插入一条Transact-SQL语句,该语句在每批行删除之后立即通知你。
应在第07行插入哪句Transact-SQL语句?
A.RAISERROR('
Deleted%irows'
6,1,@RowCount)
B.RAISERROR('
16,1,@RowCount)
C.RAISERROR('
10,1,@RowCount)WITHNOWAIT
D.RAISERROR('
11,1,@RowCount)WITHNOWAIT
第12题
你在编写一个批处理,其中包含修改现有产品的多条UPDATE语句。
你将这些更新放在一个显式事务中。
你需要在事务开始时设置一个选项,如果事务中的任何更新失败,该选项将回滚所有更改。
应启用哪个选项?
A.ARITHABORT
B.XACT_ABORT
C.IMPLICIT_TRANSACTIONS
D.REMOTE_PROC_TRANSACTIONS
第13题
你有名为Sales.SalesOrderHeader和Person.Person的表。
你的任务是编写一个查询来返回OrderDate大于20040101的SalesOrderID和SalesPersonName。
SalesPersonName应是将Person.Person表中的FirstName列和LastName列合并而成。
你需要编写查询来按字母表顺序返回FirstName和LastName合并的数据。
A.SELECTSalesOrderID,FirstName+'
'
+LastNameasSalesPersonNameFROMSales.SalesOrderHeaderHJOINPerson.PersonPonBusinessEntityID=H.SalesPersonIDWHEREOrderDate>
20040101'
ORDERBYFirstNameASC,LastNameASC
B.SELECTSalesOrderID,FirstName+'
ORDERBYFirstNameDESC,LastNameDESC
C.SELECTSalesOrderID,FirstName+'
ORDERBYSalesPersonNameASC
D.SELECTSalesOrderID,FirstName+'
ORDERBYSalesPersonNameDESC
第14题
你有一个名为Sales.PotentialClients的表。
此表有名为EmailAddress的列。
你的任务是开发一个报表,报表从Sales.PotentialClients中返回有效的“.com”电子邮件地址。
有效电子邮件地址在@符号前面至少有一个字符,在@符号后面和“.com”之前至少有一个字符。
你需要编写一条Transact-SQL语句来返回符合该业务要求的数据。
A.select*fromSales.PotentialClientswhereEmailAddresslike'
_%@_%.com'
B.select*fromSales.PotentialClientswhereEmailAddresslike'
%@%.com'
C.select*fromSales.PotentialClientswhereEmailAddresslike'
_%@_.com'
D.select*fromSales.PotentialClientswhereEmailAddresslike'
%@%[.]com'
第15题
OrderID定义为IDENTITY(1,1)。
OrderDate默认值为1。
你需要编写查询将新订单插入Orders表,该订单的CustomerID为45,日期是今天,成本为89.00。
应使用哪条语句?
A.INSERTINTOOrders(CustomerId,OrderDate,Cost)VALUES(45,DEFAULT,89.00);
B.INSERTINTOOrders(OrderID,CustomerId,OrderDate,Cost)VALUES(1,45,DEFAULT,89.00);
C.INSERTINTOOrders(CustomerId,OrderDate,Cost)VALUES(45,CURRENT_TIMESTAMP,89.00);
D.INSERTINTOOrders(OrderID,CustomerId,OrderDate,Cost)VALUES(1,45,CURRENT_TIMESTAMP,89.00);
第16题
你有下面两个表。
这两个表之间的外键关系启用了CASCADEDELETE。
你需要从Orders表删除所有记录。
A.DROPTABLEOrders
B.DELETEFROMOrders
C.TRUNCATETABLEOrders
D.DELETEFROMOrderDetails
第17题
你的任务是从名为NewWidgets的表删除1000行。
有2000行的ToBeDeleted列设置为1。
你需要编写一个Transact-SQL批处理来准确删除1000行。
应使用哪个Transact-SQL批处理?
A.DELETETOP(1000)dbo.NewWidgetsWHEREToBeDeleted=1;
B.DECLARE@BatchSizeINT=10;
WHILE(@BatchSize=10)DELETETOP(@BatchSize)dbo.NewWidgetsWHEREToBeDeleted=1;
C.DELETETOP((SELECTCOUNT(*)FROMdbo.NewWidgetsWHEREToBeDeleted=1))wFROMdbo.NewWidgetswWHEREw.ToBeDeleted=1;
D.DECLARE@TotalRowCountINT=0;
WHILE(@TotalRowCount<
=1000)BEGINDELETETOP(10)dbo.NewWidgetsWHEREToBeDeleted=1;
SET@TotalRowCount+=@@ROWCOUNT;
END
第18题
你有两个表dbo.Products和dbo.PriceChange。
dbo.Products表包含10种产品。
五种产品的单价为$20,PriceIncrease(价格增量)设置为1。
其他五种产品的单价为$10,PriceIncrease(价格增量)设置为0。
你有下面的查询:
INSERTdbo.PriceChange(ProductID,Change,ChangeDate)SELECTProductID,inPrice-delPrice,SYSDATETIME()FROM(UPDATEdbo.ProductsSETPrice*=1.1OUTPUTinserted.ProductID,inserted.Price,deleted.PriceWHEREPriceIncrease=1)p(ProductID,inPrice,delPrice);
你需要预测查询结果。
该查询应生成什么结果?
A.dbo.Products中五行更新。
五行插入dbo.PriceChange。
B.dbo.Products中五行更新。
没有行插入dbo.PriceChange。
C.dbo.Products中无行更新。
D.dbo.Products中无行更新。
第19题
Products
ProductID
ProductName
VendorID
1
Product1
0
2
Product2
3
Product3
4
Product4
ProductChanges
NewProduct3
5
Product5
你执行了下面的语句。
MERGEProductsUSINGProductChangesON(Products.ProductID=ProductChanges.ProductID)WHENMATCHEDANDProducts.VendorID=0THENDELETEWHENMATCHEDTHENUPDATESETProducts.ProductName=ProductChanges.ProductNameProducts.VendorID=ProductChanges.VendorID;
你需要找出将在Products表中显示的行。
哪些行将显示?
A.ProductIDProductNameVendorID2Product213NewProduct32
B.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 概论 题库