第一篇:数据库设计心得体会
数据库设计心得体会
跟老板做了两个算是比较大的项目,数据库主体都是我设计的。第一个感觉很失败;第二个现在正在用,虽然总结了第一个的教训,但感觉还是有些遗憾。把这过程中的一些心得记在这里,以便日后用到时来查阅。若以后还有机会再设计数据库——现在倒还有些期待,呵呵,再有新的体会,也全部补充到这里。
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是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明
白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。
第二篇:2016数据库设计心得体会 3篇
2016数据库设计心得体会 3篇
跟老板做了两个算是比较大的项目,数据库主体都是我设计的。第一个感觉很失败;第二个现在正在用,虽然总结了第一个的教训,但感觉还是有些遗憾。把这过程中的一些心得记在这里,以便日后用到时来查阅。若以后还有机会再设计找范文就来数据库——现在倒还有些期待,呵呵,再有新的体会,也全部补充到这里。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是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。2篇
在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。
当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计找范文就来,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是Html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。
我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。3篇
之前,我写了关于数据库外键设计的心得,现在再谈谈我对于数据库主键的设计心得。我这里只讨论逻辑主键替代联合主键的问题。
学习数据库时,书本上都写到,在碰到一个数据库的字段必须由两个主码决定时,我们应该采用这两个主码来作为联合主键,并且,这样做会消除数据冗余。但在实际应用中,你会慢慢发现——实践才是检验真理的唯一标准。
设想有一张表的主键是联合主键,如果我想将这张表的主键作为另一张表的外键时,我该怎么办呢?将联合主键一起作为另一张表的外键?那相信程序员会骂人了,为这样的表写程序是需要很好的毅力才能完成的。这时就应该用逻辑主键来代替联合主键,并把这两个主码分别作为表的外键(一般的联合主键都是由两个外键组成)。这样满足第三范式,虽然增加了数据冗余,但是对于另外一张表却消除了数据冗余,所以这点第一公文网网牺牲是值得的。现在亏本是为了以后赚钱!
当然这并不是绝对的,在有的情况下,用联合主键可能会更好。不过,对于我来说,碰见这种情况的几率非常小。
总之,理论归理论,从实践中才能得到真知。例如,虽然理论上要求数据库达到的范式级别越高越好,但在实际中,降低范式级别(当然,至少应达到第三范式的要求),往往能减小系统复杂度——这也是软件工程的最基本目标。
第三篇:数据库设计心得体会(完整版)
索引、规则、默认值和约束
在这个小组中,我负责建立图书数据库的索引、规则、默认值和约束。数据库的索引是一个表中所包含的值的列表,注明了表中包含各个值的行所在的存储位置。创建索引,我最大的感受是能节约大量时间,特别是当表中数据很大时。规则、约束、默认值则一起保证了数据的完整性。规则是数据库中队存储在表的列或用户定义数据类型中的值的规定和限制;约束定义了关于列中允许值的规则;默认值是用户输入记录时向没有指定具体数据的列中自动插入的数据。这些都是创建一个数据库必不可少的元素。
表的创建
在我们这个小组里,我负责关于表的创建部分,包括了字段名、数据类型和主键的设计。我做的数据库设计部分,首先必须弄清楚表中列的数据类型,是char、varchar、int、datetime、smallint型等等,还有是几个字符长度。还有的就是它的值是否可以为空的,这也是需要考虑的。在这个过程中我需要注意的是表的列名是不能重复的,它是具有唯一性的。设置主键相对而言就比较容易了,我最大的体会是对于表中每列的数据类型的分析必须谨慎细心,否则很容易出错。
E-R图
在我们组我负责画E-R图。它是这次项目设计的关键点,如果E-R图设计错误那么接下来的设计就无法进行,因此设计E-R图时需要特别的认真。E-R模型能够方便地模拟研究对象的静态过程。E-R ,即实体-联系方法,E-R图直观提供了表示实体型、属性和联系的方法。在画E-R图过程中,必须明确识别实体、属性和联系,用矩形、椭圆和菱形对应框出来。画这个图为后面的数据库设计打好基础,通过这次的数据库设计,我学到了不少知识,将理论运用与实际。
表关系图
在我们小组,我负责的是创建表关系图这部分。建表关系图相对来说也是比较容易的,只需要明确表之间的关系,有相同列内容的表用线连接起来。创建表关系图时,把老师上课讲的内容结合起来,就比较轻松了。通过这次小组设计,分工合作,我学到了很多书本上不能学到的东西,感觉对数据库的了解有所提高,毕竟自己亲自设计过一个数据库,不再是书本上的理论,空空而谈,自己觉得还是有收获的。
实验总结
在这次项目设计中,我们小组所选择的是设计一个图书管理系统,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程。虽然学了数据库这么久了,但是我们还是缺少经验。现在我们利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,都不同程度的投入了很高的热情与努力。
在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。这次课程设计加深了我们对数据库系统设计相关知识以及SQL SERVER相关功能的理解。比如在建立基本的表、视图、索引、存储过程、触发器等,都比以前更加熟悉了,并在解决各种问题的过程中学到了很多新的知识。
在设计中我们基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,由于我们对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与次也没能很好把握住,这些方面通过这次我们都要加强了解。
在这次课程设计中,我们被分配以小组为单位去完成图书管理系统的设计与制作,所以小组内的分工和相互协调很重要,大家可以在分工中扬长避短,个及所长,这样可以很好的提高大家的积极性,和合作意识,并有效的缩短开发时间,但我们在这方面做的还不够,缺乏人员管理与沟通,导致人力资源浪费,可以说是不足之处,且迫切的需要思考和改进,这一点必须指明。这在以后的工作与学习中将会非常重要。
第四篇:数据库心得体会
数据库总结
学号:班级:姓名:
摘要
创建、修改数据表,包括主键、外键及约束创建、修改数据表,包括主键、表的数据的输入、修改、删除,Insert、Update、Delete 表的数据的输入、修改、删除,Insert、Update、语句 索引的概念,创建索引,索引的概念,Select语句,包括单表查询、多表查询和嵌套查询 Select语句 包括单表查询、语句,视图的概念,创建视图视图的概念。
关键词:数据库、删除、查询
一、数据库主要知识点
介绍了数据模型和三层模式数据库。本章要求我们理解实体-联系方法,并学会绘制E-R图。此外还应掌握概念数据模型的意义和传统的三大数据模型,以及数据独立性和数据库三层模式结构。
接着开始着重讲述现在普遍使用的关系数据库。包括关系数据模型的数据结构和基本术语,关系模型的完整性约束和关系代数运算。重点是关系模式完整性的分类和功能,以及关系代数中集合运算和关系运算。最后介绍了关系数据库系统的三层模式结构。
系统讲述关系数据库的标准语言SQL的定义功能、查询功能、操作和控制功能。重点在于数据查询功能。另外还介绍了视图的用法
和动态SQL中定义、操作和查询功能。
知识点有:存储过程的创建和执行过程、修改和删除;触发器的基本概念,建立,插入和删除视图,插入、删除和更新类触发器。最后介绍了数据完整性。
介绍安全性,包括安全性措施的层次、数据库管理系统的安全功能等,用户管理和角色管理,权限管理。其他的安全问题包括:数据加密、审计、统计数据库和用户定义的安全性措施。
事务管理这一章首先介绍了事务的概念、性质以及SQL对事务的支持。并发控制——干扰问题、可串行性、封锁、死锁、隔离级别、封锁与隔离级别;恢复——故障类型、备份类型、日志的概念、恢复模型、备份转储、还原。
为关系数据理论:函数依赖术语和符号;函数依赖的公理系统——Amstrong公理的内容及其正确性、逻辑蕴含和闭包、公理的完备性、闭包的计算、函数依赖集的等价和最小化;规范化——1NF、2NF、3NF、BCNF;模式分解。
数据库设计。完善E-R模型中的概念——弱实体,依赖关系,强制联系;数据库设计的过程主要掌握其建立的步骤。
介绍面向对象数据库:新的数据库应用和新的数据库类型;面向对象的数据模型——对象与类;对象的属性、方法和状态、对象的交互和消息、类的确定和分化、封装、继承、多态;对象关系数据库与对象数据库;面向对象数据库的研究。
分布式数据库与分布式数据管理:概念;分布式数据库的分布方
式;分布式数据库特点和目标——更新传播、分布式查询处理、目录表管理、分布式事务管理;SQLServer的复制及其术语、复制模型。
数据仓库:概念;结构;数据仓库系统;建立数据仓库系统;实现数据仓库的数据库模型;数据仓库与决策支持。
二、如何学好数据库:
1.互动式教学法,每一堂实验课均很好的“设计问题”、“引导思考”、“假设结论”、在实验中“探索求证”。使不同程度的学生可以在不同层次上举一反三。这样,使得课堂学生生气勃勃,师生互动,具有启发性。
2.运用面向对象的技术:面向对象的分析OOA、面向对象的设计OOD、面向对象的编程OOP,根据表的关系,用窗体和子窗体、报表和子报表,仿真面向对象,这样可以增加程序的可读性和可维护性。
3.查询的结果用窗体显示或用报表打印,两者的技术差不多。通常改变打开窗体或报表的条件就可控制显示或打印的记录范围。另外用查询做数据源时,动态改变查询中的SQL语句,比在查询中引用窗体的控件要方便,因为SQL语句生成是在VBA中,可以先存放在字符变量中,然后再更新查询的SQL语句,这样就可以用断点来检查变量值对不对,如果在查询中引用窗体的控件,尤其是包含IIF()函数时,调试是很困难的。
第五篇:数据库设计说明书
**数据库设计说明书
班级:姓名:学号引言
1.1 编写目的1.2 编写背景系统功能分析系统结构设计
3.1 概念结构设计(得出实体图)
3.2 逻辑结构设计(实体、联系的具体信息)
3.3 物理结构设计(表的结构)权限设计设计实施与实现