一 : 37数据库学习心得
数据库系统学习心得体会
姓名:李成龙 学号:2010****
经过长时间的数据库课程学习,我掌握了创建数据库以及对数据库的操作的基础知识。数据库这门课涉及到以前的知识不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较容易掌握的课。下面我谈一谈数据库系统的基本概念。
数据库系统(database systems),是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。 通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。 数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。计算机的高速处理能力和大容量存储器提供了实现数据管理自动化的条件。
数据库研究跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。数据库系统的出现是计算机应用的一个里程牌,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。在它之前的文件系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。为了实现对任意部分数据的快速访问,就要研究许多优化技术。这些优化技术往往很复杂,是普通用户难以实现的,所以就由系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的数据库语言。由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的应用程序而存在,从而数据库又可以为多个用户所共享。因此,数据的独立性和共享性是数据库系统的重要特征。数据共享节省了大量人力物力,为数据库系统的广泛应用奠定了基础。数据库系统的出现使得普通用户能够方便地将日常数据存入计算机并在需要的时候快速访问它们,从而使计算机走出科研机构进入各行各业、进入家庭。数据库系统有大小之分,大型数据库系统有SQL Server、Oracle、DB2等,中小型数据库系统有Foxpro、Access。数据库系统的特点:a:数据结构化b:数据的共享性高,冗余度低,容易扩充c:数据的独立性高d:数据由DBMS统一管理和控制。
但是课堂上讲的知识比较理论化,如果不动手就无法将知识转化为技能,而动手去做能够让我们将学过的知识在实践中运用,找到知识漏洞,并且能学到更多关于实际操作的知识和技巧。并且培养了我们的自学能力。
第一次接触sql语言,虽然陌生,但是可以让我从头开始学,就算没有基础的人也可以学得很好。刚开始练习sql语言的时候,并不是很难,基本上都是按照老师的步骤来做,还很有成就感。我们通过老师的一些ppt,我们可以巩固课内的知识,还可以学习内容相关的知识,更好地完成老师布置的作业。
在学习的过程中还有许多问题困扰着我,但通过后期的实践,让我从本质了解了access与excel的区别 :
access是一个数据库软件,一个access文件由存储特定结构化数据集的表集合组成。表中 1 [
包含行(有时称作记录或元组)和列(有时称作特性)的集合。表中的每一列都设计为存储某种类型的信息(例如,日期、名称、美元金额或数字)。表上有几种控制(约束、规则、触发器、默认值和自定义用户数据类型)用于确保数据的有效性。表上可以有索引(与书中的索引非常相似),利用索引可以快速地找到行。可将声明引用完整性 (dri) 约束添加到表上,以确保不同表中相互关联的数据保持一致。 而excel是一个电子表格制作软件,其表格可以进行排序、计算等操作.access--中小型数据库开发系统,内嵌vba编程语言,面向对象编程;excel--数据表格处理系统,编程能力有限.access是数据库管理软件,内含的是数据库(基本对象),一个数据库包含多张表 主要用于开发系统 ,日常办公用起来不方便,他主要是做软件的后台的;而excel只是一般的表格处理软件,主要用于一些日常的办公而已.从我个人理解,在电脑同样的配置的情况下excel在处理大量数据的速度远远落后与access,在数据配比上access在性能上更高于excel。
从数据库的学习中,我有很多收获,这些收获对于以后的学习也会带来很大的帮助。
1、sql (结构化查询语言)是用于执行查询的语法。但是 sql 语言也包含用于更新、插入和删除记录的语法。查询和更新指令构成了 sql 的 dml 部分:
select - 从数据库表中获取数据
update - 更新数据库表中的数据
delete - 从数据库表中删除数据
insert into - 向数据库表中插入数据
2、sql 的数据定义语言 (ddl) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
3、sql 中最重要的 ddl 语句:
create database - 创建新数据库
alter database - 修改数据库
create table - 创建新表
alter table - 变更(改变)数据库表
drop table - 删除表
create index - 创建索引(搜索键)
drop index - 删除索引
4、数据库有保持数据的独立性,所谓数据独立,是指存储在数据库中的数据独立于处理数据的所有应用程序而存在。也就是说,数据是客观实体的符号化标识,它就是一个客观存在,不会因为某一项应用的需要而改变它的结构,因此是独立于应用而存在着的客观实体。而某一项应用是处理数据获取信息的过程,也就是应用程序,它只能根据客观存在着的数据来设计所需要的数据处理方法,而不会去改变客观存在着的数据本身。数据库的传统定义是以一定的组织方式存储的一组相关数据的集合,主要表现为数据表的集合。
5、根据标准,sql语句按其功能的不同可以分为以下6大类:
数据定义语句(data-definition language,ddl);
数据操作语句(data-manipulation languagesql serverXX 功能,dml);
操作管理语句(transaction-management language,tml);
数据控制语句(data-control language,dcl);
数据查询语句(data-query language,dql);
游标控制语句(cursor-control language,ccl)。
6、关系数据库系统是支持关系数据模型的数据库系统,关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系数据结构就是一张张的二维表,关系操作通常包 2
括:选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)增加(Insert)、删除(Delete)、修改(Update)。
关系的三个完整性约束包括:实体完整性、参照完整性和用户定义的完整性。
接下来是SQL查询语言了,SQL语言把复杂的数据操作过程全部都隐藏起来了,我们只需要关心做什么,设计相应的SQL语句,怎么做就由系统给我们做得好好的。
SQL语言分为四类:数据查询、数据操纵、数据定义、数据控制,其中数据查询就是我们最熟悉的select了,它的Group by语句我最喜欢,一下子就将要的数据统计出来了。下面是一个select中嵌套select的例子:
select sname,sage from student where sage<(select min(sage) from student where sdep=''计算机系'') and sdept<>''计算机系''
本SQL的功能是查询:其它系中比计算机系中所有学生年龄都小的学生姓名和年龄
SQL语言的学习和精通是我们学好数据库的重点之一,它和数据表架构的设计互相作用,有什么样的数据表,才会有什么样的SQL语句,这两者的学习是互相促进的,最需要经验积累。基于它的复杂性,这里不深入探索。有了SQL语言,不得不说的是视图,视图其实和select语句是紧密关联的,它其实相当于一个虚表,执行视图以后看到的是对应的后台表的SQL结果。这里顺便提一下,SQL Server2000中提供了完整的SQL支持和视图支持,执行SQL语句和视图可以在企业管理器中操作,也可以在查询分析器中操作,更可以在自己的程序中通过对应的接口操作。
我认为数据库的以下几大性质,是能让它蓬勃发展至今的重要原因。
一是实验性。比如它能总结出谋商品客户的需求度。喜欢度,从而决定是否继续生产此产品。可以准确预测销售状况。更有效地管理产品;二是特殊性。管理人员可以通过特殊的条件查找,找出与众不同的人或者产品。从而有针对性的进行改造和沟通。不留下一点死角;三是及时性。由于这是一个软件,使用者再也不用一页一页去翻书和资料。只需要按照自己跌需求敲入字母,需要的信息就能映入眼帘。在很短的时间内取得很大的效益;四是传递性。因为互联网的关系,使我们的数据可以共享,利用网络营销数据库可以全天的需要的人联系。最重要的我觉得是智能和人性化!它利用人们简单易懂的语句,实现了人们心中所想的事。比写在本上清晰,方便。这也是我这次写它的原因。
我们学计算机的学生以后多数还是以这方面的技术为生。那么数据库也是一个很好的职业。无从大中小企业。他总是需要一个数据库工程师的。为他总结各种资料。可以说是不可缺少的一部分。
通过以上的总结分析,本人认为数据库设计将会分为两个阶段进行:
第一阶段:数据库功能上的设计,由于在软件系统的数据库建立初期,数据库也只是以实现系统同能为目标,对于系统性能优化将不会是数据库设计的重点。
1、建立软件系统的比较通用功能基础表。在基础功能建立后,系统使用者会对系统部分功能作出评价和修改要求。而功能基础表设计为减少日后修改和维护量,会尽量设计通用和冗杂结构。
2、收集软件系统的一些基本信息。对于软件系统设计者来说,对软件系统的中每个表数据量,程序上SQL的使用,系统的繁忙时段以及周期等都会有比较初步评估。但对于数据库设计者来说,这些估计都是只一些推断并没有实际数据支持。为第二阶段数据库修改和维护,对软件系统作一些基本数据收集是必要的。
3
第二阶段为数据库系统能上优化,主要是通过第一阶段收集系统数据库一些信息来对系统做修改和优化数据库具体优化方案需要以收集信息为基础来之际来进行指定。
其中也有一些方面需要进行优化
1、优化系统的SQL,具体有下面几点可以进行:
·对使用频繁的SQL以创建具体功能存储过程来代替,可以减少数据库系统对SQL编译和解析
·涉及到数据量大的表,尽量建立基本视图来完成数据查询工作
·在程序中尽量使用批量提交
(注:此方法在多数据更新和插入软件系统中 ,可以比较显著提高性能。 在提高系统性能的同时,对程序的多线程控制技术上增加不少难度。若线程控制出现问题,会对数据库带来灾难性破坏)
·程序在使用SQL的时候,尽量使用少消耗数据库资源的运行方式
2 、数据库表结构
·在数据量大表中,尽量减少非必要字段索引建立。
(注: 索引建立多了查询速度是可以很有效的提高,但随之而来的是插入数据消耗的数据库资源也提高了很多)
·大表需要进行分区存储
(注:现在主流数据库都已经开始支持分区存储数据)
·在不影响系统的业务逻辑上,清理数据表中被废弃使用的字段
(注:在清理废弃的字段需要关注的确定这些字段是否真的已经被废弃,程序真的不再启用)
3 、修改有问题的SQL
·在实现功能时候,由于时间或者其他原因整个系统中肯定会有部分性能不优的SQL存在。
第一阶段收集的数据,现在就可以有效的进行使用。通过这些数据我们可以很有效地把这些不优的SQL[甚至是很烂]找出来,一条一条进行调整
·在调整SQL外,还需要对数据库内存或者共享空间等等进行调整;使得数据库永远是处于最优的状态。
4
二 : 2015数据库课程设计心得体会
第1篇:数据库课程设计心得体会
数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。
首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学asp.net),我接触到microsoft 公司的.net产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是1个好奇心很强的人,突然看到了1个号称“.net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql server2000,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。
通过1个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。
来到学校后,随着这学期的数据库课程大赛开始了,我有1个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有的时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用1个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseuml建模工具。在此之前,我脑袋里面没有软件建模的思想,什么uml建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是1个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。
开发的时候我想过用什么架构,c/s模式?模式有很多,怎么[www.61k.com]选择?我就上网搜索现在最流行的架构是什么。结果搜到了mvc架构,就是你啦。我决定用这个架构,不会,没关系,咱学。just do it!前期工作准备好后,那么我就得把我暑假学的.net加以实践。这个时候我更加深入的了解了利用ado.net操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概两个多星期的奋斗,我完成了我的数据库课程设计--基于.net数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。
与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.net的核心技术就是xml[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好1个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!
我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。
第2篇:数据库课程设计心得体会
在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进1步提高我们综合运用所学知识的能力。
当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由1个人把这些全部组合搭建在一起。我们使用的是html和php相互嵌套使用,当1个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。
我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而php是我刚接触不久的1种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这1个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。
第3篇:数据库课程设计心得体会
经过近1个月的设计与制作,我们组的《2015世界杯观战指南》终于完成了,现将过程中遇到的问题、获得的体会记录如下。
这次数据库课程设计中我主要负责用户登录、注册及数据库维护方面的设计。
1.delphi是1款功能很强大的软件,其控件之多超出了我的想象,因此在运用时要借助很多资料。要学会查找和利用现有资料来解决问题
2.在设计中用到了很多sql语句,因此对sql及程序语句地掌握也是必不可少的。
3.后期的软件制作都是以前期的工作为基础的,因此在前期的需求分析及数据库设计阶段要认真、细致。
4.我们是3个人的小组,在设计过程要互相协调,合作。这样才能充分发挥每个人的作用。
第4篇:数据库课程设计心得体会
这次数据库课程设计用的是microsoft visual foxpro 6.0 ,而我们平时用的microsoft sql server 2000,虽然对vfp完全陌生,但在老师的指引下,我们近乎完美的完成了课程设计。当然过程是艰辛的。
面对着完全陌生的操作环境vfp,许多同学开始埋怨,要求用sql,用我们学过的asp等来完成设计。但我们慢慢发现用vfp做课程设计其实很有优势,于是它的这个优势激发了我们去了解它的欲望。老师先将vfp中基本的建数据库,建表以及建表单等向我们演示了一遍,我们也仿照着做了,发觉并不是很难。但想到这次课程设计做的是一套学生学籍和成绩管理系统,我们又开始茫然了。那天,老师给我们看了一段可以让文字循环移动的代码,这使我们产生了好奇心理,有了快速了解它的冲动。因为用面向对象的语言做特效,这还是第一次。下课之后我把那段我们不了解的语言写的特效代码发到了vfp论坛上请人帮忙解释,最后我们完全理解了那段代码的意思。
这次课程设计我们克服了炎热的天气(学校机房之前没装空调……后来设计完才装……),也克服对新知识的恐惧感以及畏难情绪。我们懂得了团队合作的重要性,也懂得了团队中如何交流、如何分工,如何集体讨论难点。我们充分利用了网络资源(技术论坛,共享的实例等)。
我们喜欢这次课程设计的感觉,喜欢编程,喜欢团队交流。
三 : 学习数据库的心得
转眼间在从大一踏进学校的校门到现在刚刚好一年了,在这一年中,数据库也如影随形。
在这一年中我主要学习的数据库是sql serverXX,在学习的时候过程中,我们首先是从基础开始,比如数据类型、运算符号、关键字等等,然后上升到一些增删改查,还有触发、存储过程等的使用等等。
经过了一学期的学习,我从起初对数据库的认识模糊到后来清晰,深入,我认为我学到了许许多多的东西。当然,在学习中,薛立柱会给我们在网上下很多的学习资料,同时他也会建议我们多读读网上的学习资料。除了这个以外,我在学习数据库课程过程中,接触到的软件工程思想,网上学习经验,以及利用网络的学习资源都很好的改善了我的学习。后来,在学习的深入中,虽然学习有时是十分叫人感到枯燥乏味的,但我庆幸的是我坚持了下来,在最后的考试复习中,薛立柱老师虽然劝诫我学习不要因为考试而停止。是啊!要想学好一门功课我们需要的是持之以恒的精神。
数据库编程,这个是作为一个程序员的基本功,绝大多数软件开发公司数据库编程都是由程序员自己完成的,因为他的工作量不是很大,也不是很复杂。所以作为一个综合的程序员,学习数据库编程,像数据库四大操作,增删改查,还有触发、存储过程等的使用,这些都是基础的基础。很多时候我们会认为数据库没什么作用,学习的时候吊儿郎当,到今年做项目时,还不会连接查询,要想避免这种情况发生就必须打好基础,扎实的掌握每个知识点。
只要你从事计算机行业,就需要学习好数据库的基础知识,不论以后选择哪个方向,数据库的学习都不能放松。古人云:书到用时方恨少,知识学多了不会成为累赘,慢慢的积累,总有用到的时候。给自己明确一个目标,剩下的就是向着这个目标努力,无论遇到什么困难,克服它就向成功迈进了一步。
学习数据库的心得(2):
一:学习心得
经过一个学期的数据库课程的学习,我们掌握了创建数据库以及对数据库的操作的基础知识。数据库这门课涉及到以前的知识不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较容易掌握的课。
课堂上讲的知识比较理论化,如果不动手就无法将知识转化为技能,而动手去做能够让我们将学过的知识在实践中运用,找到知识漏洞,并且能学到更多关于实际操作的知识和技巧。并且培养了我们的自学能力。
第一次接触sql语言,虽然陌生,但是可以让我从头开始学,就算没有基础的人也可以学得很好。刚开始练习sql语言的时候,并不是很难,基本上都是按照老师的步骤来做,还很有成就感。我们通过老师的一些ppt,我们可以巩固课内的知识,还可以学习内容相关的知识,更好地完成老师布置的作业。
二、access与excel的区别
access--中小型数据库开发系统,内嵌vba编程语言,面向对象编程
excel--数据表格处理系统,编程能力有限.
access是数据库管理软件,内含的是数据库(基本对象),一个数据库包含多张表 主要用于开发系统 ,日常办公用起来不方便,他主要是做软件的后台的。
而excel只是一般的表格处理软件,主要用于一些日常的办公而已
两都所用到的地方不一样.
access是一个数据库软件,一个access文件由存储特定结构化数据集的表集合组成。表中包含行(有时称作记录或元组)和列(有时称作特性)的集合。表中的每一列都设计为存储某种类型的信息(例如,日期、名称、美元金额或数字)。表上有几种控制(约束、规则、触发器、默认值和自定义用户数据类型)用于确保数据的有效性。表上可以有索引(与书中的索引非常相似),利用索引可以快速地找到行。可将声明引用完整性 (dri) 约束添加到表上,以确保不同表中相互关联的数据保持一致。
学习数据库的心得_数据库学习
61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1