课程设计时间
第17周-第19周
二、课程设计目的
数据库课程设计是实践教学环节之一,是《数据库原理及应用》课程的后续实践课程,本次课程设计围绕数据库原理及应用课程的教学内容,结合数据库管理系统的特点,通过分析一些中小型应用系统的数据及数据管理需求,进行数据库设计与开发,使学生加深对数据库课程中应知必会知识点的理解,并能在实际工作中加以灵活运用。通过数据库课设,培养学生完整、系统的数据库设计能力,锻炼学生分析问题、解决问题的能力以及团队合作的意识。
三、课程设计环境
硬件环境:服务器、客户机连成局域网结构;
软件环境:
数据库管理系统:MySQL
辅助设计工具PowerDesinger、Viso
集成开发环境IntelliJIDEA或Eclipse
课程设计内容
1.选题要求
(1)参考题目
题目如下:《学生选课系统》、《图书借阅管理系统》、《中小型超市管理系统》、《机房管理系统》、《书店销售管理系统》、《学生宿舍管理系统》、《酒店管理系统》、《校园二手物品交易平台》、《病房管理系统》《食堂点餐系统》、《网吧管理系统》、《学生课堂考勤管理系统》、《在线考试系统》、《校园防疫网站》、《新生军训管理系统》、《校园招聘网站》、《药房管理系统》、《汽车租赁系统》、《健身房管理系统》、《流浪动物救助平台》、《医院预约挂号系统》、《新闻管理系统》、《宠物店信息管理系统》、《博客管理系统》、《电影售票管理系统》、《办公用品采购系统》、《学校社团管理系统》、《学院奖学金管理系统》、《小区物业管理系统》、《电子商务网站》、《高校自习室座位管理系统》、《高校毕业生就业管理系统》、《外聘教师管理系统》。
要求:选择其中1个题目的同学需要完成数据库设计,并设计界面实现相应的功能;选择其中2个题目的同学只需要完成这两个题目的数据库设计。
(2)自拟题目
要求同上
2.数据库设计
2.1需求分析
(1)系统任务概述
(2)分析系统用户的功能需求,建立相应的模型(用例图、功能模块图)
(3)分析系统用户的数据需求,建立相应的模型(数据流图、数据字典)
2.2概念结构设计
(1)从需求分析中得到数据字典抽象出实体与联系;画出系统子模块局部E-R图;
(2)消除各种冲突(包括属性冲突、命名冲突和结构冲突)、合并局部E-R图,最后生成系统整体E-R图。
2.3逻辑结构设计
(1)将概念结构设计阶段得到的整体E-R图转换为关系模模型(关系模式);(2)对关系模式进行规范化(满足3NF或BCNF);
(3)设计用户子模式(视图)。
2.4物理结构设计
(1)确定数据的存取方法;
DBMS常用的存取方法有索引方法、聚簇方法和HASH方法。具体采取哪种存取方法由DBMS根据数据库的存储方式决定,一般用户不能干预。索引存取方法是根据应用要求确定对关系的哪些属性列建立索引,对哪些属性列建立组合索引,对哪些属性列建立唯一索引。
建立索引的一般原则如下:
如果一个(或一组)属性经常作为查询条件,则考虑在这个(或这组)属性上建立索引;如果一个属性经常作为聚集函数的参数,则考虑在这个属性上建立索引;如果一个(或一组)属性经常作为表连接条件,则考虑在这个(或这组)属性上建立索引;如果某个属性经常作为分组的依据列,则考虑在这个属性上建立索引;一个表可以建多个非聚簇索引,但只能建立一个聚簇索引。
(2)确定数据的物理存储结构
确定关系、索引、聚簇、日志、备份等的存储安排和存储结构。(顺序存储:平均查找次数是表中记录数的一半;散列存储:平均查找次数由散列算法决定;聚簇存储:把聚簇属性上具有相同值的元组集中存储在连续的物理块上,大大提高对聚簇码的查询效率)。
2.5数据库的实施
启动MySQL服务器,通过MySQL客户端创建数据库、数据表、定义表之间的参照完整性约束、创建及管理视图、设计存储过程、设计触发器、执行增删改查的数据操作等。
每个题目至少包括10个有意义的查询(包括单表、多表连接查询、嵌套查询等),包括至少3个视图、3个存储过程、3个触发器;每个表都要有主键,并且录入不少于10条记录,表与表之间一定要有关联;分析系统中有哪几类用户,创建不同用户并赋予相应的权限。
例如,在学生选课系统中,可以定义触发器,保证同一学生不能重复选择某门课;定义视图,查询没有被选修的课程信息;定义存储过程,可以查看某个教师所担任某门课的学生人数。
在图书管理系统中,可以定义触发器,分别实现借书还书时自动更新图书的在册数量;定义视图,查询各种图书的书号、书名、总数和在册数量;定义存储过程,查询指定读者借阅图书的情况。
2.6数据库运行及维护:通过运行数据库发现有问题的地方,再次重写或者修改SQL语句;能对数据库进行备份、还原、权限管理和日志管理等。
3.界面设计及功能实现
根据个人情况,用面向对象程序设计语言(如C#,Java)设计系统界面,并实现数据库的访问及简单增、删、改、查的功能。
4.系统验收
说明:数据库课程设计的重点是系统地完成数据库的整个设计过程,系统界面设计及功能不作重点,基础较好的同学以系统的可用性为原则,尽量实现较多的功能。
5.提交规范的课程设计报告。
时间进度安排
第17-18周:查阅资料并选题,进行系统需求分析,完成数据库的设计,记录数据库设计过程中的成果及文档。第19周:系统验收,指导、撰写并提交课程设计报告。具体安排如下:
课程设计报告要求
课程设计报告排版要求参照附件中的《数据库课程设计报告格式规范》,有完整的内容与格式,包括封面(统一要求)、目录、正文(标题为:***系统数据库设计)。
考核方法
考核评分标准:
(1)出勤情况
课程设计期间,按正常教学要求考勤,占30%。
(2)系统验收及提问
学生对自己设计的数据库及应用系统进行汇报答辩,指导老师根据每位学生的系统完成情况、完成质量及问题的回答情况做出综合评价,占30%。
(3)课程设计报告
按照课程设计报告完成的质量及排版的规范性进行综合评价,占40%。
参考文献
王珊,萨师煊.《数据库系统概论》(第5版)[M].高等教育出版社,.9
王珊.《数据库系统概论》(第5版)学习指导与习题解析[M].高等教育出版社,.7
张红娟,金洁洁,匡芳君.《数据库课程设计》[M]西安电子科技大学出版社,
黑马程序员《MySQL数据库原理、设计与应用》[M].清华大学出版社,
李龙澍,郑诚.《软件工程课程设计》[M].机械工业出版社,
相关视频资料。