- 相关推荐
[精选]数据库设计心得体会
当我们积累了新的体会时,可以通过写心得体会的方式将其记录下来,如此可以一直更新迭代自己的想法。那么如何写心得体会才能更有感染力呢?以下是小编为大家收集的数据库设计心得体会,欢迎阅读与收藏。
数据库设计心得体会1
索引、规则、默认值和约束
在这个小组中,我负责建立图书数据库的索引、规则、默认值和约束。数据库的索引是一个表中所包含的值的列表,注明了表中包含各个值的行所在的存储位置。创建索引,我最大的感受是能节约大量时间,特别是当表中数据很大时。规则、约束、默认值则一起保证了数据的完整性。规则是数据库中队存储在表的列或用户定义数据类型中的值的规定和限制;约束定义了关于列中允许值的规则;默认值是用户输入记录时向没有指定具体数据的列中自动插入的数据。这些都是创建一个数据库必不可少的元素。
表的创建
在我们这个小组里,我负责关于表的创建部分,包括了字段名、数据类型和主键的设计。我做的数据库设计部分,首先必须弄清楚表中列的数据类型,是char、varchar、int、datetime、smallint型等等,还有是几个字符长度。还有的就是它的值是否可以为空的,这也是需要考虑的。在这个过程中我需要注意的是表的列名是不能重复的,它是具有唯一性的。设置主键相对而言就比较容易了,我最大的体会是对于表中每列的数据类型的分析必须谨慎细心,否则很容易出错。
e—r图
在我们组我负责画e—r图。它是这次项目设计的关键点,如果e—r图设计错误那么接下来的设计就无法进行,因此设计e—r图时需要特别的认真。e—r模型能够方便地模拟研究对象的静态过程。e—r,即实体—联系方法,e—r图直观提供了表示实体型、属性和联系的方法。在画e—r图过程中,必须明确识别实体、属性和联系,用矩形、椭圆和菱形对应框出来。画这个图为后面的数据库设计打基础,通过这次的数据库设计,我学到了不少知识,将理论运用与实际。
表关系图
在我们小组,我负责的是创建表关系图这部分。建表关系图相对来说也是比较容易的,只需要明确表之间的关系,有相同列内容的表用线连接起来。创建表关系图时,把老师上课讲的内容结合起来,就比较轻松了。通过这次小组设计,分工合作,我学到了很多书本上不能学到的东西,感觉对数据库的了解有所提高,毕竟自己亲自设计过一个数据库,不再是书本上的理论,空空而谈,自己觉得还是有收获的。
实验总结
在这次项目设计中,我们小组所选择的是设计一个图书管理系统,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程。虽然学了数据库这么久了,但是我们还是缺少经验。现在我们利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,都不同程度的投入了很高的热情与努力。
在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的'设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。这次课程设计加深了我们对数据库系统设计相关知识以及sql server相关功能的理解。比如在建立基本的表、视图、索引、存储过程、触发器等,都比以前更加熟悉了,并在解决各种问题的过程中学到了很多新的知识。
在设计中我们基本能按照规的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,由于我们对管理系统软件相关的标准和规不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与次也没能很把握住,这些方面通过这次我们都要加强了解。
在这次课程设计中,我们被分配以小组为单位去完成图书管理系统的设计与制作,所以小组内的分工和相互协调很重要,大家可以在分工中扬长避短,个及所长,这样可以很的提高大家的积极性,和合作意识,并有效的缩短开发时间,但我们在这方面做的还不够,缺乏人员管理与沟通,导致人力资源浪费,可以说是不足之处,且迫切的需要思考和改进,这一点必须指明。这在以后的工作与学习中将会非常重要。
数据库设计心得体会2
在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。
当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做了,最后会由一个人把这些全部组合搭建在一起。我们使用的是html和php相互嵌套使用,当一个系统做了之后,我会地把程序都看一遍,理会其中的奥秘。
我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅度。然而php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的'查阅下,我把自己的模块做了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美的回忆美的东西将永远伴随着我。
数据库设计心得体会3
数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。
首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学asp.net),我接触到microsoft公司的net产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var看着就不是很顺心。我是一个奇心很强的人,突然看到了一个号称“。net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sqlserver20xx年,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。
通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。
来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,justdoit!我记得我做这个数据库之前,我们老师说要做前期分析,我就在上搜索用什么分析工具。最后我选择了roseuml建模工具。在此之前,我脑袋里面没有软件建模的思想,什么uml建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上去搜索,这是一个信息横流的,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的'时候用到的powerdesigner也是一样。
开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上搜索现在最流行的架构是什么。结果搜到了mvc架构,就是你啦。我决定用这个架构,不会,没关系,咱学。justdoit!前期工作准备后,那么我就得把我暑假学的net加以实践。这个时候我更加深入的了解了利用ado.net操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计——基于。net数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。
与其临渊羡鱼,不如退而结。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年。net的核心技术就是xml[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,justdoit!语言并不重要毕竟它仅仅是工具,用一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的:学无止境啊!
我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。
(最后,很感激学校给了我们这次动手实践的机会,让我们学生有了一个共同学习,增长见识,开拓视野的机会。也感谢老师们对我们无私忘我的指导,我会以这次课程设计大赛作为对自己的激励,继续学习。毕竟学习就是一个justdoit的过程!)
数据库设计心得体会4
两个星期的时间非常快就过去了,这两个星期不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。虽说上过数据库上过管理信息系统等相关的课程,但是没有亲身经历过相关的设计工作细节。这次实习证实提供了一个很的机会。
通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。
从各种档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计。亲身体验了一回系统的设计开发过程。很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。但真正需要自己想办法去设计一个系统的时候才发现其中的难度。经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。
我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。所以以后的课程设计要特别注意这一块的设计。
按照要求,我们做的是机票预订系统。说实话,我对这个是一无所知的,没有订过机票,也不知道航空公司是怎么一个流程。盲目开始设计的下场我已经尝过了,结果就是出来一个四不像的设计方案,没有什么实际用处。没有前期的调查,仅从指导书上那几条要求着手是不够的。
在需求分析过程中,我们通过上查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和客户的要求,分析现有情况及问题,采用client/server结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统。在两周的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题:由于忘记了一些java语言的规使得在调试过程中一些错误没有发现,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言的规性以及我们在编程时要有严谨的态度,同时在写程序时如有一定量的注释,既增加了程序的可读性,也可以使自己在读程序时更容易。
我们学习并应用了sql语言,对数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表学会了对于表的一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。
很多事情不是想象中的那么简单的,它涉及到的各种实体、属性、数据流程、数据处理等等。很多时候感觉后面的'设计根本无法继续,感觉像是被前面做的各种图限制了。在做关系模型转换的时候碰到有些实体即可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。
物理结构设计基本没有碰到问题,这一块和安全性、完整性不觉就会在物理结构设计中添加一些安全设置:主键约束、check约束、default定义等。最后才做索引的部分,对一些比较经常使用搜索的列,外键上建立索引,这样可以明显加快检索的速度,最后别忘记重要的安全性设置,限制用户访问权限,新建用户并和数据库用户做相应的映射。
不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来她并没有你以前觉得的那样,自己也
是可以的。如果没有自信,没有目标,没有信心就不可能把事情做,当其他人都在迷茫的时候,自己一定要坚信目标,大学毕业出去即面临找工作,从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!
以上基本是这次实习的体会了,设计进行的非常艰难,编码非常不容易,才发现做一个项目最重要的不在于如何实现,而是实现之前的需求分析和模块设计。创新很难,有些流行的系统其实现并不难,难的在于对市场的分析和准确定位。设计,是一个任重道远的过程。
数据库设计心得体会5
跟老板做了两个算是比较大的项目,数据库主体都是我设计的。第一个感觉很失败;第二个现在正在用,虽然总结了第一个的教训,但感觉还是有些遗憾。把这过程中的一些心得记在这里,以便日后用到时来查阅。若以后还有机会再设计数据库——现在倒还有些期待,呵呵,再有新的`体会,也全部补充到这里。
1、尽量使用数据冗余。
随着磁盘容量的大幅飙升,这一点已经不会产生什么问题。当然冗余归冗余,不能把数据的关联弄的乱七八糟的。
本科数据库课程中学的知识直接拿来,在实际中会出大问题。满足三级式的数据库结构会让你面对大量的连表查询,应用程序中会用到大量的数据库访问,既繁琐(烦死你)又使程序运行速度减慢。
2、尽量不要使用varchar(max)类型
这一点主要是用动软代码生成器自动生成代码时,如果varchar的最大长度指定为max,在自动生成代码时,它无法生成这一最大长度,需要手动补进去。
现在感觉用个varchar(1000)就够了。
3、使用预留字段。
数据库表(尤其是动态表格),在你把所有字段都设计了之后,再添加几个备注字段和预留字段。
之前我觉得这样做没多大意义,因为预留字段的列名是没有实际意义的。这样程序中使用的时候就会让人费解。但现在觉得还是有必要的,很有必要的,即便在用到时需要自己十分清楚之前预留的无意义字段现在表示什么意义。不过我的第二个数据库中还是没采用,这也是遗憾之处啊。
个人感觉用note1、note2、r1(r表示reserve)、r2、r3,2个备注字段和3个预留字段就足够了,再多的话就不容易记住哪个字段具体表示什么意义了,容易晕。类型就都用varchar(200)吧。