您当前的位置:首页 > 互联网教程

数据库实验报告

发布时间:2025-05-19 17:51:14    发布人:远客网络

数据库实验报告

一、数据库实验报告

表建得不合理,不符合数据库规范化要求,课程并不是由学号所决定了,课程可作为一个独立的表,还有,成绩是有学号和课程号共同决定的,因此成绩表也应该列出来作为一个独立的表。

1、学生信息表(学号,姓名,性别,出生日期,联系电话)

3、成绩表(学号,课程号,成绩)

期中学号是学生表的主键,课程号是课表的主键,学号和课程号组合是成绩表的主键,两者共同决定成绩。

拆分出来后,避免了数据冗余的问题,消除专递依赖!

完整性参照很简单,你自己解决吧。

二、数据库实验心得体会

1、持续一个月的数据库实训,让我参与了软件工程化的开发过程

2、其中体会最深的便是我们这个实训网的几个之最:一.项目最大:项目大是因为我们这个事业起点网站涉及到用户众多-高校,企业,学生,老师,专家,第二个原因是网站的功能多-用户管理,网上实习,网上竞赛,毕业实习设计,项目管理,人才库管理,人才推荐,搜索

3、项目大很容易造成系统范围的泛滥,在我们的开发初期,由于需求不太明确,功能实现没有重点,造成了需求范围的扩大,给项目开发进度造成了严重的滞后性

4、然后我们召开了会议讨论了这个问题,一致认同先把项目的基本功能实现,将网站的基本架构搭建起来,最后再在这个基础上继续增加我们网站的其他功能

5、因此在这个过程中,我深刻体会到了软件工程初期阶段的需求分析以及概要设计的重要性,这两个文档是指导我们后期开发的最重要的依据

6、二.数据库表最多:如此庞大的系统,就需要庞大的数据库来支持,所以项目大的直接后果就是我们的数据库表特别多,而且表与表之间的依赖关系也复杂,实体类之间的关系众多,设计起来有一定的难度

7、数据库的另外一个问题是-数据表的属性,数据表属性的设计完全是依赖于我们刚开始做的需求分析文档,如果需求分析不完整的话,就会造成数据库表属性的缺失,从用户的角度看,就会觉得你的系统提供的数据不够全面,信息量小

8、三.开发团队最大:我们团队一共有十四个人,这个对于我们的项目经理来说,是一个相当严峻的问题,毕竟十四个人的团队相当于其他几个小组加起来的人数总和,管理起来有相当大的难度

9、对于我们这些小组成员来说,由于沟通渠道太多,造成了我们项目中遇到问题,不知道去跟哪个小组成员沟通

10、为了解决这个问题,我们在团队中又选出了三个小组长,小组成员遇到问题,先去咨询小组长,然后小组长提供反馈信息

11、四.项目各个模块间藕合度高:网站涉及的各个功能模块之间的联系紧密,模块之间的接口设计的好坏是项目最终集成成功与否的最重要因素

12、用户管理这一个部分要为每个模块提供接口,主要是用户的编号以及用户的类型等

13、每个页面之间的链接也是其中重要的模块接口

14、这个问题由于我们前期做好了充分的沟通以及按照概要设计中的接口说明去设计自己的模块,所以后期的模块整合没有遇到什么太大的不兼容性等问题

15、接下来就谈谈我这一个月中的工作:需求分析阶段:需求分析阶段我完成了网上竞赛模块的需求分析,其中遇到的主要问题是阅读材料后发现网上实习,网上竞赛,毕业设计指导这几个模块的功能是类似的,提取需求分析后不够明确,经过几次跟汤老师的交流后,确定了这几个模块之间的具体差别,网上竞赛模块的基本需求也大致确定了,网上竞赛模块的基本功能就是学生通过网站报名参加竞赛,企业审核通过后,专家对作品进行评分,排名

