最新数据库管理系统实验报告含答案

上传人:无*** 文档编号:85542384 上传时间:2022-05-05 格式:DOC 页数:7 大小:60KB
返回 下载 相关 举报
最新数据库管理系统实验报告含答案_第1页
第1页 / 共7页
最新数据库管理系统实验报告含答案_第2页
第2页 / 共7页
最新数据库管理系统实验报告含答案_第3页
第3页 / 共7页
点击查看更多>>
资源描述
纺织大学最新数据库管理系统课程实验报告_:实验时间:年 月 日 指导教师:_一、实验目的1、通过实验,使学生全面了解最新数据库管理系统的基本容、基本原理。2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。二、实验容1导入实验用示例数据库:f:教学库.mdff:教学库_log.ldff:仓库库存.mdff:仓库库存_log.ldf1.1 将数据库导入在SqlServer 2005 导入已有的数据库*.mdf文件,在SQL Server Management Studio里连接上数据库后,选择新建查询,然后执行语句EXEC sp_attach_db dbname = 教学库, filename1 = f:教学库.mdf, filename2 = f:教学库_log.ldf gouse 教学库EXEC sp_changedbowner sagoEXEC sp_attach_db dbname = 仓库库存, filename1 = f:仓库库存.mdf, filename2 = f:仓库库存_log.ldfgo use 仓库库存EXEC sp_changedbowner sago1.2 可能出现问题附加数据库出现无法打开物理文件 X.mdf。操作系统错误 5:5。 。解决:找到要附加的.mdf文件-右键-属性-安全-选择当前用户-编辑-完全控制。对.log文件进行相同的处理。2删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。CREATE DATABASE仓库库存LOG ON 2.1 在数据库仓库库存中完成下列操作。创建商品表,表结构如表1:表1 商品表列名数据类型长度是否允许为空值说明商品编号Char6NOT NULL主键商品名称Varchar20NOT NULL,单价Float生产商Varchar30创建仓库表,表结构如表2:表2 仓库表列名数据类型长度是否允许为空值说明仓库编号Char3NOT NUL主键仓库地址Varchar20NOT NULL创建库存情况表,表结构如表3:表3 库存情况表列名数据类型长度是否允许为空值说明仓库编号Char3NOT NULL主键商品编号Char6NOT NUL主键数量int1USE仓库库存GOCREATE TABLE 商品 商品编号 char NOT NULL PRIMARY KEY,商品名称 char NOT NULL,单价 Float,生产商Varchar30 2,3略。2.2 建立商品表、仓库表和库存情况表三表之间的关系图。2.3分别给商品表、仓库表和库存情况表添加数据。3数据库查询.3.1 试用SQL的查询语句实现下列查询:1统计有学生选修的课程门数。答:SELECT COUNT FROM 选课2求选修C004课程的学生的平均年龄。答:SELECT AVG FROM 学生,选课WHERE学生.学生号=选课.学生号 and 课程号=C0043求学分为3的每门课程的学生平均成绩。答:SELECT 课程.课程号,AVG FROM 课程,选课WHERE 课程.课程号=选课.课程号and 学分=3GROUP BY 课程.课程号4统计每门课程的学生选修人数,超过3人的课程才统计。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。答:SELECT 课程号,COUNT FROM 选课GROUP BY 课程号HAVING COUNT 3ORDER BY COUNT DESC, 课程号5检索学号比王明同学大,而年龄比他小的学生。答:SELECTFROM 学生WHERE 学生号and 年龄6检索以王打头的所有学生的和年龄。答:SELECT ,年龄 FROM 学生 WHERE LIKE 王%7在选课表中检索成绩为空值的学生学号和课程号。答:SELECT 学生号,课程号 FROM 选课 WHERE 成绩 IS NULL8求年龄大于女同学平均年龄的男学生和年龄。答:SELECT ,年龄 FROM 学生WHERE 性别=男 and 年龄 SELECT AVG FROM 学生WHERE 性别=女 9求年龄大于所有女同学年龄的男学生和年龄。答:SELECT ,年龄 FROM 学生WHERE 性别=男 and 年龄 all 10检索所有比王明年龄大的学生、年龄和性别。答:SELECT ,年龄,性别 FROM 学生WHERE 年龄 11检索选修课程C001的学生中成绩最高的学生的学号。答:SELECT 学生号 FROM 选课WHERE 课程号=C001 and 成绩=SELECT MAX FROM选课 WHERE课程号=C00112检索学生及其所选修课程的课程号和成绩。答:SELECT , 课程号, 成绩 FROM 学生,选课 WHERE学生.学生号=选课.学生号13检索选修2门以上课程的学生总成绩,并要求按总成绩的降序排列出来。答:SELECT 学生号,SUM FROM 选课WHERE 成绩=60GROUP BY学生号HAVING COUNT=2ORDER BY SUM DESC3.2 利用控制流语句,查询学生号为0101001的学生的各科成绩,如果没有这个学生的成绩,就显示此学生无成绩。答:IF EXISTS SELECT 课程号,成绩 FROM 选课WHERE 学生号=0101001ELSE PRINT 此学生无成绩3.3 用函数实现:求某个专业选修了某门课的学生人数。答:CREATE FUNCTION renshup char,cn char RETURNS floatASBEGIN DECLARE cou float SELECT cou= SELECT count FROM 学生,选课 WHERE学生.学生号=选课.学生号 and课程号=cnand 专业=p RETURN cou END3.4 用函数实现:查询某个专业所有学生所选的每门课的平均成绩。答:CREATE FUNCTION average p char RETURNS floatASBEGIN DECLARE aver float SELECT aver= SELECT课程号,avg FROM 学生,选课 WHERE学生.学生号=选课.学生号 and 专业=pGROUP BY 课程号 RETURN aver END3.5 针对仓库库存中的商品表,查询商品的价格等级,商品号、商品名和价格等级单价1000元以为低价商品,10003000元为中等价位商品,3000元以上为高价商品。答:SELECT商品编号, 商品名称, CASE WHEN 单价1000 then 低价商品 WHEN 单价=3000 then 高价商品END AS 价格等级FROM 商品4视图与索引4.1在SQL Server Management Studio中创建一个仓库库存信息视图,要求包含仓库库存数据库中三个表的所有列。答:略。4.2 利用T-SQL语句创建一个查询每个学生的平均成绩的视图,要求包含学生的学生号和。答:CREATE VIEW 学生_平均成绩ASSELECT 学生.学生号,avg AS平均成绩FROM 学生,选课WHERE 学生.学生号=选课.学生号 GROUP BY学生.学生号,4.3 在SQL Server Management Studio中按照选课表的成绩列升序创建一个普通索引非唯一、非聚集。答:略。4.4 利用T-SQL语句按照商品表的单价列降序创建一个普通索引。答:CREATE INDEX index_商品单价ON 商品5存储过程、触发器和游标5.1 创建存储过程,计算指定学生的总成绩,存储过程中使用一个输入参数和一个输出参数。答:CREATE PROCEDURE Sname S_n varchar, sum1 int OUTPUTASSELECT sum1= sum FROM 选课,学生WHERE=S_nand 学生.学生号=选课.学生号5.2 在教学库中建一个学生党费表,属性学生号,党费,学生号是主键,也是外键参考学生表的学生号;创建一个触发器,保证只能在每年的6月和12月交党费,如果在其它时间录入则显示提示信息。答:CREATE TABLE 学生党费表学生号 CHAR7 primary key foreign key references 学生, char,党费 intCREATE TRIGGER trg_学生党费表on 学生党费表 for insertASif notdatepartmm,getdate=06 or datepartmm,getdate=12BEGINprint对不起,只能在每年的6月和12月交党费rollbackEND6事务与并发控制6.1 创建一个事务,将所有女生的考试成绩都加5分,并提交。答:BEGIN TRANSACTION USE 教学库UPDATE 选课SET 成绩=成绩+5WHERE 学生号 in COMMIT TRANSACTION6.2 创建一个事务,向商品表中添加一条记录,设置保存点;再将商品编号为ds-001的单价改为2000。答:BEGIN TRANSACTION USE 仓库库存INSERT INTO 商品VALUESSAVE TRAN savepointUPDATE 商品 SET 单价=2000WHERE 商品编号= ds-001COMMIT7 / 7
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!