数据库实验答案第二版.docx

上传人:b****5 文档编号:5697854 上传时间:2022-12-31 格式:DOCX 页数:30 大小:24.59KB
下载 相关 举报
数据库实验答案第二版.docx_第1页
第1页 / 共30页
数据库实验答案第二版.docx_第2页
第2页 / 共30页
数据库实验答案第二版.docx_第3页
第3页 / 共30页
数据库实验答案第二版.docx_第4页
第4页 / 共30页
数据库实验答案第二版.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

数据库实验答案第二版.docx

《数据库实验答案第二版.docx》由会员分享,可在线阅读,更多相关《数据库实验答案第二版.docx(30页珍藏版)》请在冰豆网上搜索。

数据库实验答案第二版.docx

数据库实验答案第二版

实验二:

droptable订单明细

go

droptable订购单

go

droptable产品

go

droptable客户

go

createtable客户(

客户号char(8)primarykey

check(客户号like'[a-z]%'or客户号like'[A-Z]%'),

客户名称varchar(40)notnull,

联系人char(8),

地址varchar(40),

邮政编码char(6)check(邮政编码

like'[0-9][0-9][0-9][0-9][0-9][0-9]'),

电话char(12)check

(isnumeric(电话)=1

and(len(ltrim(电话)))>=7)

--droptable产品

createtable产品(

产品号char(8)

collateChinese_PRC_Stroke_CS_AI_WS--大小写敏感

notnull

primarykeycheck(产品号like'[A-Z][A-Z]%'),

产品名称varchar(40),

规格说明char(40)unique,

单价smallmoneycheck(单价>0)

--droptable订购单

createtable订购单(

客户号char(8)notnullforeignkeyreferences客户,

订单号char(8)primarykey,

订购日期datetimedefaultgetdate()

--droptable订单明细

createtable订单明细(

订单号char(8)foreignkeyreferences订购单,

序号tinyint,

产品号char(8)

collateChinese_PRC_Stroke_CS_AI_WS--大小写敏感

notnullforeignkeyreferences产品,

数量smallintcheck(数量>0),

primarykey(订单号,序号)

21)

--1.产品规格的类型改为varchar(40)

altertable产品altercolumn规格说明varchar(40)

--出现以下错误:

服务器:

消息5074,级别16,状态8,行1

对象'UQ__产品__7C8480AE'依赖于列'规格说明'。

服务器:

消息4922,级别16,状态1,行1

ALTERTABLEALTERCOLUMN规格说明失败,因为有一个或多个对象访问此列。

--原因:

建表是"规格说明"字段是有唯一约束,该约束由系统给予命名

--解决方法:

根据错误信息里的约束名,用下列命令删除约束

altertable产品dropconstraintUQ__产品__7C8480AE

--3.再次执行修改

altertable产品altercolumn规格说明varchar(40)

--4.如果有必要,再给修改后的规格说明增加唯一约束

ALTERtable产品

addconstraintuqunique(规格说明)

--成功

22)为订购单表增加一个新的字段完成日期,类型为datetime,默认是空值。

altertable订购单

add完成日期datetimedefaultnull

22)

altertable订单明细

addconstraintqualitycheck(数量<1000)

3

3.1在客户表的客户名称字段上建立升序索引

createindexzhuon客户(客户名称)

3.2在产品表的产品名称字段上建立惟一索引

createuniqueindexzhu2_idxon产品(产品名称)

3.3在订购单表的订购号字段上建立聚集索引

createclusteredindexorder_index

on订购单(订单号)

--建立不成功,因为订单号在表中已是主关健字,不能建立聚集索引

3.4在订单名细表的订购单号(升序),序号(升序),和数量(降序)三个字段上建立一个普通索引

createindexzhu_idxon订单明细(订单号,序号,数量desc)

实验三:

--插入12个客户

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C01','客户1','联系人1','地址1','545001','2685551')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C02','客户2','联系人2','地址2','545002','2685552')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C03','客户3','联系人3','地址3','545003','2685553')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C04','客户4','联系人4','地址4','545004','2685554')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C05','客户5','联系人5','地址5','545005','2685555')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C06','客户6','联系人6','地址6','545006','2685556')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C07','客户7','联系人7','地址7','545007','2685557')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C08','客户8','联系人8','地址8','545008','2685558')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C09','客户9','联系人9','地址9','545009','2685559')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C0A','客户A','联系人A','地址A','545010','2685560')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C0B','客户B','联系人B','地址B','545011','2685561')

