数据库应用技术怎样才能学好

数据库应用技术怎样才能学好,第1张

关于数据库

1,数据库的诞生,发展,应用,组成等等的概念和关系型数据库

2,数据库模型

3,数据库的 *** 作和一些重要算法

4,SQL

这些是最基本,需要入门者去必须完全了解的东西。每个方面展开可以深可以浅,浅可以浅到中学生都会,深可以复杂到需要很厉害的数学和逻辑,看你的需要了,如果深一些涉及的算法和设计数据库方面的内容多一些,浅显一点也是比较实用的。

至于在这之前吧,你需要有一个好的编程解决问题的基础,必须会用算法语言来解决问题,重要的是你知道编程的思想和解题的方法,哪怕是非过程化的高级语言也是可以的,但是一定要有良好的规范的编程基础。

计算机,顾名思义,是用来计算的机器,它本身并不具有思维能力,将它叫做电脑实在是

言过其实。无论多么复杂的程序,所从事的都是比较、赋值、循环等基本的运算。我们要

编程序解决实际问题,就是要将实际问题的解题步骤用这些基本运算描述出来,这种描述

就是算法。

如何才能将实际问题的解题步骤描述出来呢?这就要建立数学模型。有些问题的数学模型

非常明显,有些问题则比较含蓄。比如说,岗哨设置问题,这个问题可以建立明显的数学

模型,也就是图论模型。有了这个模型,就可以用图论中的相关定理来解决此问题,计算

机所起的作用不过是按照算法计算结果。对于像走迷宫之类的问题,看上去没有明显的数

学模型,只能用回溯法搜索,但实际上这种搜索法本身就是一个数学模型,这个模型叫做

状态空间模型,即在某一个状态空间(状态的集合)内,从某个初始状态开始,通过某种

规则或运算,转移到目标状态。如果状态A可以通过状态转移规则转移到状态B,则从A到B

连一条有向边,这样整个状态空间构成一个网络,只要找到从初始状态到目标状态的路径

即可,于是搜索法又转化为图论模型。也许对有些问题建立严格的数学模型并不能简化问

题的求解,但是可以通过该模型将特殊的问题转化为一般的问题,至少具有理论分析(比

如复杂性分析)上的意义。

要建立数学模型,首先要将问题中的对象以及它们之间的相互关系用数学语言描述,这就

涉及到对象如何表示的问题,也就是采用什么样的抽象数据类型(ADT)来描述对象。所采用

的ADT应该能够方便清晰地表现出对象之间的相互关系(包括显式的和隐式的)。然后在A

DT上定义一些运算(可以暂时不关心运算的实现),将问题的解决步骤转化为ADT的运算的

序列。至于ADT的运算,可以转化为更小的子ADT运算来实现。转化到最后,分解到最小了

,就必须考虑抽象数据类型ADT如何存储在计算机的存储器中,即数据的描述方法。最常见

的数据描述方法有:公式化描述、链接描述、间接寻址和模拟指针。

1。公式化描述借助数学公式来确定元素表中的每个元素分别存储在何处 (存储器地址)。

最简单的情形就是把所有元素依次连续存储在一片连续的存储空间中,这时采用的公式是

location(i)=location(1)+(i-1),其中location(i)表示第i个元素的地址,并假设每个元

素占用一个内存单元。这也就是通常所说的连续线性表,即数组。

2。在链接描述中,元素表中的每个元素可以存储在存储器的不同区域中,每个元素都包含

一个指向下一个元素的指针(即内存中的地址)。

3。在间接寻址方式中,元素表中的每个元素也可以存储在存储器的不同区域中,不同的是

,此时必须保存一张表,该表的第i项指向元素表中的第i个元素,所以这张表是一个用来

存储元素地址的表。

4。模拟指针非常类似于链接描述,区别在于它用整数代替了指针,整数所扮演的角色与指

针所扮演的角色完全相同。如果所有模拟指针分配的内存单元是一片连续的内存地址,则

称其为游标描述或静态链表描述。

所有的基本ADT,比如说图、树、线性表等,最后都要用以上四种描述方法中的一种或几种

描述方法存储在存储器中。至于选择哪一种描述方法,要根据ADT上定义的运算来确定,总

的原则是使运算易于实现并且占用的资源尽量少。对于某些复杂的ADT,比如堆、优先队列