16、概要设计阶段:在需求分析的基础上,对网上竞赛模块进行了比较具体的概要设计,流程图(IPO图以及用例图);这个阶段的主要难点是对网上竞赛业务流程的描述,如何实现学生报名,企业发布,专家评审的步骤操作,与及跟其他模块对该模块的限制

17、数据库设计阶段:我负责整合初步数据库设计说明书,分配组员按照各自的功能模块的具体需求设计自己模块需要的数据表,然后对这些数据表进行整合

18、在这个过程中遇到的问题就是数据库实在是太大了,最后下来一共有30多张表,表与表之间的关系复杂,关联性大,需要设置的外键较多,很难将所有的属性字段给提取出来,属性的类型设置也是一个问题,采用数值型还是采用字符串性在数据库设计中尤为重要,因为在后台搜索方面,数值型比较快捷,而在数据显示方面,字符串型又有直接读出不用转换的好处

19、每个表的主键我们采用了用实体的编号去标记它,因为这样实体间关联起来会更加简单

20、数据库的设计关键是要对整个项目的整体的把握,并且要细化对每个实体类的具体属性要求

21、详细设计阶段:我觉得是最重要的一个方面,一个完整的详细设计说明应该可以帮助程序员完成具体的实现,程序员可以不用考虑模块之间的耦合问题,只需要将单一的功能按照逻辑顺序编写出来就可以了

22、网站整体构架搭好了,我们就可以在里面填充自己的功能了

23、但是因为时间太仓促了,我们这个阶段也就缩水了,带来后面的问题就是后期代码编写的时候比较混乱,函数接口较难统,界面风格多样化

24、这个阶段,我的主要工作是跟队友一起设计出了网上竞赛模块的学生,企业,管理员,高校以及专家的界面

25、net开发的,主要任务就是从工具中选出你想要的控件,然后在控件响应函数中填充代码,完成相应的事件响应

26、这里遇到的最大问题是页面的排版问题,因为自己是第一次开发网站,造成了自己设计的界面风格单调,不太美观,现在就尽量做到页面的整齐

27、这个阶段主要做的就是:写代码→编译→调试→写代码

28、这一个月中我学到了很多东西,技术方面就是学会了用ASP

29、Net编写网站,最重要的是让我经历了软件工程化的所有阶段,让我对整个软件工程有了感性的认识,而且将大学三年所学到的知识进行了一次系统的串联,更重要的是学会了如何跟项目团队中的成员沟通问题,这是一个宝贵的实践经验

三、数据库课程工作总结

学习了数据库,有没有什么感想。下面是由我为大家整理的“数据库课程工作总结”,欢迎大家阅读,仅供大家参考,希望对您有所帮助。

对实验过程中用到的软件、实现技术的评价以及对于实验过程遇到的一些问题做的总结:

本次实验我们是在windows操作系统平台下完成的,应用了数据库建表,触发,删除插入;powerdesigner实现数据库的概念模型、物理模型的转化;java语言中的的GUI图形用户界面、与数据库连接(jdbc)等技术。较好的在规定时间内完成了老师安排给我们的任务,实验过程中尽管遇到了不少问题,但最后经过与同伴互相探讨,借阅资料,请教老师等都使问题得到了解决。总的来说感觉数据库、powerdesigner、java语言面向对象等编程技术应用起来灵活,容易理解。短短的两周课程设计让我对java语言等编程技术产生了浓厚的兴趣,更重要的是增强了我学习的自信心。

对两周的课程设计过程中老师引导的对软件开发的分配时间的分析评价

在第一阶段:20xx.1.2--20xx.1.6

我们做的题目是《小型餐饮管理系统》按照老师的安排,我们先进行系统需求和系统功能设计,在确定了我们要做的小型餐饮管理系统应具有哪些功能后利用powerdesigner汇出了数据库的物理模型(ER图),并且进一步利用powerdesigner的强大功能由ER图继而生成了物理模型图以及数据库,完成了数据库设计阶段。在剩下来的几天里我们主要把精力集中在应用程序的调试及课程设计报告的书写上。