insertinto客户(客户号,客户名称,联系人,地址,邮政编码,电话)

values('C0C','客户C','联系人C','地址C','545012','2685562')

select*from客户

--插入12个产品

dropindex产品.zhu2_idx

go

delete产品

insertinto产品(产品号,产品名称,规格说明,单价)

values('ZA01','轴','10mm',10)

insertinto产品(产品号,产品名称,规格说明,单价)

values('ZA02','轴','12mm',10)

insertinto产品(产品号,产品名称,规格说明,单价)

values('ZA03','轴','14mm',10)

insertinto产品(产品号,产品名称,规格说明,单价)

values('ZA04','轴','16mm',10)

insertinto产品(产品号,产品名称,规格说明,单价)

values('SA01','洗衣粉','500g',5)

insertinto产品(产品号,产品名称,规格说明,单价)

values('SA02','洗衣粉','600g',6)

insertinto产品(产品号,产品名称,规格说明,单价)

values('SA03','洗衣粉','700g',7)

insertinto产品(产品号,产品名称,规格说明,单价)

values('SA04','洗衣粉','800g',8)

insertinto产品(产品号,产品名称,规格说明,单价)

values('BA01','白糖','50kg',3300)

insertinto产品(产品号,产品名称,规格说明,单价)

values('BA02','白糖','1kg',5)

insertinto产品(产品号,产品名称,规格说明,单价)

values('KA01','刻录碟','CD宏基',2)

insertinto产品(产品号,产品名称,规格说明,单价)

values('KA02','刻录碟','CDLG',2.1)

insertinto产品(产品号,产品名称,规格说明,单价)

values('KA03','刻录碟','CDKODAK',2.2)

insertinto产品(产品号,产品名称,规格说明,单价)

values('KA04','刻录碟','CDMITSUBISHI',2.3)

insertinto产品(产品号,产品名称,规格说明,单价)

values('KA05','刻录碟','DVD宏基',3)

insertinto产品(产品号,产品名称,规格说明,单价)

values('KA06','刻录碟','DVDLG',4)

insertinto产品(产品号,产品名称,规格说明,单价)

values('KA07','刻录碟','DVDKODAK',5)

insertinto产品(产品号,产品名称,规格说明,单价)

values('KA08','刻录碟','DVDMITSUBISHI',5)

select*from产品

WHERE产品号='KA01'

--插入20个订购单

--每订购单若干明细

--注:

Z轴4S洗4B糖2K盘8

select*from订购单

select*from订单明细

delete订购单

delete订单明细

insertinto订购单(客户号,订单号,订购日期)

values('C01','OR01','2006-01-02')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR01',1,'ZA01',4)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR01',2,'ZA03',8)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR01',3,'KA01',100)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR01',4,'KA03',200)

insertinto订购单(客户号,订单号,订购日期)values('C03','OR02','2006-01-16')

insertinto订单明细(订单号,序号,产品号,数量)values('OR02',1,'ZA02',14)

insertinto订单明细(订单号,序号,产品号,数量)values('OR02',2,'SA03',81)

insertinto订单明细(订单号,序号,产品号,数量)values('OR02',3,'BA01',102)

insertinto订单明细(订单号,序号,产品号,数量)values('OR02',4,'BA02',260)

insertinto订购单(客户号,订单号,订购日期)

values('C01','OR03','2006-02-16')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR03',1,'KA02',150)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR03',2,'KA03',500)

--下面数量大于1000,报错

insertinto订单明细(订单号,序号,产品号,数量)

values('OR03',3,'KA08',2600)

insertinto订购单(客户号,订单号,订购日期)

