数据库技术与应用SQL SERVER刘卫国 熊拥军主编课后复习题答案文档格式.docx
- 文档编号:21231938
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:18
- 大小:20.41KB
数据库技术与应用SQL SERVER刘卫国 熊拥军主编课后复习题答案文档格式.docx
《数据库技术与应用SQL SERVER刘卫国 熊拥军主编课后复习题答案文档格式.docx》由会员分享,可在线阅读,更多相关《数据库技术与应用SQL SERVER刘卫国 熊拥军主编课后复习题答案文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
(name=saldat01,filename="
c:
\db\saldat01.mdf"
),
(name=saldat02,filename="
\db\saldat02.ndf"
filegroupfilegrp1
(name=saldat11,filename="
d:
\db\saldat11.ndf"
(name=saldat12,filename="
\db\saldat12.ndf"
(name=saldat13,filename="
\db\saldat13.ndf"
)
2
alterdatabasesales
addlogfile
(name=sallog2,filename="
\db\sallog2.ldf"
3
addfile
(name=saldat03,filename="
\db\saldat03.ndf"
size=5,filegrowth=20%)
扩展
(name=saldat14,filename="
\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。
--创建数据库
---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
--添加标识符列
addorder_id1intidentity(1,2)
----4.2
--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('
'
--为空和null不同
null,30,9.5,'
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,'
setidentity_insertsales.dbo.sell_orderoff
----4.4
26'
02'
6'
10'
200,8,'
2008-10-10'
2008-12-12'
200000,'
2008-12-1'
----4.5
29'
100'
2009-1-1'
null,'
updatesell_ordersetemployee_id='
where(employee_id='
andcostisnull)
----4.6
updatesell_ordersetdiscount=discount*0.9where(custmer_id='
----4.7
deletefromsell_orderwhereorder_date='
第六章数据查询
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
c_nochar(8),
scorefloat
insertintoscovalues('
数据结构'
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
(2),
出生日期datetime
insertinto职工values('
z002'
孔维宏'
1962-10-27'
createtable工资
基本工资money,
津贴money,
奖金money,
扣除money
insertinto工资values('
z001'
1300,500,800,600)
--2-1
select职工.职工号,姓名,(基本工资+津贴+奖金-扣除)as实发工资from职工innerjoin工资
on职工.职工号=工资.职工号
--2-2
select*from职工where出生日期='
select职工号,姓名,性别,convert(varchar,出生日期,23)as出生时间from职工where出生日期='
select职工号,姓名,性别,convert(varchar,出生日期,23)as出生时间,部门名from职工innerjoin部门
on职工.部门号=部门.部门号and出生日期='
on职工.部门号=部门.部门号where出生日期='
select职工号,姓名,性别,convert(varchar,出生日期,23)as出生时间,部门名from职工,部门
where职工.部门号=部门.部门号and出生日期='
select职工.职工号,姓名,性别,convert(varchar,出生日期,23)as出生时间,部门名,(基本工资+津贴+奖金-扣除)as实发工资
from职工,部门,工资where职工.职工号=工资.职工号and职工.部门号=部门.部门号and出生日期='
from部门innerjoin职工on职工.部门号=部门.部门号innerjoin工资on职工.职工号=工资.职工号where出生日期='
--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
--2
addprimarykey(order_id1)
--3
usesales
altertablecustomer
addprimarykey(customer_id)
addforeignkey(custom_id)referencescustomer(customer_id)
ondeletecascadeonupdatecascade
--4
addconstraintkkunique(customer_name)
--5
addconstraintk3default(0)fordiscount
--6
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'
笔记本计算机'
P002'
激光打印机'
P003'
喷墨打印机'
P004'
交换机'
ENDAS商品类别,
unit_priceAS单价,stock_quantityas库存
FROMgoods
--4.1.2
declare@valuereal
set@value=-1
while@value<
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
endasnld,birth_datefromemployee)aGROUPBYnld
--4-3
createfunctionfact2(@xint)
returnsint
as
if@x=1
return1
return@x*dbo.fact2(@x-1)
selectdbo.fact2(6)
--4-4
declare@iint,@jint,@sumint
select@i=1,@j=0,@sum=0
while(@i<
100)
begin
if(@i%7=0)
set@j=@j+1
set@sum=@sum+@i
end
set@i=@i+1
select@j,@sum
--4-5
declarecur_employeecursor
selectsex,count(*)fromemployeegroupbysex
declare@sexchar
(2),@sex_numint
opencur_employee
fetchnextfromcur_employeeinto@sex,@sex_num
while@@fetch_status=0
select@sexas性别,@sex_numas人数
fetchnextfromcur_employeeinto@sex,@sex_num
closecur_employee
deallocatecur_employee
第十章存储过程和触发器
CAADA
1、sp_
2、存储过程
3、committransaction,rollbacktransaction
4、数据封锁机制
CREATEPROCprStoreOrderID
@Order_id1char(6),
@goods_idchar(6),
@employee_idchar(4),
@Custom_IDchar(5),
@Transporter_IDchar(4),
@order_datedatetime,
@order_id2char(6)OUTPUT
AS
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
DECLARE@order_id2char(6)
EXECprStoreOrderID'
S00009'
G00005'
e010'
C0009
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术与应用SQL SERVER刘卫国 熊拥军主编课后复习题答案 数据库技术 应用 SQL SERVER 卫国 拥军 主编 课后 复习题 答案