数据库技术与应用SQL SERVER课后答案.docx

上传人:b****2 文档编号:1721400 上传时间:2023-05-01 格式:DOCX 页数:21 大小:20.31KB
下载 相关 举报
数据库技术与应用SQL SERVER课后答案.docx_第1页
第1页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第2页
第2页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第3页
第3页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第4页
第4页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第5页
第5页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第6页
第6页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第7页
第7页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第8页
第8页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第9页
第9页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第10页
第10页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第11页
第11页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第12页
第12页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第13页
第13页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第14页
第14页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第15页
第15页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第16页
第16页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第17页
第17页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第18页
第18页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第19页
第19页 / 共21页
数据库技术与应用SQL SERVER课后答案.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库技术与应用SQL SERVER课后答案.docx

《数据库技术与应用SQL SERVER课后答案.docx》由会员分享,可在线阅读,更多相关《数据库技术与应用SQL SERVER课后答案.docx(21页珍藏版)》请在冰点文库上搜索。

数据库技术与应用SQL SERVER课后答案.docx

数据库技术与应用SQLSERVER课后答案

《数据库技术与应用-SQLSERVER2005》

刘卫国熊拥军主编

习题参考答案

 

第一章数据库系统概论

一、选择题

ABDAD

二、填空题

载体、意义;数据集合;数据库管理系统;数据库系统;层次、网状、关系、关系模型

第二章关系数据库基本原理

一、选择题

DDACBD

二、填空题

1.实体完整性、参照完整性、用户自定义完整性。

2.(A,B)R1(A,D)和R2(A,B,C).

3.元子特性

4.外键

5.F1=(A→B,A→C,A→D).

6.选择

第三章SQLSERVER2005系统基础

一、选择题

ACBCB

二、填空题

1.企业版,标准版,开发版,工作组版,精简版

2.WINDOWs身份验证模式和混合模式

3.SQLServer管理平台、SQLServer配置管理器

4.已注册服务器窗口、对象资源管理器,文档窗口

5.数据查询语言,数据定义语言,数据操纵语言和数据控制语言

第四章数据库的管理

一、选择题

ABDAC

二、填空题

1、数据文件和事务日志文件

2、master,tempdb,model,msdb和mssqlsystemresource

3、数据文件,事务日志文件和文件组

4、5

5、createdatabase,alterdatabase,dropdatabase

四、应用题

1

createdatabasesales

onprimary