values('C05','OR04','2006-02-28')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR04',1,'BA01',15)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR04',2,'BA02',5)

insertinto订购单(客户号,订单号,订购日期)

values('C01','OR05','2006-03-1')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR05',1,'ZA01',915)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR05',2,'ZA02',65)

insertinto订购单(客户号,订单号,订购日期)

values('C03','OR06','2006-03-2')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR06',1,'ZA01',165)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR06',2,'ZA02',25)

insertinto订购单(客户号,订单号,订购日期)

values('C05','OR07','2006-03-3')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR07',1,'KA01',650)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR07',2,'KA02',250)

insertinto订购单(客户号,订单号,订购日期)

values('C07','OR08','2006-03-6')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR08',1,'KA01',16)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR08',2,'KA02',325)

insertinto订购单(客户号,订单号,订购日期)

values('C03','OR09','2006-03-9')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR09',1,'ZA01',616)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR09',2,'ZA02',132)

insertinto订购单(客户号,订单号,订购日期)

values('C09','OR10','2006-03-6')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR10',1,'KA06',160)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR10',2,'KA05',305)

insertinto订购单(客户号,订单号,订购日期)

values('C08','OR11','2006-03-6')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR11',1,'KA06',16)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR11',2,'KA08',59)

insertinto订购单(客户号,订单号,订购日期)

values('C03','OR12','2006-03-12')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR12',1,'BA01',10)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR12',2,'BA01',90)

insertinto订购单(客户号,订单号,订购日期)

values('C05','OR13','2006-03-12')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR13',1,'ZA03',600)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR13',2,'ZA04',900)

insertinto订购单(客户号,订单号,订购日期)

values('C06','OR14','2006-03-16')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR14',1,'KA03',600)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR14',2,'KA04',700)

insertinto订购单(客户号,订单号,订购日期)

values('C07','OR15','2006-03-31')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR15',1,'KA07',6)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR15',2,'KA08',7)

insertinto订购单(客户号,订单号,订购日期)

values('C09','OR16','2006-03-31')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR16',1,'BA02',60)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR16',2,'KA08',70)

insertinto订购单(客户号,订单号,订购日期)

values('C01','OR17',NULL)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR17',1,'KA01',16)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR17',2,'KA05',37)

insertinto订购单(客户号,订单号,订购日期)

values('C0A','OR18','2006-04-06')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR18',1,'ZA01',161)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR18',2,'ZA03',367)

insertinto订购单(客户号,订单号,订购日期)

values('C01','OR19','2006-04-012')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR19',1,'KA02',160)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR19',2,'KA06',700)

insertinto订购单(客户号,订单号,订购日期)

values('C0A','OR20','2006-04-12')

insertinto订单明细(订单号,序号,产品号,数量)

values('OR20',1,'BA01',16)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR20',2,'BA02',36)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR20',3,'SA02',136)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR20',4,'SA04',600)

insertinto订购单(客户号,订单号,订购日期)

values('C0A','OR21',null)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR21',1,'KA01',700)

insertinto订单明细(订单号,序号,产品号,数量)

values('OR21',2,'KA02',350)

GO

select*from订购单

select*from订单明细

实验四:

use数据库实验

--

(1)

select*from客户

--

(2)

select客户号from订购单

--(3)

select*from产品

where单价>=50

--(4)

select*from产品

where单价>2and产品名称='洗衣粉'

--(5)

select*from产品

where单价>2and(产品名称='洗衣粉'or产品名称='白糖')

--(6)查询2006年3月份

select客户名称,联系人,电话,订单号from客户a,订购单b

wherea.客户号=b.客户号

andyear(订购日期)=2006

andmonth(订购日期)=03

--查询指定日期的订购单位

select客户名称,联系人,电话,订单号from客户a,订购单b

wherea.客户号=b.客户号

and订购日期='06-03-06'

--插入数据时,不指定日期的时间部分,故皆为0时0分0秒

--如用以下命令修改某订购单的日期,则因小时有差异,将不满足日期相等条件

update订购单

set订购日期=dateadd(hour,2,订购日期)

where订单号='OR11'

--(7)

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1