实验报告-数据库和表的基本操作和约束条件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SPJ.JNO=P表.PNOAND
S表.SNO=SPJ.SNO)
运行结果:
⑤.SQL源码:
SELECTJNO
FROMSPJ
WHEREPNO=ANY(
SELECTPNO
FROMSPJ
WHERESNO='S1')
GROUPBYJNO
HAVINGCOUNT(DISTINCTPNO)=(SELECTCOUNT(DISTINCTPNO)FROMSPJWHERESNO='S1')
SQL源码:
SELECTJNO
FROMSPJ
WHERESNO='S1'
运行结果:
④.找出工程项目J2所使用的各种零件的名称及其数量:
SQL源码:
SELECTPNO,QTY
FROMSPJ
WHEREJNO='J2'
运行结果:
⑤.找出上海厂商供应的所有零件号码:
SQL源码:
SELECTPNO
FROMSPJ,S表
GROUPBYJNO
HAVINGAVG(QTY)>(SELECTMAX(QTY)
FROMSPJ
WHEREJNO='J1')
运行结果:
6.针对实验一创建的Student数据库进行下面的数据查询:
(1) 求不选修C语言课程的学生学号:
SQL源码:
SELECTDISTINCTsno
FROMSC,C
o=oAND
《数据库系统概论》实验报告
题目:实验一
数据库和表的基本操作和约束条件
姓名
班级
学号
日期
2010-10-10
1.实验内容和步骤结果
1.利用SQL语言创建,验证和删除规则。
(1)创建一个ssex_rule规则,将其绑定到S表的ssex性别字段上(请验证该规则生效,保证了输入的性别只能是“男”或者“女”):
FROMSPJ,P表
WHEREJNO='J1'AND
COLOR='红'AND
SPJ.JNO=P表.PNO
运行结果:
④.SQL源码:
SELECTDISTINCTJNO
FROMSPJ
WHEREJNONOTIN(
SELECTJNO
FROMSPJ,P表,S表
WHERECITY='天津'AND
COLOR='红'AND
运行结果:
5.用T-SQL语句完成下面的数据查询:
(1) P127页 第4题:
①.SQL源码:
SELECTSNO
FROMSPJ
WHEREJNO='J1'
运行结果:
②.SQL源码:
SELECTSNO
FROMSPJ
WHEREJNO='J1'AND
PNO='P1'
运行结果:
③.SQL源码:
SELECTSNO
=
(SELECTCOUNT(cno)FROMC)
)
ANDgrade>90
)
运行结:
二.实验中出现的问题以及解决方案
实验中主要问题是实验题目太多,无法在课堂上全部完成。其次,有两个题目较难,不过在老师的帮助和同学的讨论中也得到了很好的解决。
批阅者:
批阅日期:
实验成绩:
批注:
SQL源码:
SELECTJNO
FROMSPJ,S表
WHERES表.SNO=SPJ.SNOAND
S表.CITYNOTIN('天津')
运行结果:
(3)查询这样的工程:供给该工程的零件P1的平均供应量大于供给工程J1的任何一种零件的最大供应量:
SQL源码:
SELECTJNO
FROMSPJ
WHEREPNO='P1'
具体步骤:
CREATERULEssex_rule
AS
@ssexin('男','女')
GO
EXECsp_bindrule
'ssex_rule',
'S.ssex'
GO
运行结果:
(2) 删除ssex_rule规则(注意:规则已绑定到ssex表的性别字段上,需要先解除原有的绑定):
具体步骤:
①.解除原有的绑定:
ameNOTIN('C语言')
运行结果:
(2)求这样的学生姓名:该学生选修了全部课程并且其中一门课在90分以上:
SQL源码:
SELECTsname
FROMS
WHEREsnoIN(
SELECTsno
FROMSC SCX
WHERE(
(SELECTCOUNT(cno)
FROMSC SCY
WHERESCX.sno=SCY.sno)
具体步骤:图形界面在SPJ数据库下新建表,右键选择编辑前200行,再逐行输入数据。
(2)修改S表的任意一条数据:
具体操作:单击编辑前200行,直接修改需要修改的数据即可。
(3)删除S表的任意一条数据:
4.用T-SQL语句对表中的数据进行更新操作:
(8) 把全部红色零件的颜色改成蓝色:
SQL源码:
UPDATEP表
SETCOLOR='蓝'
WHERECOLOR='红';
运行结果:
(9) 由S5供给J4的零件P6改成由S3供应:
SQL源码:
UPDATESPJ
SETSNO='S3'
WHERESNO='S5'AND
JNO='J4'AND
PNO='P6';
运行结果:
(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录:
SQL源码:
DELETE
FROMS表
WHERESNO='S2'
DELETE
FROMSPJ
WHERESNO='S2'
运行结果:
(11)请将(S2,J6,P4,200)插入供应情况关系:
SQL源码:
INSERT
INTOSPJ(SNO,PNO,JNO,QTY)
VALUES('S2','J6','P4','200');
②.删除ssex_rule规则
2.利用SQL语言创建,验证和删除默认值。(10分,每小题5分)
(1)创建一个ssex_def默认对象,将其绑定到S表的ssex性别字段上,使其默认值为“男”(请验证该默认值生效):
具体步骤:
CREATEDEFAULTssex_def
AS
'男'
GO
EXECsp_bindefault
N'ssex_def',
N'S.ssex'
GO
运行结果:
(2)删除ssex_def(注意:默认对象已绑定到S表的ssex性别字段上):
具体步骤:
1解除绑定:
EXECsp_unbindefaultN'S.ssex'
GO
②删除:
3.在图形用户界面中对表中的数据进行更新操作。(6分,每小题2分)
(1)按照P75页所示数据,输入四张表中的数据:
WHERECITY='上海'AND
S表.SNO=SPJ.SNO
运行结果:
⑥.找出使用上海产的零件的工程名称:
SQL源码:
SELECTJNAME
FROMSPJ,S表,J表
WHERES表.CITY='上海'AND
S表.SNO=SPJ.SNOAND
SPJ.JNO=J表.JNO
运行结果:
⑦.找出没有使用天津产的零件的工程号码:
运行结果:
(2)P127页 第5题的1-7小题:
①.找出所有供应商的姓名和所在城市:
SQL源码:
SELECTSNAME,CITY
FROMS表
运行结果:
②.找出所有零件的名称、颜色、重量:
SQL源码:
SELECTPNAME,COLOR,WEIGHT
FROMP表
运行结果:
③.找出所有供应商S1所供应零件的名称及其数量:
S表.SNO=SPJ.SNO)
运行结果:
⑤.SQL源码:
SELECTJNO
FROMSPJ
WHEREPNO=ANY(
SELECTPNO
FROMSPJ
WHERESNO='S1')
GROUPBYJNO
HAVINGCOUNT(DISTINCTPNO)=(SELECTCOUNT(DISTINCTPNO)FROMSPJWHERESNO='S1')
SQL源码:
SELECTJNO
FROMSPJ
WHERESNO='S1'
运行结果:
④.找出工程项目J2所使用的各种零件的名称及其数量:
SQL源码:
SELECTPNO,QTY
FROMSPJ
WHEREJNO='J2'
运行结果:
⑤.找出上海厂商供应的所有零件号码:
SQL源码:
SELECTPNO
FROMSPJ,S表
GROUPBYJNO
HAVINGAVG(QTY)>(SELECTMAX(QTY)
FROMSPJ
WHEREJNO='J1')
运行结果:
6.针对实验一创建的Student数据库进行下面的数据查询:
(1) 求不选修C语言课程的学生学号:
SQL源码:
SELECTDISTINCTsno
FROMSC,C
o=oAND
《数据库系统概论》实验报告
题目:实验一
数据库和表的基本操作和约束条件
姓名
班级
学号
日期
2010-10-10
1.实验内容和步骤结果
1.利用SQL语言创建,验证和删除规则。
(1)创建一个ssex_rule规则,将其绑定到S表的ssex性别字段上(请验证该规则生效,保证了输入的性别只能是“男”或者“女”):
FROMSPJ,P表
WHEREJNO='J1'AND
COLOR='红'AND
SPJ.JNO=P表.PNO
运行结果:
④.SQL源码:
SELECTDISTINCTJNO
FROMSPJ
WHEREJNONOTIN(
SELECTJNO
FROMSPJ,P表,S表
WHERECITY='天津'AND
COLOR='红'AND
运行结果:
5.用T-SQL语句完成下面的数据查询:
(1) P127页 第4题:
①.SQL源码:
SELECTSNO
FROMSPJ
WHEREJNO='J1'
运行结果:
②.SQL源码:
SELECTSNO
FROMSPJ
WHEREJNO='J1'AND
PNO='P1'
运行结果:
③.SQL源码:
SELECTSNO
=
(SELECTCOUNT(cno)FROMC)
)
ANDgrade>90
)
运行结:
二.实验中出现的问题以及解决方案
实验中主要问题是实验题目太多,无法在课堂上全部完成。其次,有两个题目较难,不过在老师的帮助和同学的讨论中也得到了很好的解决。
批阅者:
批阅日期:
实验成绩:
批注:
SQL源码:
SELECTJNO
FROMSPJ,S表
WHERES表.SNO=SPJ.SNOAND
S表.CITYNOTIN('天津')
运行结果:
(3)查询这样的工程:供给该工程的零件P1的平均供应量大于供给工程J1的任何一种零件的最大供应量:
SQL源码:
SELECTJNO
FROMSPJ
WHEREPNO='P1'
具体步骤:
CREATERULEssex_rule
AS
@ssexin('男','女')
GO
EXECsp_bindrule
'ssex_rule',
'S.ssex'
GO
运行结果:
(2) 删除ssex_rule规则(注意:规则已绑定到ssex表的性别字段上,需要先解除原有的绑定):
具体步骤:
①.解除原有的绑定:
ameNOTIN('C语言')
运行结果:
(2)求这样的学生姓名:该学生选修了全部课程并且其中一门课在90分以上:
SQL源码:
SELECTsname
FROMS
WHEREsnoIN(
SELECTsno
FROMSC SCX
WHERE(
(SELECTCOUNT(cno)
FROMSC SCY
WHERESCX.sno=SCY.sno)
具体步骤:图形界面在SPJ数据库下新建表,右键选择编辑前200行,再逐行输入数据。
(2)修改S表的任意一条数据:
具体操作:单击编辑前200行,直接修改需要修改的数据即可。
(3)删除S表的任意一条数据:
4.用T-SQL语句对表中的数据进行更新操作:
(8) 把全部红色零件的颜色改成蓝色:
SQL源码:
UPDATEP表
SETCOLOR='蓝'
WHERECOLOR='红';
运行结果:
(9) 由S5供给J4的零件P6改成由S3供应:
SQL源码:
UPDATESPJ
SETSNO='S3'
WHERESNO='S5'AND
JNO='J4'AND
PNO='P6';
运行结果:
(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录:
SQL源码:
DELETE
FROMS表
WHERESNO='S2'
DELETE
FROMSPJ
WHERESNO='S2'
运行结果:
(11)请将(S2,J6,P4,200)插入供应情况关系:
SQL源码:
INSERT
INTOSPJ(SNO,PNO,JNO,QTY)
VALUES('S2','J6','P4','200');
②.删除ssex_rule规则
2.利用SQL语言创建,验证和删除默认值。(10分,每小题5分)
(1)创建一个ssex_def默认对象,将其绑定到S表的ssex性别字段上,使其默认值为“男”(请验证该默认值生效):
具体步骤:
CREATEDEFAULTssex_def
AS
'男'
GO
EXECsp_bindefault
N'ssex_def',
N'S.ssex'
GO
运行结果:
(2)删除ssex_def(注意:默认对象已绑定到S表的ssex性别字段上):
具体步骤:
1解除绑定:
EXECsp_unbindefaultN'S.ssex'
GO
②删除:
3.在图形用户界面中对表中的数据进行更新操作。(6分,每小题2分)
(1)按照P75页所示数据,输入四张表中的数据:
WHERECITY='上海'AND
S表.SNO=SPJ.SNO
运行结果:
⑥.找出使用上海产的零件的工程名称:
SQL源码:
SELECTJNAME
FROMSPJ,S表,J表
WHERES表.CITY='上海'AND
S表.SNO=SPJ.SNOAND
SPJ.JNO=J表.JNO
运行结果:
⑦.找出没有使用天津产的零件的工程号码:
运行结果:
(2)P127页 第5题的1-7小题:
①.找出所有供应商的姓名和所在城市:
SQL源码:
SELECTSNAME,CITY
FROMS表
运行结果:
②.找出所有零件的名称、颜色、重量:
SQL源码:
SELECTPNAME,COLOR,WEIGHT
FROMP表
运行结果:
③.找出所有供应商S1所供应零件的名称及其数量: