《数据库与SQLServer》教学实习报告.doc
-
资源ID:2395120
资源大小:703.50KB
全文页数:20页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
《数据库与SQLServer》教学实习报告.doc
天津农学院计算机科学与信息工程系数据库与SQL Server教学实习报告 目 录1 内容简介12 需求分析12.1 组织结构分析12.2 业务流程分析22.3 数据处理分析32.4 其他各种限制和要求分析53 概念模型设计53.1 学生表局部E-R图53.2 教师表局部E-R图53.3 课程表局部E-R图53.4 成绩表局部E-R图63.5 全局E-R图74 逻辑设计74.1表结构74.2表联系84.3约束84.4视图84.5存储过程85 物理实现85.1 SQL语句95.2调试过程131 内容简介随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率。设计学生信息管理的数据库,要使我熟悉数据库的设计、开发过程,掌握数据库设计、开发各阶段的方法,能够根据所给条件和要求,使用SQL Server实现所设计的数据库。2 需求分析2.1 组织结构分析学生基本信息一般包括学生的学号、姓名、性别、生日、出生地、政治面目、毕业院校、原籍住址、联系方式、所在系、所在专业、所在的班、学习成绩等。学生的学习成绩主要包括学习的课程以及各个课程的成绩。学习的课程一般包括课程的课程号、课程名、所教授这门课程的老师。老师的信息一般包括老师的工号、姓名、年龄、性别、所在的院系。2.2 业务流程分析图1 业务流程分析图否是开始建立数据库学生信息管理系统建立或修改学生、教师、课程、成绩表建立或修改各表存储数据的存储过程建立或修改各表的约束和触发器进行调试是否达到要求?有无逻辑错误?往四个表里输入数据建立查看成绩视图结束2.3 数据处理分析查看教师信息课程信息成绩信息学生信息教务人员学生教师成绩课程录入学生信息录入成绩信息录入课程信息录入教师信息图2 数据流图表1 学生表的数据字典字段数据类型宽度是否空值备注学号Char20否主键姓名Nvarchar50否性别Nvarchar10否男或女出生年月Datetime否出生地Nvarchar50否政治面目Nvarchar10否毕业院校Nvarchar50否原籍住址Nvarchar50否系别Nvarchar50否专业Nvarchar50否班级Nvarchar50否宿舍Nvarchar50否联系方式Char20否是否有处分奖励Nvarchar10否是否担任过班委Nvarchar10否备注Text是表2 教师表的数据字典字段数据类型宽度是否空值备注教师号Char10否主键教师名Nvarchar50否年龄Char5否性别Nvarchar10否男或女所在院系Nvarchar50否备注Text是表3 课程表的数据字典字段数据类型宽度是否空值备注课程号Char10否主键课程名Nvarchar50否学分Char5否教师号Char10否外键备注Text是表4 成绩表的数据字典字段数据类型宽度是否空值备注学号Char20否外键当主键课程号Char10否外键当主键成绩Char10否数值0-100备注Text是2.4 其他各种限制和要求分析如果删除学生表中记录的话,同时删除成绩表中相应的记录。3 概念模型设计3.1 学生表局部E-R图图3 学生表局部E-R图学生性别政治面目出生年月学号专业出生地系别班级原籍住址联系方式宿舍姓名是否有处分奖励毕业院校是否担任过班委3.2 教师表局部E-R图图4 教师表局部E-R图教师教师号教师名年龄性别所在院系3.3 课程表局部E-R图图5 课程表局部E-R图课程课程号课程名学分教师号3.4 成绩表局部E-R图图6 成绩表局部E-R图成绩学号课程号碜成绩3.5 全局E-R图选课教授学生性别政治面目出生年月学号专业出生地系别联系方式宿舍姓名毕业院校是否担任过班委原籍住址是否有处分奖励班级成绩学号课程号碜成绩课程课程号课程名学分教师号教师教师号教师名年龄性别所在院系图7 全局E-R图4 逻辑设计4.1表结构学生(学号,姓名,性别,出生年月,出生地,政治面目,毕业院校,原籍住址,系别,班级,宿舍,联系方式,是否有过处分奖励,是否担任过班委,备注) 主键:学号教师(教师号,教师名,年龄,性别,所在院系,备注) 主键:教师号课程(课程号,课程名,学分,教师号,备注) 主键:课程号 外键:教师号成绩(学号,课程号,成绩,备注) 主键:学号,课程号 外键:学号,课程号4.2表联系课程表依赖于教师表。成绩表依赖于课程表。成绩表依赖于学生表。4.3约束对于性别需要check约束。对于成绩的数值范围的用触发器约束。4.4视图创建视图方便用户查询,视图的列包括学号,姓名,课程,成绩4.5存储过程为了方便各个表的输入数据,为各个表建立存储过程。又建立一个删除数据的存储过程,删除学生表中的记录会同时删除成绩表中对应的记录。5 物理实现物理实现(SQL语句),调试过程(出现了什么问题,如何改正,如何改进系统性能)。必须有开发设计过程的截图。5.1SQL语句建立数据库图8 创建数据库的SQL语句截图建立学生表图9 创建学生表的SQL语句截图建立教师表图10 创建教师表的SQL语句截图建立课程表图11 创建课程表的SQL语句截图建立成绩表图12 创建成绩表的SQL语句截图约束对于性别的check约束。constraint 性别_che check(性别 in ('男','女')。对于成绩的触发器约束图13 创建成绩的触发器约束的SQL语句截图视图图14 创建查询成绩的视图的SQL语句截图存储过程学生表存储过程图15 创建学生表添加数据的存储过程的SQL语句的截图教师表存储过程图16 创建教师表添加数据的存储过程的SQL语句截图课程表存储过程图17 创建课程表添加数据的存储过程的SQL语句的截图成绩表存储过程图18 创建成绩表添加数据的存储过程的SQL语句的截图图19 创建学生表删除数据的存储过程的SQL语句的截图5.2调试过程输入数据图20 使用各表的存储过程添加数据的SQL语句的截图对成绩的数值约束进行测试图21 成绩的触发器约束成功实现的截图查看视图是否满足要求select * from 成绩_视图显示如下:图22 视图成功实现的截图在调试学生的触发器时出现问题图23 学生表删除数据触发器的SQL语句的截图出现如图所示的问题:图24 测试触发器时发生的问题的截图成绩表引用学生表主键,那么就无法先删除学生表中的内容,除非成绩表中没有外键的引用,否则会出现外键约束错误!也就是说:要删除,必须要先删除成绩表中的内容,才可以删除学生表中的内容。所以这个问题无法用触发器实现。因为不能直接先删除A表中的内容。我想了这样一种方法:用存储过程,传入要删除的学生表中的ID,然后删除成绩表和学生表中的对应的数据。SQL语句为:create procedure 学生_proc 学号 intasdelete from 成绩 where 学号=学号delete from 学生 where 学号=学号测试的时候如下显示:图25 测试存储过程成功的截图图26 测试存储过程成功实现发的截图完成了删除。参 考 文 献 1 张龙祥 黄正端 龙军.数据库原理与设计(第二版),北京:人民邮电出版社,20072 张莉.SQL Server数据库原理及应用(第二版),北京:清华大学出版社,20093 李昆.SQL Server2000课程设计案例精编,中国水利水电出版社,2006