等,则是用基本ADT来实现。因此ADT呈现出一种层次继承关系。

在构造算法的过程中还有一个难点,就是如何将解决问题的步骤用ADT的运算描述。这个过

程没有固定的方法,只能靠经验的积累和一时的灵感。但是一般可以采取以下几个策略:

递归策略,分治策略,贪心策略,动态规划策略,搜索策略,随机策略,模拟策略等。这

些算法设计策略只是一种算法设计思想,并非固定的法则。必须分清楚各种策略的适用条

件和相互间的联系区别,在考虑问题时才能够正确地选择算法策略。

另外,熟悉常用抽象数据类型的各种实现方法和一些常用算法也很大帮助。因为许多问题

可以转化为类似的经典问题,或者可以分解为若干子问题,而这些子问题可以用经典的算

法和抽象数据类型解决。其中,最常用的算法策略应该是搜索策略,几乎所有的问题都可

以用此策略解决(但是未必可行)。这种策略充分利用了计算机计算速度快的特性,在许

多情况下可以在合理的时间内找到问题的最优解。但是,对于有些问题,虽然可以用搜索

法解决,但是时间复杂性无法忍受,所以不可以滥用搜索法,在使用搜索法之前要先估计

时间复杂性。即使使用了搜索法,也要根据实际情况进行优化,通常采用启发式搜索、A算

法、A算法或界限剪枝法,目的是为了减少搜索的时间复杂性。还有一些看上去只能用搜

索法或穷举法的问题可以考虑用动态规划法和贪心法。值得注意的是,对于有些问题,比

如NP-完全问题,用任何算法都无法在多项式时间内解决,这时可以考虑寻找近似解法,得

到较优解或最优解的上下界,一般是采用贪心算法策略构造近似解法。

以上是我的学习体会,下面说说我对学习算法和数据结构这门课的建议。

对于编程的初学者,可以先通过简单的排序算法了解最简单的ADT线性表的常用 *** 作;然后

要重点掌握递归技术,包括递归和递推的相互转换。递归技术非常重要,可以通过递归技术

了解ADT栈的 *** 作;接着学习搜索法的初步——回溯法,研究经典问题八皇后问题和走迷宫

问题,通过这些经典问题了解深度优先搜索法(DFS)和宽度优先搜索法(BFS)以及ADT栈、A

DT队列的 *** 作,要学会利用人工设置堆栈模拟递归;接着可以学习分治法、贪心法这两种

常用的策略,并应用到排序、搜索等简单的算法中;这时再开始学习图和树这两种抽象数

据类型就应该没有什么难度了。在学习ADT图和ADT树时,要注意结合离散数学中的图论理

论知识和搜索法中的DFS,BFS方法,要学会将实际问题转化为图论模型;再下去可以学习

各种搜索法的优化算法,启发式搜索、A算法、A算法或界限剪枝法等;然后是网络流算法

,要注意模型的建立;最后学习最优化问题的解法,包括线性规划、动态规划、非线性规

划等算法策略,这部分内容主要侧重模型的建立和分析,算法本身并没有难度。这样基本

的算法就学习完了。再深入一点可以学习问题的计算复杂性,计算模型,并行算法,神经

网络以及各个领域中的具体算法。

还有>

目前关系型数据库是主流,代表系统是SQL Server、Mysql、accsee等

要学好数据库首先要掌握基本知识,了解什么是数据库三范式,如何在给定条件下进行查询。

然后要了解如何进行数据库设计,最好能够理论联系实践,才能更快的进步。

最主要的是一定要养成良好的是查询书写习惯和数据库设计习惯,这样才能事半功倍

好像武侠小说里边说的:“你的招式忘了没有?”,回答:“差不多忘了”,“忘了就好”。

这与数据库编程有什么关系?关系可大了。同志们学过Pascal、BASIC、C(C++)没有?如果没有,FOXBASE、FOXPRO应该学过吧?按以上这些语言编程,都是过程化的,说白一点就是一个数据一个数据、一条记录一条记录去处理(FOXBASE、FOXPRO不完全这样,但书上也经常是这样介绍的),当初我接触ACCESS 97时,一下子没有了IF、FOR这些语句(指数据处理),都用SQL语句,真是找不到北了,好在我学SQL语言时,也尽量忘掉这个IF、FOR,到我忘得差不多时,功夫也进了一大步,原来要编一大段程序,现在一两条SQL语句搞定,就算用多几条SQL语句,由于是在图形界面下做,可视化 *** 作,拉拉扯扯,再修改一下生成的SQL语句,也就省事多了。

