第一篇:数据库设计心得体会
跟老板做了两个算是比较大的项目,数据库主体都是我设计的。第一个感觉很失败;第二个现在正在用,虽然总结了第一个的教训,但感觉还是有些遗憾。把这过程中的一些心得记在这里,以便日后用到时来查阅。若以后还有机会再设计数据库——现在倒还有些期待,呵呵,再有新的体会,也全部补充到这里。
1.尽量使用数据冗余。
随着磁盘容量的大幅飙升,这一点已经不会产生什么问题。当然冗余归冗余,不能把数据的关联弄的乱七八糟的。
本科数据库课程中学的知识直接拿来,在实际中会出大问题。满足三级范式的数据库结构会让你面对大量的连表查询,应用程序中会用到大量的数据库访问,既繁琐(烦死你)又使程序运行速度减慢。
2.尽量不要使用varchar(max)类型
这一点主要是用动软代码生成器自动生成代码时,如果varchar的最大长度指定为max,在自动生成代码时,它无法生成这一最大长度,需要手动补进去。
现在感觉用个varchar(1000)就够了。
3.使用预留字段。
数据库表(尤其是动态表格),在你把所有字段都设计好了之后,再添加几个备注字段和预留字段。
之前我觉得这样做没多大意义,因为预留字段的列名是没有实际意义的。这样程序中使用的时候就会让人费解。但现在觉得还是有必要的,很有必要的,即便在用到时需要自己十分清楚之前预留的无意义字段现在表示什么意义。不过我的第二个数据库中还是没采用,这也是遗憾之处啊。
个人感觉用note1、note2、r1(r表示reserve)、r2、r3,2个备注字段和3个预留字段就足够了,再多的话就不容易记住哪个字段具体表示什么意义了,容易晕。类型就都用varchar(200)吧。
数据库设计心得体会(2):
在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。
当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。
我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。
第二篇:数据库设计心得体会(完整版)
索引、规则、默认值和约束
在这个小组中,我负责建立图书数据库的索引、规则、默认值和约束。数据库的索引是一个表中所包含的值的列表,注明了表中包含各个值的行所在的存储位置。创建索引,我最大的感受是能节约大量时间,特别是当表中数据很大时。规则、约束、默认值则一起保证了数据的完整性。规则是数据库中队存储在表的列或用户定义数据类型中的值的规定和限制;约束定义了关于列中允许值的规则;默认值是用户输入记录时向没有指定具体数据的列中自动插入的数据。这些都是创建一个数据库必不可少的元素。
表的创建
在我们这个小组里,我负责关于表的创建部分,包括了字段名、数据类型和主键的设计。我做的数据库设计部分,首先必须弄清楚表中列的数据类型,是char、varchar、int、datetime、smallint型等等,还有是几个字符长度。还有的就是它的值是否可以为空的,这也是需要考虑的。在这个过程中我需要注意的是表的列名是不能重复的,它是具有唯一性的。设置主键相对而言就比较容易了,我最大的体会是对于表中每列的数据类型的分析必须谨慎细心,否则很容易出错。
e-r图
在我们组我负责画e-r图。它是这次项目设计的关键点,如果e-r图设计错误那么接下来的设计就无法进行,因此设计e-r图时需要特别的认真。e-r模型能够方便地模拟研究对象的静态过程。e-r ,即实体-联系方法,e-r图直观提供了表示实体型、属性和联系的方法。在画e-r图过程中,必须明确识别实体、属性和联系,用矩形、椭圆和菱形对应框出来。画这个图为后面的数据库设计打好基础,通过这次的数据库设计,我学到了不少知识,将理论运用与实际。
表关系图
在我们小组,我负责的是创建表关系图这部分。建表关系图相对来说也是比较容易的,只需要明确表之间的关系,有相同列内容的表用线连接起来。创建表关系图时,把老师上课讲的内容结合起来,就比较轻松了。通过这次小组设计,分工合作,我学到了很多书本上不能学到的东西,感觉对数据库的了解有所提高,毕竟自己亲自设计过一个数据库,不再是书本上的理论,空空而谈,自己觉得还是有收获的。
实验总结
在这次项目设计中,我们小组所选择的是设计一个图书管理系统,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程。虽然学了数据库这么久了,但是我们还是缺少经验。现在我们利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,都不同程度的投入了很高的热情与努力。
在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。这次课程设计加深了我们对数据库系统设计相关知识以及sql server相关功能的理解。比如在建立基本的表、视图、索引、存储过程、触发器等,都比以前更加熟悉了,并在解决各种问题的过程中学到了很多新的知识。
在设计中我们基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我们
深刻的认识到认真执行管理系统软件标准的重要性,由于我们对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与次也没能很好把握住,这些方面通过这次(转载请注明来源www.bsmz.net产品。那个时候我已经学过vc和asp,因为www.bsmz.net),我接触到microsoft 公司的.net产品。那个时候我已经学过vc和asp,因为www.bsmz.netl[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!
我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。
(最后,很感激学校给了我们这次动手实践的机会,让我们学生有了一个共同学习,增长见识,开拓视野的机会。也感谢老师们对我们无私忘我的指导,我会以这次课程设计大赛作为对自己的激励,继续学习。毕竟学习就是一个just do it的过程!)我直接从报告上面复制过来的.....所以这段也不删去了.............呵呵。
题目大概是用可视化编程实现一个简单的数据库管理系统我用的是bcb 题目虽然是简单 但也明白了很多以前以为懂的问题代码到没什么 这种题目用bcb的话已经不用几行代码了关键是了解了这些名词paradox,ado,bde,odbc 一开始拖控件,写几行代码 很快就完成了编译也通过了 但传到同学机器上就是显示不出数据来折腾了我1天 又是发帖子 又是问群里的达人后来明白了我用的paradox数据库是用bde引擎的发布软件的时候要把bde打包于是又学着打包bde 却发现不到1m的软件如果打包bde的话就10+m了而且bcb6自带的那个打包软件用的我头晕目眩于是又想不用bde 所以又折腾了我半天答案是要使用ado控件( 以前我用的是bde控件 )而且要用access数据库了解了这些之后 作业也就完成了总的看来还是很有收获的 幸亏我下了决心这个作业要自己做没有去网上下载 呵呵
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。