实验五 数据库系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五数据库系统设计(上机时间6课时)
班级:通信1411 学号:141003410114姓名:李楠
合作成员刘蕾
1.实验目的:理要求学生掌握数据库设计的基本技术。熟悉数据库设计的每个步骤中的任务和实施方法,
并加深对数据库系统概念和特点的理解。
2.实验内容:
学生可根据自己熟悉的信息自选一个小型的数据库应用项目,进行系统分析和数据库设计。例如选择选修课管理系统、学生住宿管理系统、图书管理系统、材料管理系统或仓库管理系统等。
3.实验要求:
●要求起草数据库设计的关键步骤内容,至少包括:
⏹需求分析:分析用户种类及各自的功能要求;涉及主要数据实体及内容。系统设计的任务及主
要目标等。
⏹完成实体建模并画出E-R图
⏹起草数据字典
⏹描述将关系表规范化至第三范式3NF的过程
⏹构建并描述实体与实体关系
●查阅有关书籍,熟悉MS SQL Server 2005,运用Microsoft SQL Server Management Studio Express在
MS SQL Server 2005上创建数据库。
●运用Microsoft SQL Server Management Studio Express在MS SQL Server 2005上创建数据库基本表,
得到SQL脚本源码。(可以编写SQL DDL语句脚本源码,然后执行脚本创建基本表;也可以在Studio 中可视化创建基本表然后导出SQL脚本)。SQL脚本源码以文件名EXP5-1.sql存储上传。
●运用Microsoft SQL Server Management Studio Express在编写SQL脚本,实现需求分析中各种用户需
要的数据库记录添加、记录修改、记录查询功能并将SQL脚本源码以文件名EXP5-2.sql存储上传。
将相应操作结果以文件名EXP5-3.txt存储上传。
●允许有2人以内的小组合作,组与组之间数据字典、表名、属性名完全雷同视同抄袭;同学之间实
验运行结果完全雷同视同抄袭。
4.实验报告内容:
1.需求分析过程
流程:学生到学生选课系统进行选修课程,查看选修课程的课程信息,选课的老师信息,以及所选的课程号。如果学生要选某个课程,则要查询这门课程的教学老师以及它是否已经被选满;如果学生要查询所选课程的选课成绩,则要查询这门的教学老师;如果学生需要重新选课,则要求先退选所选的课程。
功能:实现学生的选课,重新退订选课,查询课程成绩。
2.E-R图
3.数据字典
(1)数据项:
表1-1学生基本信息表
(2)数据结构
表2-1数据结构表
(3)数据流
(4)数据存储:
(5)处理过程
4.关系转化
4.1 将E-R图转化为关系模式
由于概念设计的结果是ER图,DBMS一般采用关系模型,因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义。
1、学生(学号,姓名,性别,年龄,班级,所在系号,密码)
2、教师(教师号,姓名,班级,系别,密码)
3、课程(课程号,课程名,系名,学分,开课时间,课程表)
4、管理员(用户名,密码,登陆类型)
4.2数据模型的优化
将转化的关系模式进行优化,最终达到第三范式。
优化后的关系模式如下:
1、学生(学号,姓名,性别,年龄,班级,所在系号,备注)
2、教师(教师号,姓名,班级,系别,备注)
3、课程(课程号,课程名,系名,学分,开课时间,课程表)
4、管理员(用户名,密码,登陆类型)
5.建表
创建学生基本表SQL语句
学生基本信息结构图专业基本信息结构图
选课基本信息结构图授课基本信息结构图
6.实践
(1)增加信息
select*from Table_1
insertinto Table_1values('1003','cccc','女','21','3333','edr')
学生部分基本信息数据表
select*from Table_2
insertinto Table_2values('1002','dffg','女','40','1234')
教师部分基本信息数据表
select*from Table_3
insertinto Table_3values('1003','wlaq','4')
课程基本信息数据表
select*from Table_4
insertinto Table_4values('1005','105','40')
授课基本信息数据表
select*from Table_5
insertinto Table_5values('1002','1001','79')
选课基本信息数据表
insertinto Table_1values('1006','erty','女','21','8888','rgy')
(2)修改信息
update Table_1set tcode=7777 where tno='1001'
(3)查询信息
select*from Table_1