数据库设计报告.doc
- 文档编号:30807207
- 上传时间:2024-01-30
- 格式:DOC
- 页数:20
- 大小:911.04KB
数据库设计报告.doc
《数据库设计报告.doc》由会员分享,可在线阅读,更多相关《数据库设计报告.doc(20页珍藏版)》请在冰豆网上搜索。
实训实习报告
项目:
数据库课程设计
姓名:
专业:
信息管理与信息系统
班级:
信息系统1202
学号:
指导教师:
完成时间:
2014-7-11
实训实习报告
课程
名称
数据库课程设计
课程代码
09120352
实训地点
67E403
姓名
孟冬青
专业班级
信息系统1202
学
号
201206012024
时间
2014年6月30日
一、实训目的:
数据库课程设计实验是一门独立开设的实验课程。
数据库课程设计实验对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
本课程设计实验主要围绕两方面内容:
数据库设计和基本数据库编程实践。
通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和开发技术。
1.掌握数据库设计的基本方法,熟悉数据库设计的步骤;
2.通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;
3.学习数据库应用系统开发方法。
培养学生初步的软件设计能力,形成良好的编程风格。
二、实训内容:
(可根据内容增加或另附页)
1.系统分析与数据库设计阶段
(1)选择一个实际应用数据库系统的课题。
建议通过社会调查获得用户需求,
(2)进行系统需求分析和系统设计,写出系统分析和设计报告。
(3)设计数据模型并进行优化,确定数据库结构、功能结构和系统安全性和完整性要求。
2.应用程序设计阶段
(1)完成数据库定义工作,实现系统数据的数据处理和数据录入。
(2)实现应用程序的设计、编程、优化功能,实现数据安全性、数据完整性等功能,并针对具体课题问题提出解决方法。
3.系统集成调试阶段
对系统的各个应用程序进行集成和调试,进一步优化系统性能,改善系统用户界面。
4.课程设计报告撰写阶段
该阶段应完成以下文档资料的撰写:
(1)课程设计的题目、系统的总功能和各子模块的功能。
(2)系统的总功能和各子模块功能构成和描述。
(3)E-R图、主要界面设计图、程序处理流程图等。
(4)使用的数据库表结构的详细情况。
(5)课程设计的总结,主要包括以下内容。
课程设计中遇到的主要问题和解决方法。
创新和得意之处。
课程设计中存在的不足,需进一步改进的设想。
课程设计的感想和心得体会。
以上内容要求干净整洁,符合课程设计的要求和规范。
实训题目:
学生选课系统
实训要求:
系统功能基本要求:
教师信息,包括教师编号、教师姓名、性别、年龄、学历、职称、毕业院校,健康状况等。
学生信息,包括学号、姓名、所属院系、已选课情况等。
教室信息,包括,可容纳人数、空闲时间等。
选课信息,包括课程编号、课程名称、任课教师、选课的学生情况等。
成绩信息,包括课程编号、课程名称、学分、成绩。
按一定条件可以查询,并将结果打印输出。
课程设计报告:
1.需求分析
1.1系统需求:
用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。
这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。
而前台显示部分,应具有人性化的界面,方便用户操作。
因各个学校的实际情况不同,系统应该具有兼容性。
例如:
一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。
系统需要同时处理很大的数据量,这时系统不会因此崩溃。
此外,系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。
非合法用户不能对数据进行操作.
1.2功能需求;
通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。
特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息:
(1)学生的需求:
能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;
(2)教师的需求:
能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;
(3)管理员的需求:
对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
管理员还可以对授课老师的信息进行管理.
1.3系统功能模块图
1.4数据字典:
教师:
列名
数据类型
是否允许空
备注
教师编号
Char(10)
否
主键
教师姓名
Char(10)
否
教师性别
Char(10)
否
教师年龄
Char(10)
是
所在院系
Char(10)
是
学生:
列名
数据类型
是否允许空
备注
学生学号
Char(10)
否
主键
学生姓名
Char(10)
否
学生年龄
Char(10)
否
所在系部
Char(10)
否
学生性别
Char(10)
教室:
列名
数据类型
是否允许空
备注
教室编号
Char(10)
否
主键
可纳人数
Char(10)
否
空闲时间
Char(10)
否
课程:
列名
数据类型
是否允许空
备注
课程号
Char(10)
否
主键
教师编号
Char(10)
否
学生编号
Char(10)
否
教室号
Char(10)
否
成绩:
列名
数据类型
是否允许空
备注
学号
Char(10)
否
主键
教师编号
Char(10)
否
课程名
Char(10)
成绩
Char(10)
否
学分
Char(10)
否
2概念结构设计
2.1部分E-R图:
学生;
学生
学号
姓名
性别
年龄
系部
教师;
..教师
编号
姓名
性别
院系
年龄
教室:
教室
教室编号
可容纳人数
空闲时间
选课:
课程
课程编号
教室编号
教师编号
学号
成绩:
成绩
课程编号
课程名称
学分
课程成绩
学号
2.2全局E-R图:
学生
选修
课程
教师
教授
教室
授课
属于
成绩
考试
n
1
1
n
n
1
n
n
m
n
3逻辑结构设计
根据需求分析中的E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化
3.1教师课程概念模型向关系模型的转化
教师(工号,教师姓名,性别,年龄,身份,密码,课程号)
课程(课程编号,课程名称,任课教师,选课的学生情况)
学生(学号,姓名,性别,年龄,密码,系部)
教室(教室编号,可容纳人数,空闲时间)
成绩(课程编号,课程名称,学分,成绩)
3.2确定范式级别
根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF
4数据库的实施和维护
4.1用管理语句创建数据库:
4.11创建表:
创建成绩表
CREATETABLE[dbo].[成绩](
[学生学号][nchar](10)NOTNULL,
[教师编号][nchar](10)NOTNULL,
[课程名][nchar](10)NOTNULL,
[成绩][nchar](10)NOTNULL,
[学分][nchar](10)NOTNULL,
CONSTRAINT[PK_成绩]PRIMARYKEYCLUSTERED
教师表
CREATETABLE[dbo].[教师](
[教师编号][nchar](10)NOTNULL,
[教师姓名][nchar](10)NOTNULL,
[教师性别][nchar](10)NOTNULL,
[教师年龄][nchar](10)NOTNULL,
[所在院系][nchar](10)NOTNULL,
CONSTRAINT[PK_教师]PRIMARYKEYCLUSTERED
教室表
CREATETABLE[dbo].[教室](
[教室编号][nchar](10)NOTNULL,
[可容纳人数][nchar](10)NOTNULL,
[空闲时间][nchar](10)NOTNULL,
CONSTRAINT[PK_教室]PRIMARYKEYCLUSTERED
课程表
CREATETABLE[dbo].[课程](
[课程号][nchar](10)NOTNULL,
[教师编号][nchar](10)NOTNULL,
[学生编号][nchar](10)NOTNULL,
[教室号][nchar](10)NOTNULL,
CONSTRAINT[PK_课程]PRIMARYKEYCLUSTERED
学生表
CREATETABLE[dbo].[学生](
[学生学号][nchar](10)NOTNULL,
[学生姓名][nchar](10)NOTNULL,
[学生性别][nchar](10)NOTNULL,
[学生年龄][nchar](10)NOTNULL,
[所在院系][nchar](10)NOTNULL,
CONSTRAINT[PK_学生]PRIMARYKEYCLUSTERED
4.2创建数据库关系图
4.3录入信息
4.31成绩表
教师表
教室表
课程表
学生表
3.4查询数据库:
3.41查询性别为“女”得学生:
select*
from学生
where学生性别='女'
查询名字叫“张璐”的学生:
select*
from学生
where学生姓名='张璐'
删除学号为“20120603”的学生:
delete
from学生
where学生学号='20120603'
插入一名名叫“董冬冬”的教师:
insertinto教师(教师编号,教师姓名,教师性别,教师年龄,所在院系)
values('006','董冬冬','男','35','商学院')
更新学生姓名,把李芳改为王阳:
update学生
set学生姓名='王阳'
where学生姓名='李芳'
学生成绩由小到大排序:
select成绩,MAX('成绩'),MIN('成绩')
from成绩,学生
where成绩.学生学号=学生.学生学号
groupby成绩
go
查询学生成绩小于80的学生
selectdistinct学生姓名from成绩,学生where成绩<80
查询在03号教室上课的课程号,教师编号以及学生编号
select课程号,教师编号,学生编号
from课程
where教室号='03'
求学生的平均成绩和学号以及课程名:
selectround(avg(成绩),2)as平均成绩,学生学号,课程名
from成绩
groupby成绩.学生学号,课程名
4.5创建视图:
视图查询:
查询学号为20120601的学生:
use学生选课数据库
go
select*
fromView_1
whereView_1.学生学号='20120601'
5数据库安全性:
结论:
通过这次实验,让我对sqlserver2008的使用更加熟悉了,同时也加深了我对课本上数据库知识的理解,这次实验可以说是我第一次完成的一个整体的数据库实验。
此次实验中,我完成了从概念设计到逻辑设计,也就是完成了ER图的设计并完成了向关系模型的转换,完成了数据库的建立、表的建立、视图的创建,最后还完成了表之间的关系图。
一个数据库的创建首先要对客户的需求进行充分的分析,找出创建数据库所需的实体和实体间的关系画出E-R图,确定要创建的表的数量和每张表的属性、主键和外键。
在动手实验的过程中我遇到很多困难,比如如何删除表中的数据但不保留到日志文件中,数据的不普遍性所造成的查询等操作的空表等等,但是正是这些问题才让我学到了更多,同时也享受到了解决问题后的喜悦。
更重要的是,我对数据库产生了浓厚的兴趣,相信以后会把学到的东西应用到实践中去的。
不足:
不足就是由于我们对数据库知识的掌握有限和不牢固,角色和视图的创建没有想象中的完美,备份和还原也只是初步的形成,以致学生选课管理系统只是达到了基本要求,有待进一步改善,希望老师给予批评
三、实训总结:
通过这次的课程设计实验课,我发现自己对数据库课程的兴趣有了很大提高,而且随着在实验不断地进行,不断地进行修改,对直接从学习课本的知识有了更多了解并有了一定的掌握,通过实验我懂得了如何创建库、表,增,删,改,查也更为熟练。
对与整体有个全面的提高。
以前学完后总是断断续续的,连接感比较弱,现在可以做好细节了。
在自己没做数据库课程设计以前,总是觉得自己一定又很多都不会,但是现在做出来了,所以我觉得自己还是有能力做一些实操作方面的东西。
总之,通过这次的课程设计,算是为自己的数据库的学习进行整体的总结,也为以后学习数据库类的知识打下了基础。
教师:
李海梅成绩:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 设计 报告