(name=saldat01,filename="c:

\db\saldat01.mdf"),

(name=saldat02,filename="c:

\db\saldat02.ndf"),

filegroupfilegrp1

(name=saldat11,filename="d:

\db\saldat11.ndf"),

(name=saldat12,filename="d:

\db\saldat12.ndf"),

(name=saldat13,filename="d:

\db\saldat13.ndf")

2

alterdatabasesales

addlogfile

(name=sallog2,filename="c:

\db\sallog2.ldf")

3

alterdatabasesales

addfile

(name=saldat03,filename="c:

\db\saldat03.ndf",size=5,filegrowth=20%)

扩展

alterdatabasesales

addfile

(name=saldat14,filename="d:

\db\saldat14.ndf",size=5,filegrowth=20%)tofilegroupfilegrp1

4

alterdatabasesalessetsingle_user

5

dropdatabasesales

第五章表的管理

一、选择题

CACCC

二、填空题

1、-2²¹-2²¹-1,0-255.

2、输入存储字段小于100时按原字段存,大于100时截取100位。

8个字节。

3、日期时间数据类型,数字数据类型

4、表名和字段名称

5、insert,update,truncate或delete。

四、应用题

--创建数据库

createdatabasesales

---4.1

---标识符列(自动增长的列)

--identity(种子,增量)

createtablesell_order

order_id1intidentity(1,2),

goods_idchar(6)notnull,

employee_idchar(4)notnull,

custmer_idchar(4)notnull,

transporter_idchar(4)notnull,

order_numfloat,

discountfloat,

order_datedatetime,

send_datedatetime,

arrival_datedatetime,

costmoney

---删除标识符列

altertablesell_order

dropcolumnorder_id1

--添加标识符列

altertablesell_order

addorder_id1intidentity(1,2)

----4.2

altertablesell_order

--dropcolumnsend_date

add发货日期datetime

----4.3

---标识列自动增长

insertsell_order(goods_id,employee_id,custmer_id,order_num,discount,order_date)values('135','16','99',30,9.5,'2009-2-26')

insertsell_ordervalues('135','16','99','',30,9.5,'2009-2-26','','','')

--为空和null不同

insertsell_ordervalues('135','16','99',null,30,9.5,'2009-2-26',null,null,null)

--允许手动增长(显示声明)

setidentity_insertsales.dbo.sell_orderon

insertsell_order(order_id1,goods_id,employee_id,custmer_id,order_num,discount,order_date)

values(8,'135','16','99',30,9.5,'2009-2-26')

setidentity_insertsales.dbo.sell_orderoff

----4.4

insertsell_ordervalues('26','02','6','10',200,8,'2008-10-10','2008-12-12',200000,'2008-12-1')

----4.5

insertsell_ordervalues('26','29','100','10',200,8,'2009-1-1','2008-12-12',null,'2008-12-1')

updatesell_ordersetemployee_id='16'where(employee_id='29'andcostisnull)

----4.6

updatesell_ordersetdiscount=discount*0.9where(custmer_id='100'andcostisnull)

----4.7

deletefromsell_orderwhereorder_date='2009-1-1'

第六章数据查询

一、选择题

CABBC

二、填空题

1、TOP/PERCENT

2、UNION,查询数据/结果集

3、嵌套查询/子查询

4、内链接,外连接

5、等值连接,自然连接

6、into

四、应用题

--128页应用题第一题

createdatabasestudent2

createtablestudent

s_nochar(8),

s_namechar(10),

s_sexchar

(2),

birthdaydatetime,

politychar(8)

insertintostudentvalues('s003','江鱼','女','2003-01-01','国民党')

createtablesco

s_nochar(8),

c_nochar(8),

scorefloat

insertintoscovalues('s003','数据结构',85)

--1-1

select*fromstudentorderbys_no

--1-2

select*fromstudentwheres_sex='女'orderbys_sexcomputecount(s_sex)

--1-3

selects_name,birthday,year(getdate())-year(birthday)as年龄fromstudentwheres_sex='男'

selects_name,convert(varchar,birthday,23),year(getdate())-year(birthday)as年龄fromstudentwheres_sex='男'

--selectconvert(varchar,getdate(),23)只截取系统当前日期

--selectconvert(varchar,getdate(),8)只截取系统当前时间

--1-4

selects_name,birthday,year(getdate())-year(birthday)as年龄,c_no,score

fromstudent,scowherestudent.s_no=sco.s_no

selects_name,birthday,year(getdate())-year(birthday)as年龄,c_no,score

fromstudentinnerjoinscoonstudent.s_no=sco.s_no

--1-5

selectscorefromscowheres_no=(selects_nofromstudentwheres_name='江鱼')

selectsco.score,student.s-namefromscoinnerjoinstudentonsco.s_no=student.s_nowherestudent.s_name='江于'

--1-6

selects_namefromstudentwheres_noin(selects_nofromscowherescore<60)

--1-7

selects_sex,avg(score)fromstudentinnerjoinscoonsco.s_no=student.s_nogroupbys_sex

 

--128页应用题第二题

createdatabasers

createtable部门

部门号char(8),

部门名char(10),

负责人char(8),

电话char(10)

insertinto部门values('b001','教育学院','叶浩生','1338888888')

createtable职工

职工号char(8),

部门号char(8),

姓名char(8),

性别char

(2),

出生日期datetime

insertinto职工values('z002','b001','孔维宏','男','1962-10-27')

createtable工资

职工号char(8),

基本工资money,

津贴money,

奖金money,

扣除money

insertinto工资values('z001',1300,500,800,600)

--2-1

select职工.职工号,姓名,(基本工资+津贴+奖金-扣除)as实发工资from职工innerjoin工资

on职工.职工号=工资.职工号

--2-2

select*from职工where出生日期='1962-10-27'

select职工号,姓名,性别,convert(varchar,出生日期,23)as出生时间from职工where出生日期='1962-10-27'

select职工号,姓名,性别,convert(varchar,出生日期,23)as出生时间,部门名from职工innerjoin部门

on职工.部门号=部门.部门号and出生日期='1962-10-27'

select职工号,姓名,性别,convert(varchar,出生日期,23)as出生时间,部门名from职工innerjoin部门

on职工.部门号=部门.部门号where出生日期='1962-10-27'

select职工号,姓名,性别,convert(varchar,出生日期,23)as出生时间,部门名from职工,部门

where职工.部门号=部门.部门号and出生日期='1962-10-27'

select职工.职工号,姓名,性别,convert(varchar,出生日期,23)as出生时间,部门名,(基本工资+津贴+奖金-扣除)as实发工资

from职工,部门,工资where职工.职工号=工资.职工号and职工.部门号=部门.部门号and出生日期='1962-10-27'

select职工.职工号,姓名,性别,convert(varchar,出生日期,23)as出生时间,部门名,(基本工资+津贴+奖金-扣除)as实发工资

from部门innerjoin职工on职工.部门号=部门.部门号innerjoin工资on职工.职工号=工资.职工号where出生日期='1962-10-27'

--2-3

SELECT部门名,MIN(出生日期)FROM部门JOIN职工ON部门.部门号=职工.部门号GROUPBY部门名

--2-4

select姓名,性别,(year(getdate())-year(出生日期))as年龄from职工where(year(getdate())-year(出生日期))>35

--2-5

select部门名,count(职工号)as职工人数from职工,部门where部门.部门号=职工.部门号

groupby部门名havingcount(*)>=2orderbycount(*)desc

select部门名,count(*)as职工人数from职工innerjoin部门on部门.部门号=职工.部门号

groupby部门.部门名havingcount(*)>=1orderbycount(*)desc

第七章索引与视图

一、选择题

CCADB

二、填空题

1、altertable,dropindex

2、primarykey,unique

3、视图

4、定义

5、计算列

6、修改,删除

第八章数据完整性

一、选择题

BCCAD

二、填空题

1、行

2、createrule和createdefault

3、唯一性

4、primarykey,多

5、检查,唯一性

6、constraint,约束名

四、应用题

--第八章应用题

--1

altertablesell_order

addorder_id1intidentity(1,2)

altertablesell_order

dropcolumnorder_id1

--2

altertablesell_order

addprimarykey(order_id1)

--3

usesales

altertablecustomer

addprimarykey(customer_id)

altertablesell_order

addforeignkey(custom_id)referencescustomer(customer_id)

ondeletecascadeonupdatecascade

--4

altertablecustomer

addconstraintkkunique(customer_name)

--5

altertablesell_order

addconstraintk3default(0)fordiscount

--6

altertablesell_order

addconstraintk4check(order_date>send_date),check(send_date>arriver_date)

第九章T-SQL程序设计

一、选择题

BCCDD

二、填空题

1、局部

2、44,82,126

3、gf

4、/**/

5、单条,begin---end

6、break,continue

7、declarecursor,select

四、应用题

--4.1.1

SELECTgoods_nameas商品名称,

CASE

WHENclassification_id='P001'THEN'笔记本计算机'

WHENclassification_id='P002'THEN'激光打印机'

WHENclassification_id='P003'THEN'喷墨打印机'

WHENclassification_id='P004'THEN'交换机'

ENDAS商品类别,

unit_priceAS单价,stock_quantityas库存

FROMgoods

--4.1.2

declare@valuereal

set@value=-1

while@value<2

begin

selectsign(@value)

select@value=@value+1

end

--4.1.3

declareemployee_cursorcursor

for

selectt.employee_id,s.cost

fromemployeetjoinsell_ordersont.employee_id=s.employee_id

wheres.cost>15000

openemployee_cursor

FETCHNEXTFROMemployee_cursor

WHILE@@fetch_status=0

BEGIN

FETCHNEXTFROMemployee_cursor

END

--4-2

selectemployee_name,

case(datediff(yy,birth_date,getdate())-1)/10

when2then'20到30岁'

when3then'30到40岁'

when4then'40到50岁'

else'50岁以上'

endas年龄段,department_nameas所属部门

fromdepartment,employeewheredepartment.department_id=employee.department_idorderby所属部门asc

selectnldas年龄段,count(*)as人数from

(select

case(datediff(yy,birth_date,getdate())-1)/10

when2then'20到30岁'

when3then'30到40岁'

when4then'40到50岁'

else'50岁以上'

endasnld,birth_datefromemployee)aGROUPBYnld

--4-3

createfunctionfact2(@xint)

returnsint

as

begin

if@x=1

return1

return@x*dbo.fact2(@x-1)

end

selectdbo.fact2(6)

 

--4-4

declare@iint,@jint,@sumint

select@i=1,@j=0,@sum=0

while(@i<100)

begin

if(@i%7=0)

begin

set@j=@j+1

set@sum=@sum+@i

end

set@i=@i+1

end

select@j,@sum

--4-5

declarecur_employeecursor

for

selectsex,count(*)fromemployeegroupbysex

declare@sexchar

(2),@sex_numint

opencur_employee

fetchnextfromcur_employeeinto@sex,@sex_num

while@@fetch_status=0

begin

select@sexas性别,@sex_numas人数

fetchnextfromcur_employeeinto@sex,@sex_num

end

closecur_employee

deallocatecur_employee

第十章存储过程和触发器

一、选择题

CAADA

二、填空题

1、sp_

2、存储过程

3、committransaction,rollbacktransaction

4、数据封锁机制

四、应用题

--1

CREATEPROCprStoreOrderID

@Order_id1char(6),

@goods_idchar(6),

@employee_idchar(4),

@Custom_IDchar(5),

@Transporter_IDchar(4),

@order_datedatetime,

@order_id2char(6)OUTPUT

AS

BEGIN

INSERTINTOsell_order(Order_ID1,goods_id,employee_id,Custom_ID,Transporter_ID,order_date)

VALUES(@Order_id1,@goods_id,@employee_id,@Custom_ID,@Transporter_ID,@order_date)

SELECT@order_id2=Order_ID1FROMsell_orderWHEREOrder_ID1=@Order_id1

END

DECLARE@order_id2char(6)

EXECprStoreOrderID'S00009','G00005','e010','C0009','T010','20

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2