1.与组员一起探讨分析所做项目(小型餐饮管理系统)的需求分析部分,共同完成需求部分的设计。

2.通过网络、书籍等查找所需的资料。

3.数据库部分的书写(包括数据库、表、触发器、索引、存储过程等的创建)以及完成ER图,物理模型图的设计转换部分。

在实验验演示给老师看的时候,自我感觉做的挺好,能得到老师的好评和赞许,没想到的是老师看完我们的演示后提出的一系列问题让我们一时目瞪口呆。听了老师的讲解后才发现我们做的系统根本就是个废品,没有任何一家厂商愿意用我们的东西,即使免费相赠。和现实中的《餐饮管理系统》相比,我们的系统最大的不足体现在安全性方面,主要表现为以下两个方面:

1.顾客点菜时由于没有考虑到库户绑定问题,及设置相关的口令,从而导致点菜时乱套,无章法的问题,不方便饭店管理,严重的会出现店家亏损问题。

2.缺少工作人员的业绩考核环节的设计。

通过这次教训,我相信在以后的学习实践当中,我一定会更加认真的对待实验中的每一个环节,尤其是开始时的基础阶段。学习,成长的过程就像建造一栋高楼大厦一样,打好地基很重要,因为这关系整个楼层的稳固安全问题。我坚信在以后长远的学习的过程中我会更注重培养严谨的思维,重视细节,凡事努力打造个好的开头,脚踏实地,一步一个脚印,做到不骄不躁。

第一次接触像这样比较大的项目,通过本次课程设计我深切的体会到合作与实践的重要性。

第一、在实验的过程中我一边学习一边上机动手操作,才发现自己不懂的太多太多,以前的自己太渺小,我需要不断的在学习中成长。同时也深刻体会到自己需要在动手操作方面努力改进提高。

第二、记得老师和学长们总是教导我们要学会与他人协作,告诉我们合作的能在走出社会以后更是显得尤为重要,之前我还有点不以为然,过分的相信自己。通过本次为期两周的课程设计我对老师和学长的话坚信不移,这次实验如果没有同伴的帮助仅在两周内仅凭我个人是无法完成的,实验过程中我们一起努力,互相督促,探讨。最后较好的完成了任务,也从中学到了不少东西。我笃信在以后的学习和成长过程中我会更加注重与他人协作,互助。

跟老板做了两个算是比较大的项目,数据库主体都是我设计的。第一个感觉很失败;第二个现在正在用,虽然总结了第一个的教训,但感觉还是有些遗憾。把这过程中的一些心得记在这里,以便日后用到时来查阅。若以后还有机会再设计数据库——现在倒还有些期待,再有新的体会,也全部补充到这里。

随着磁盘容量的大幅飙升,这一点已经不会产生什么问题。当然冗余归冗余,不能把数据的关联弄的乱七八糟的。

本科数据库课程中学的知识直接拿来,在实际中会出大问题。满足三级范式的数据库结构会让你面对大量的连表查询,应用程序中会用到大量的数据库访问,既繁琐又使程序运行速度减慢。

2.尽量不要使用varchar(max)类型

这一点主要是用动软代码生成器自动生成代码时,如果varchar的最大长度指定为max,在自动生成代码时,它无法生成这一最大长度,需要手动补进去。

现在感觉用个varchar(1000)就够了。

数据库表(尤其是动态表格),在你把所有字段都设计好了之后,再添加几个备注字段和预留字段。

之前我觉得这样做没多大意义,因为预留字段的列名是没有实际意义的。这样程序中使用的时候就会让人费解。但现在觉得还是有必要的,很有必要的,即便在用到时需要自己十分清楚之前预留的无意义字段现在表示什么意义。不过我的第二个数据库中还是没采用,这也是遗憾之处啊。

个人感觉用note1、note2、r1(r表示reserve)、r2、r3,2个备注字段和3个预留字段就足够了,再多的话就不容易记住哪个字段具体表示什么意义了,容易晕。类型就都用varchar(200)吧。

在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。

当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。

我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。

知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。