数据库开发
文章平均质量分 71
笨蛋糕
当你的才华还不足以撑起你的野心时,你应该静下心去学习!
展开
-
数据库系统基础
一、关系处理查询和查询优化1、查询优化——代数优化(指关系代数表达式的优化),物理优化(指存取路径和底层操作算法的选择)。2、RDBMS查询分4个阶段~1、查询分析——即判断查询语句是否符合SQL语法规则。~2、查询检查——一般用查询树来表示扩展的关系代数表达式。此过程中要把数据库对象的外部名称转换为内部表示。~3、查询优化——可以是基于代价,基于规则,基于语义的。原创 2013-03-13 17:36:49 · 753 阅读 · 0 评论 -
数据库开发(12)并发控制
1、当数据库中有多个事务并发执行时,事务的隔离性不一定能保持。确保隔离性的方法之一是要求对数据项以互斥的方式进行访问。2、锁的使用需要先申请lock-S(Q),事务只有在并发控制器授予所需锁后才能继续其操作。共享锁和排他锁的使用可以让多个事务读取一个数据项但是限制同时只能有一个事务进行写操作。3、共享型与共享型是相容的,而与排他型不相容。在任何时候,一个具体的数据项上可同时有(被不同的事务原创 2014-02-14 13:50:18 · 960 阅读 · 0 评论 -
数据库开发(11)事务
1、从用户观点看,数据库中一些操作的集合被认为是一个独立单元。2、事务:构成单一逻辑工作单位的操作集合。(ACID特性)即使有故障,数据库系统也必须保证事务的正确执行——要么执行整个事务,要么属于该事务的操作一个也不执行。3、事务是访问并可能更新各种数据项的一个程序执行单元。事务用形如begin transaction和end transcation语句(或函数调用)来界定。事务由以上原创 2014-02-14 10:21:00 · 792 阅读 · 0 评论 -
数据库开发(8)索引与散列
1、有两种基本的索引类型:顺序索引:基于值的顺序排列。散列索引:基于将值平均分布到若干散列桶中。一个值所属的散列桶是由一个散列函数决定的。2、对于技术选用基于以下因素考虑:1)访问类型:访问类型可以包括找到具有特定属性值的记录,以及找到属性值落在某个特定范围内的记录。2)访问时间:在查询中使用该技术找到一个特地给数据项或数据项集所需要的时间。3)插入时间:插入一个新数据项所原创 2014-02-13 15:08:28 · 1882 阅读 · 0 评论 -
数据库开发(4)E-R模型
1、实体-联系数据模型是一个广泛用于数据库设计的数据模型,它提供了一个方便的图形化表示方法以查看数据、联系和约束。我们通过把每个实体同描述该实现的一组属性相关联系来表示区别。联系是多个实体间的关联。相同类型的联系的集合为联系集,相同类型的实体的集合为实体集。2、映射的基数表示可以通过联系集可以和另一实体相关联的实体的个数。不具有足够属性构成主码的实体集称为弱实体集。具有主码原创 2014-02-08 23:35:22 · 1915 阅读 · 0 评论 -
数据库开发(17)数据与仓库与数据挖掘
1、数据库查询语言不适合对数据执行详细的统计分析。2、数据仓库:是一个将从多个数据源中收集来的信息以统一模式存储在单个站点上的仓储(或归档)。一旦收集完毕,数据会存储很长时间,允许访问历史数据。给用户提供了一个单独的、统一的数据接口,易于决策支持查询的书写。3、何时和如何收集数据:在收集数据的源驱动架构中,数据源连续的(发生事务处理时)或周期性地传输新信息。在目标驱动架构中,数据仓原创 2014-02-24 10:39:41 · 889 阅读 · 0 评论 -
数据库开发(18)信息检索
1、信息检索:指的是非结构化文本数据的查询。2、基于用户输入来定位相关文档构成了信息检索的过程,用户输入包括关键字、示例文档等。用户预期的文档通常用关键字集合来描述。信息检索系统一般允许使用由关键字和逻辑连接词(and,or,not)组成的查询表达式。在全文检索中,每份文档中的所有词都当作关键字。我们用术语来表示文档中的词。一份文档对一个术语的相关性称作术语频率(TF)。一个查询Q原创 2014-02-24 14:50:13 · 999 阅读 · 0 评论 -
数据库开发(19)基于对象的数据库
1、建立面向对象的数据库系统,即一个以本地方式支持面向对象类型系统,而且允许面向对象编程语言使用本地语言的类型系统直接访问数据的数据库系统。2、自动地将编程语言的本地类型表示的数据转换为关系数据库的表示形式,反之亦然。数据转换由对象-关系映射来说明。3、基本数据项是相当小的记录,且记录的域是原子的,即它们没有本进一步机构化,并且第一范式成立。而且只有少数几种记录类型。3、多重继承:即一原创 2014-02-24 15:32:56 · 968 阅读 · 0 评论 -
数据库开发(20)XML
1、XML——可扩展标记语言,用来表示数据。当一个应用程序必须与另一个应用程序进行通信或是从一些其他的应用程序中整合信息时,XML作为一种数据格式特别有用。2、在电子文档处理中,标记语言就是对文档的哪部分是内容、哪部分是标记以及标记含义的形式化描述。标签是成对使用的,如Database System Concepts 和HTML不同,XML没有指定的标签集,每个应用可以选择自己需要的标原创 2014-02-25 08:55:29 · 821 阅读 · 0 评论 -
数据库开发(2)关系模型
1、关系数据模型建立在表的集合的基础上。数据库系统的用户可以对这些表进行查询,可以插入新元组、删除元组以及更新(修改)元组。关系的模式是指它的逻辑设计,而关系的实例是指它在特定时刻的内容。数据库的模式和实例的定义是类似的。关系的模式包括它的属性,还可能包括属性类型和关系上的约束,比如主码和外码约束。关系的超码是一个或多个属性的集合,这些属性上的取值保证可以唯一识别出关系中的元组。候选码原创 2014-02-06 12:30:09 · 823 阅读 · 0 评论 -
数据库开发(1)引言
1、数据库管理系统(DBMS)由相互关联的数据集合以及一组用于访问这些数据的程序组成。用来存储大量的信息。数据的管理既包括信息存储结构的定义,也包括提供处理信息的机制。一个主要的目的是为用户提供数据的抽象视图,也就是说,系统隐藏数据存储和维护的细节。数据库结构的基础是数据模型:一个用于描述数据、数据之间的联系、数据语义和数据约束的概念工具的集合。数据操纵语言(DML)是使得用户可以访问原创 2014-02-06 12:02:23 · 962 阅读 · 0 评论 -
数据库开发(21)高级应用开发
1、性能调整包括发现和消除瓶颈,以及添加适当的硬件,如内存或硬盘。基准是一些任务的标准化集合,他们有助于刻画数据库系统的性能特征。测试要求生成数据库状态和测试输入,并验证输出是否匹配预期的输出。2、批量更新:允许使用单次数据库通信来执行多个插入操作。嵌套子查询:如果一个子查询没有被去除相关性,它会被重复的执行,这可能导致大量的随机I/O。批量导入:从文件读取数据,以一种非常高效原创 2014-02-25 08:57:53 · 766 阅读 · 0 评论 -
数据库开发(13)恢复系统
1、故障分类:事务故障:有两种错误可能造成事务执行失败:1)逻辑错误:事务由于某些内部条件而无法继续正常进行,这样的内部条件如非法输入、找不到数据、溢出或超出资源限制。2)系统错误:系统进入一种不良状态(如死锁),结果事务无法继续正常进行。但该事务可以在以后的某个时间重新执行。系统崩溃:硬件故障,或是数据库软件或操作系统的漏洞,导致易失性存储器内容的丢失,并使得事务处理停止。而非易原创 2014-02-19 19:56:58 · 1047 阅读 · 0 评论 -
数据库开发(15)并行数据库
1、I/O并行:是指通过将关系划分到多张磁盘上来缩减从磁盘上对关系进行检索所需的时间。划分技术:轮转法:适合于希望对每个查询顺序地读整个关系的应用。散列划分:适合于基于划分属性的点查询。范围划分:适合于在划分属性上的点查询和范围查询。2、偏斜处理:当划分一个关系时,元组的分布可能发生偏斜,即某些分区中放置了很高的百分比的元组,而其他分区中只有很少的元组。表现形式如下:原创 2014-02-19 21:42:34 · 979 阅读 · 0 评论 -
数据库基础
一、绪论1、数据模型——第一类概念模型,主要用于数据库设计。第二类包括层次模型、网状模型、关系模型、面向对象模型和对象关系模型,主要用于DBMS的实现。2、数据模型的组成元素——1.数据结构。2.数据操作。 3.数据的完整性约束条件。3、概念模型——1.实体。2.属性。3.码。4.域。5.实体型。6.实体集。7.联系。4、实体之间的联系——1.一对一原创 2013-03-12 20:40:39 · 482 阅读 · 0 评论 -
VC++下ADO数据库操作的封装类
一、ADO 对象对象说明CommandCommand 对象定义了将对数据源执行的指定命令。Connection代表打开的、与数据源的连接。DataControl (RDS)将数据查询 Recordset 绑定到一个或多个控件上(例如,文本框、网格控件或组合框),以便在 W原创 2014-01-20 11:50:05 · 2405 阅读 · 0 评论 -
数据库开发(3)SQL
1、SQL语言包括:数据定义语言(DDL),它提供了定义关系模式、删除关系以及修改关系模式的命令。数据操纵语言(DML),它包括查询语言,以及往数据库中插入元组、删除元组和修改元组的命令。完整性(破坏完整性约束的更新是不允许的),视图定义,事务控制,授权。2、SQL标准支持多种固有类型:char(n)固定长度的字符串,varchar(n)可变长度的字符串,int整数类型,sma原创 2014-02-06 20:25:39 · 786 阅读 · 0 评论 -
数据库设计与应用开发
一、关系数据理论1、规范化——1.函数依赖。2.码。3.范式。4.2NF。5.3NF。6.BCNF。7.多值依赖。8.4NF。2、数据依赖的公理系统——自反律、增广律、传递律。合并规则、伪传递规则、分解规则。3、模式的分解——分解要具有无损连接性。分解要保持函数依赖。既要保持函数依赖,又要保持无损连接性。二、数据库设计1、三分技术,七分管理,十二分基础数据。2、设计方法——原创 2013-03-12 21:53:49 · 1764 阅读 · 0 评论 -
数据库开发(16)分布式数据库
1、分布式数据库系统由松散耦合的站点组成,这些站点不共享物理部件。原创 2014-02-21 19:22:05 · 857 阅读 · 0 评论 -
数据库开发(14)体系结构
1、集中式系统:现代计算机包括一到多个处理器,以及若干设备控制器,它们通过公共总线连接在一起,提供对共享内存的访问。处理器具有本地的高速缓冲存储器,用于存放主存储器中部分数据的本地拷贝,从而加快对数据的访问。告诉缓冲存储器减少了处理器需要访问共享主存储器的次数,从而减少了对主存储器访问的竞争。2、客户-服务器系统:后端负责存取结构、查询计算和优化、并发控制以及故障恢复。数据库系统的原创 2014-02-19 20:43:58 · 752 阅读 · 0 评论 -
数据库开发(10)查询优化
1、查询优化:从众多的策略中找出最有效的查询执行计划的一种处理过程。2、给定一个关系代数表达式,查询优化器的任务是产生一个查询执行计划,该计划能获得与原关系表达式相同的结果,并且得到结果集的执行代价最小(或至少是不比最小执行代价大多少)。3、查询执行计划的产生有三步:1)产生逻辑上与给定表达式等价的表达式。2)对所产生的表达式以不同方式做注释,产生不同的查询计划。3)估计每个计原创 2014-02-13 17:57:01 · 843 阅读 · 0 评论 -
数据库开发(9)查询处理
1、查询处理步骤:1)语法分析与翻译。系统首先必须把查询语句翻译成系统的内部表示形式(关系代数表达式)。语法分析器检查用户查询的语法,验证查询中出现的关系名数据库中的关系名等。2)优化。构造具体有最小查询执行计划代价。为了优化查询,查询优化器必须知道每个操作的代价。3)执行。2、查询执行计划:用云执行一个查询的原语操作序列。查询执行引擎:接受一个查询执行计划,执行该计划并把结果原创 2014-02-13 16:00:35 · 1034 阅读 · 0 评论 -
数据库开发(7)存储和文件结构
1、存储介质:高速缓存存储器、主存储器、快闪存储器、磁盘存储器、光学存储器、磁带存储器。2、存储类型:基本存储、辅助存储、脱机存储、易失性存储。3、磁盘盘片的表面从逻辑上划分为磁道,磁道又划分为扇区,扇区是从磁盘读出和写入信息的最小单位。磁盘质量的主要度量指标是容量、访问时间、数据传输率和可靠性。访问时间:从发出读写请求到数据开始传输之间的时间。数据传输率:从磁盘获得数原创 2014-02-13 11:33:58 · 1681 阅读 · 0 评论 -
数据库开发(6)应用设计与开发
1、几乎所有的用户与数据库之间的交互都是通过应用程序间接发生的。一个典型的应用程序包括一个处理用户界面的前端部分,一个和数据库通信的后端部分,一个包含“业务逻辑”的中间层,即执行特定的信息请求或更新代码。2、超文本标记语言HTML标准,它既支持信息的格式化显示,又支持基于表格的界面的创建。3、统一资源定位符URL是Web上每个可访问文档在全球唯一的名字。例如http://www.acm.o原创 2014-02-09 11:22:38 · 1169 阅读 · 0 评论 -
数据库开发(5)关系数据库设计
1、一个真实的数据库拥有大量模式以及数量甚至更多的属性。2、函数依赖:某个属性集决定另一个属性集时,称另一属性集依赖于该属性集。3、对于组合属性,让每个子属性本身称为一个属性。对于多值属性,为多值集合中的每个项创建一条元组。4、一个域是原子的,如果该域的元素被认为是不可分的单位,我们称一个关系模式R属于第一范式1NF。重要的问题不是域本身是什么,而是在数据库中如何使用域元素。使原创 2014-02-09 00:17:55 · 879 阅读 · 0 评论 -
数据库开发(22)高级事务处理
1、事务是一个程序的单位,它对各种数据项进行访问或更新,它的执行确保具有ACID特性。2、多任务调度:操作系统通过在进程间的切换来划分可利用的CPU时间。在一个进程和下一个进程之间的咩次上下文切换都需要相当大的CPU开销。3、服务器是多线程的:服务器进程对每个客户端有一个线程来控制,并且事实上是在实现它自己的低开销多任务调度。它为一个客户端执行一段时间的代码,然后保存内部的上下文,并切原创 2014-02-25 17:06:30 · 951 阅读 · 0 评论