由于ACCESS具备完整的SQL语言(FOXBASE没有、FOXPRO不完整),我从ACCESS 97开始用ACCESS编程,到现在为止,DAO、ADO很少用,加上最近从爱赛思上接触的一些技术,基本上不用DAO、ADO都可以了,可以从我的“未完工的库存管理”中看出,只是在特殊情况下才偶尔用一下。(少用,但不是不用,还得学,不要误解)

如何学好数据库编程?下面介绍一下本人的一些经验,仅供参考:

1首先要把原来一个数据一个数据、一条记录一条记录的数据处理方式忘掉,越彻底越好。

现在用成批处理了。少用记录集一条记录一条记录地处理,尽量用SQL语句。

2学好关系数据库的理论,尤其是规范化理论,表的设计一定要规范化,最起码要规范化到第三范式。集合运算(并、交、差)。关系运算(选择、投影、连接)。其中连接与规范化是紧密结合的。

3运用面向对象的技术:面向对象的分析OOA、面向对象的设计OOD、面向对象的编程OOP,根据表的关系,用窗体和子窗体、报表和子报表,仿真面向对象,这样可以增加程序的可读性和可维护性。(这是高级技术,同志们不要轻视,做大项目你就知道有用了)

4用查询时,通常一步做不出来,可以分几步做,本人通常是这么做的,从我给网友回复的例子中也可以看得出。为什么要这样做?(1)有些是SQL语言的限制,没办法一步做出来,逼的;(2)可以检查每一步查询的结果,容易调试;(3)增加可读性,便于日后维护。

5查询的结果用窗体显示或用报表打印,两者的技术差不多。通常改变打开窗体或报表的条件就可控制显示或打印的记录范围。另外用查询做数据源时,动态改变查询中的SQL语句,比在查询中引用窗体的控件要方便,因为SQL语句生成是在VBA中,可以先存放在字符变量中,然后再更新查询的SQL语句,这样就可以用断点来检查变量值对不对,如果在查询中引用窗体的控件,尤其是包含IIF()函数时,调试是很困难的。

6开发一个系统,首先要解决技术问题,即算法,用简单例子,把算法弄懂了,再详细设计,这一点从网友的提问中可以看出,有很多人问题表达不清楚,有的人其中夹了很多与算法无关的东西,尤其是很专业的东西,别人不容易看得明白,由于算法没搞清楚,程序就无法编了。

7不要使用过多的工具特性,使用过多的工具特性会使可读性降低,可维护性差,要别人帮忙时难以得到帮助,更要命的是可移植性差,从MDB到ADP就可以体会到了,所以在编程时可读性很重要,可移植性更重要,你甘心自己的程序就固定在一个环境下运行吗?你甘心永远用一个工具搞开发吗?为了你的“钱途”,不要玩弄太多的技巧,当然技术研究是另外一码事。

sql入门讲座

SQL Server 2000 看图教程pdf

轻松搞定 sql server 2000 程序设计pdf

SQLServer2000开发者指南pdf

SQL Server 2000编程员指南pdf

Oracle_8i_PL_SQL高级程序设计pdf

Oracle Developer使用指南pdf

Oracle_8 & 8i开发使用手册pdf

VB 和 SQL Server 编程指南

Visual Basic 开发Web数据库指南

VisualBasic的数据库开发应用

VisualBasic6数据库编程大全

Visual Basic6_X程序设计—SQL应用

Visual Basic6_0 中文版数据库和Internet

书籍下载地址:>

现在主流的数据库有以下几种

1 SQL Server

2 Oracle

3 Sybase ASE

4 DB2

这些数据库的运行环境及平台都有差异性,如果你要学好数据库,首先你要定位以后的发展方向,对以上数据库多做些了解,给你一个参考网址希望能有帮助>

以上就是关于数据库应用技术怎样才能学好全部的内容,包括:数据库应用技术怎样才能学好、如何学好数据库、怎么样学好数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9310856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存