数据库平时上机实验报告.docx

上传人:小飞机 文档编号:3560044 上传时间:2023-03-13 格式:DOCX 页数:8 大小:39.85KB
返回 下载 相关 举报
数据库平时上机实验报告.docx_第1页
第1页 / 共8页
数据库平时上机实验报告.docx_第2页
第2页 / 共8页
数据库平时上机实验报告.docx_第3页
第3页 / 共8页
数据库平时上机实验报告.docx_第4页
第4页 / 共8页
数据库平时上机实验报告.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数据库平时上机实验报告.docx》由会员分享,可在线阅读,更多相关《数据库平时上机实验报告.docx(8页珍藏版)》请在三一办公上搜索。

1、数据库平时上机实验报告实验一数据库的定义和建立实验 一、实验目的 要求学生熟练掌握和使用TSQLSQL Server企业管理器创建数据库基本表视图索引和修改表结构,及向数据库输入数据的操作;学会创建和使用表的主外码和约束。 二、实验内容 本实验针对上述两个题目分别完成以下相应任务: 1创建相应的数据库和查看数据库属性; 2创建基本表确定表的主码和相应的约束,为主码建索引; 3创建查看视图; 4创建表之间的关联; 5利用TSQL和SQL Server企业管理器向数据库输入数据。 二、SQL语句 创建基本表确定表的主码和相应的约束,为主码建索引; 1、 CREATE TABLE S /建立S表 (

2、SNO CHAR(2) UNIQUE SNAME CHAR(6) STATUS CHAR(2) CITY CHAR(4) PRIMARY KEY(SNO) /确定主码SNO CREATE UNIQUE INDEXS1 ON S(SNO ASC)/为主码SNO建立索引 2、 CREATE TABLEP /建立P表 (PNO CHAR(2) UNIQUE PNAME CHAR(6) COLOR CHAR(2) WEIGHT SMALLINT PRIMARY KEY(PNO) /确定主码PNO CREATE UNIQUE INDEXP1 ON P(PNO ASC)/为主码PNO建立索引 3、 CRE

3、ATE TABLEJ /建立J表 (JNO CHAR(2) UNIQUE JNAME CHAR(8) CITY CHAR(4) PRIMARY KEY(JNO) /确定主码JNO CREATE UNIQUE INDEXJ1 ON J(JNO ASC)/为主码JNO建立索引 4、 CREATE TABLESPJ /建立SPJ表 (SNO CHAR(2) UNIQUE JNO CHAR(2) PNO CHAR(2) CITY CHAR(4) QTY INT PRIMARY KEY(SNO,JNO,PNO) /确定主码 CREATE UNIQUE INDEXSPJ1 ON SPJ(SNO ASC)

4、四思考题 1为什么要建立索引?在你的数据库中建立多少索引合适? 答:使用索引可以明显地加快数据查询的速度;使用索引可以保证数据的唯一性;可以加快连接速度。索引的个数应该由所要建立的数据库内部关系来确定,不宜过多,越精越好。对于此次实验中的选课数据库只需要建立四个。 2索引和视图能否修改吗?为什么? 答:可以 3为什么不能随意删除被参考表中的主码? 答:数据库中,主码在于实施所谓的实体完整性,各个表之间由码进行联系,不能随意删除被参照表中的主码。 实验二数据库的查询实验 一实验目的 要求学生掌握SQL Server查询分析器和TSQL语言的使用方法,熟练掌握和使用简单表的数据查询数据排序和数据连

5、接查询嵌套查询等操作方法, 二实验内容 用TSQL语言表示以下操作: 题目1 实验内容: 1. 检索上海产的零件的工程名称; 2. 检索供应工程J1零件P1的供应商号SNO; 3. 检索供应工程J1零件为红色的供应商号SNO; 4. 检索没有使用天津生产的红色零件的工程号JNO; 5. 检索至少用了供应商S1所供应的全部零件的工程号JNO; 6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数量QTY降序排列。 三、SQL语句 1、SELECT JNAME FROM SPJ,S,J WHERE S.SNO=SPJ.SNO AND S.CITY=上海 AND J.JNO

6、=SPJ.JNO 2、SELECTSNO FROMSPJ WHEREJNO=J1ANDPNO=P1 3、SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=红 4、SELECTJNO FROMSPJ WHEREJNONOTIN(SELECTJNOFROMSPJ,P,S WHERES.CITY=天津ANDCOLOR=红 ANDS.SNO=SPJ.SNOANDP.PNO=SPJ.PNO) 5、SELECT PNO FROM SPJ WHERE SNO=S1 SELECT JNO FROM SPJ WHERE PNO=P1 A

7、ND JNO IN(SELECT JNO FROM SPJ WHERE PNO=P2) 6、SELECT JNO,QTY FROM SPJ WHERE PNO=P1 ORDERBY QTY DESC 四思考题 1. 如何提高数据查询和连接速度。 答:建立视图 2. 试比较连接查询和嵌套查询 答:有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比嵌套查询高出很多;当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造具有结构化程序设计的优点,但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运

8、算。实验三数据库的维护实验 一实验目的 要求学生熟练使用和掌握数据库的维护操作,包含数据的插入、检索、修改,掌握SQL Server中用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器。 二实验内容 用TSQL语言表示以下操作: 题目1实验内容: 1 把全部红色零件颜色改为粉红色; 2 由S1供给J1的零件P1今改为由S2供应,作必要修改; 3 删去全部蓝色零件及相应的SPJ记录; 4 把全部螺母的重量置为0; 5 为SPJ表的QTY字段设计CHECK约束:0 QTY1000; 6 实现对SPJ表的操作权限管理的使用。 三、SQL语句 1、UPDATE P SET COLOR=粉

9、红 WHERE PNO IN (SELECT PNO FROM P WHERE COLOR=红) 2、UPDATE SPJ SET SNO=S2 WHERE SNO=S1 AND JNO=J1 AND PNO=P1 3、DELETE FROMP WHERECOLOR=蓝 DELETE FROMSPJ WHEREPNO=P3ORPNO=P5 4、UPDATEP SETWEIGHT=0 WHEREPNAME=螺母 5、 CREAT TABLE SPJ SNO CHAR(2) PNO CHAR(2) JNO CHAR(2) QTY INT CHECK(0QTY30 2、SELECT P.PNAME

10、,SPJ.QTY FROM P,SPJ WHERE P.PNO=SPJ.PNO AND JNO=J2 3、SELECT JNO,SUM(QTY) FROM SPJ GROUPBY JNO ORDERBY JNO ASC 4、SELECT SNO,PNO,JNO,QTY FROM SPJ GROUPBY SNO,PNO,JNO,QTY ORDERBY JNO ASC 四思考题 1. 统计函数和分组统计函数有什么不同? 答:统计函数是按某种要求,对某个属性的一列值进行计算,对数值进行整合,而分组统计函数是将查询结果按某一列或多列的值分组,值相等的为一组。目的是为了细化聚集函数的作用对象。分组后聚集函数将作用于每一个组,即每一组都有一个函数值。 2. 使用GROUP BY 子句后,语句中的统计函数的运行结果有什么不同? 答:如果未对查询结果分组,聚集函数将作用于整个查询结果,分组后聚集函数将作用于每一个组,即每一个组都有一个函数值。

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号