数据库课程设计心得【6】总结篇

摘要:
在这个数据库课程设计中,我一开始并没有认真分析需求和设计数据库,而是渴望对界面等前端内容进行编码。结果,在编译第二个接口时,我发现数据库设计不合理,所以我不得不再次回去修改它。

一、      实现的功能

1、              系统管理员

Ø         用户管理模块:

用户管理模块主要是对用户的属性和权限进行管理,是系统的基础模块,功能由图3可见。由管理员添加的用户默认密码和用户名相同,修改密码只能由本人或者在数据库中修改完成。

Ø         课程管理模块:

管理员可以对课程进行增,删,查,改等操作。

Ø         教室管理模块:

管理员可以对教室信息进行增,删,查,改等操作。

2、              用户

Ø         用户管理模块:

学生可以查询自己的个人信息以及对自己的密码进行修改,丢失密码后可以找系统管理员获取密码。

Ø         课程管理模块:

学生可以查询任意一门课程的详细信息,包括:课程号、课程名称、讲授门课的老师。

Ø         教师管理模块:

学生可以查询任意一名老师的信息,包括:姓名、性别、职称、开课信息。

Ø         教室管理模块:

         教室信息查询:学生可以查询某一教学楼某一教室的信息以及该教室在每一天任意时段的使用情况(有课、有讲座、有活动等等)。

         借用教室:学生可以借教室,即获得教室在某段时间的使用权,办讲座,开办社团活动等,如果申请的教室有冲突,请给出提示。

         我要上自习:学生可以查询当天某一时段或者多个时段的空闲教室,然后去上自习

 

二、      难点以及解决

1、              借教室功能实现,后利用存储过程解决

2、              学生账户和学生信息表同步,后利用触发器解决

三、      仍旧存在的问题以及解决方案

1、              教室表的字段以及借用教室情况表的字段有待改进,可以真对数据表的范式级别进行改进,以减少数据冗余,但是同时要考虑过多连接查询带来的效率降低问题。

2、              系统管理员界面的教室信息管理功能模块未做,因为与学生管理类似,以后可以直接添加模块。

3、              学生管理,教师管理,课程管理三个模块中代码冗余过多,可以通过代码重构来提高代码的复用率,减少代码的冗余。

四、      数据库课程设计心得

1、              数据库课程设计,不能急于开始编码。

我在本次的数据库课程设计中,一开始并没有认真进行需求分析以及数据库的设计,而是急于去编码实现界面等前台的东西。结果编到第二个界面的时候,发现数据库设计不合理,只好重新回去修改。我的解决方法是:详细进行需求分析,争取做到对整个系统了然于胸;详细进行系统功能划分,分到最小模块为止,然后再一个一个模块添加代码即可,当然,要考虑模块与模块之间的耦合程度以及模块与模块之间的信息共享。

2、              在遇到困难的时候怎么办?

在本次数据库课程设计中遇到不少困难,例如:在编写学生借用教室的模块的时候,由于原来没有用过存储过程,在后台编写以及前台调用的时候都没有头绪;在编写教室信息管理模块时,GridView的更新总也实现不了等等诸如此类的困难很多。在这时,我一般采取以下措施:上网查资料;在网上论坛上提问题;和同学讨论;在图书馆查找相关图书资料。总之,这些是我比较常用的方法。最重要的一点是,遇到困难时的心态要平和,冷静地去查找问题并解决问题。

3、              注意知识的总结和积累

最近,其实不止是本次数据库课程设计带给我的收获,就是作为一个合格的程序员,要注意对知识的积累和知识体系的梳理,每隔一段时间就应该对自己近期的工作有个小结和反思,只有这样,才能不断进步,因此,我在CSDN开通了自己的博客,关于本次数据库课程设计中写的知识点总结在里面都有。

网址是:http://blog.csdn.net/duqi_2009,趁此机会宣传一下吧。

免责声明:文章转载自《数据库课程设计心得【6】总结篇》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇常用DOS命令之通俗易懂篇MongoDB基本介绍及一些用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

选课 树形DP

题意/Description:     大学里实行学分。每门课程都有一定的学分,学生只要选修了这门课并考核通过就能获得相应的学分。学生最后的学分是他选修的各门课的学分的总和。   每个学生都要选择规定数量的课程。其中有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修。例如,《数据结构》必须在选修了《高级语言程序设计》...

20.6.21补数据库原理笔记

对码有部分依赖、对码有部分依赖,如果限定在非主属性。消除不好的依赖,达到2、3NF。如果进一步扩大到主属性,则消除不好的依赖后,达到BCNF, BCNF的例子复杂一些: 这个是满足3NF,但是不满足BCNF的例子,运用模式分解 分解之后,达到了BCNF, 是否存在什么副作用? 前边讲2NF、3N,给人的感觉似乎是越来越好 只有好处没有坏处 那么,3NF...

newbee-mall开源项目被慕课网拿去做课程,讲师已道歉,课程却还在售卖

其实,自从我爆出这件事情,也没过去几天,第一次发声就是4天前。但是最近收到了很多消息,来自各种渠道的,都是在问我事件的最新进展。 包括优弧大佬也问了这个事情: 其实,时间太短,事件暂时也没什么进展,目前也就是课程的讲师迫于舆论压力,向我道歉了。而涉嫌侵权的课程,依然在慕课网的网站上售卖,而且由于6.18大促的原因,他们还在大力的推广。 所以,就觉得挺,e...

数据科学家含金量最高的5个数据科学认证,先马后看!

  数据科学家含金量最高的5个数据科学认证,先马后看!   尽管关于这个话题的文章不计其数,但文本作者想要找寻那种为大部分数据科学家所用而又有特色的工具及其认证。这些认证有的是免费的,有的比较便宜,但都值得尝试。   不过,这还是要取决于你在数据科学领域的关注重点和发展方向。在数据科学从业的道路上,每个人想要获得证书的原因有很多;有的证书可能很直白,例如数...

数据库 简单查询 Sql Server 学生表 课程表 选课表

创建教材中的三张表格,并输入相应的数据 Create table student( Sno char(9), Same char(20), Ssex char(2), Sage smallint, Sdept char(20) ); Create table course( Cno char(4), Cname char(40), Cpno...

SQL Server中行列转换 Pivot UnPivot 【转】

SQL Server中行列转换 Pivot UnPivot PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P 完整语法: table_source PIVOT( 聚合函数(value_column) FO...