首页数据库数据库高级应用?数据库的应用是什么

数据库高级应用?数据库的应用是什么

编程之家2023-10-1888次浏览

老铁们,大家好,相信还有很多朋友对于数据库高级应用和数据库的应用是什么的相关问题不太懂,没关系,今天就由我来为大家分享分享数据库高级应用以及数据库的应用是什么的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

数据库高级应用?数据库的应用是什么

求数据库应用题

数据库语言的目标

要说清这个目标,先要理解数据库是做什么的。

数据库这个软件,名字中有个“库”字,会让人觉得它主要是为了存储的。其实不然,数据库实现的重要功能有两条:计算、事务!也就是我们常说的 OLAP和 OLTP,数据库的存储都是为这两件事服务的,单纯的存储并不是数据库的目标。

我们知道,SQL是目前数据库的主流语言。那么,用 SQL做这两件事是不是很方便呢?

事务类功能主要解决数据在写入和读出时要保持的一致性,实现这件事的难度并不小,但对于应用程序的接口却非常简单,用于操纵数据库读写的代码也很简单。如果假定目前关系数据库的逻辑存储模式是合理的(也就是用数据表和记录来存储数据,其合理性与否是另一个复杂问题,不在这里展开了),那么 SQL在描述事务类功能时没什么大问题,因为并不需要描述多复杂的动作,复杂性都在数据库内部解决了。

但计算类功能却不一样了。

数据库高级应用?数据库的应用是什么

这里说的计算是个更广泛的概念,并不只是简单的加加减减,查找、关联都可以看成是某种计算。

什么样的计算体系才算好呢?

还是两条:写着简单、跑得快。

写着简单,很好理解,就是让程序员很快能写出来代码来,这样单位时间内可以完成更多的工作;跑得快就更容易理解,我们当然希望更短时间内获得计算结果。

其实 SQL中的 Q就是查询的意思,发明它的初衷主要是为了做查询(也就是计算),这才是 SQL的主要目标。然而,SQL在描述计算任务时,却很难说是很胜任的。

SQL为什么不行

数据库高级应用?数据库的应用是什么

先看写着简单的问题。

SQL写出来很象英语,有些查询可以当英语来读和写(网上多得很,就不举例了),这应当算是满足写着简单这一条了吧。

且慢!我们在教科书上看到的 SQL经常只有两三行,这些 SQL确实算是写着简单的,但如果我们尝试一些稍复杂化的问题呢?

这是一个其实还不算很复杂的例子:计算一支股票最长连续上涨了多少天?用 SQL写出来是这样的:

selectmax(consecutive_day)from(selectcount(*)(consecutive_dayfrom(selectsum(rise_mark) over(orderbytrade_date) days_no_gainfrom(selecttrade_date,case when closing_price>lag(closing_price) over(order by trade_date)then 0 else 1 END rise_markfrom stock_price))group by days\_no\_gain)

这个语句的工作原理就不解释了,反正有点绕,同学们可以自己尝试一下。

这是润乾公司的招聘考题,通过率不足 20%;因为太难,后来被改成另一种方式:把 SQL语句写出来让应聘者解释它在算什么,通过率依然不高。

这说明什么?说明情况稍有复杂,SQL就变得即难懂又难写!

再看跑得快的问题,还是一个经常拿出来的简单例子:1亿条数据中取前 10名。这个任务用 SQL写出来并不复杂:

SELECTTOP 10x FROMT ORDERBYx DESC

但是,这个语句对应的执行逻辑是先对所有数据进行大排序,然后再取出前 10个,后面的不要了。大家知道,排序是一个很慢的动作,会多次遍历数据,如果数据量大到内存装不下,那还需要外存做缓存,性能还会进一步急剧下降。如果严格按这句 SQL体现的逻辑去执行,这个运算无论如何是跑不快的。然而,很多程序员都知道这个运算并不需要大排序,也用不着外存缓存,一次遍历用一点点内存就可以完成,也就是存在更高性能的算法。可惜的是,用 SQL却写不出这样的算法,只能寄希望于数据库的优化器足够聪明,能把这句 SQL转换成高性能算法执行,但情况复杂时数据库的优化器也未必靠谱。

看样子,SQL在这两方面做得都不够好。这两个并不复杂的问题都是这样,现实中数千行的 SQL代码中,这种难写且跑不快的情况比比皆是。

为什么 SQL不行呢?

要回答这个问题,我们要分析一下用程序代码实现计算到底是在干什么。

本质上讲,编写程序的过程,就是把解决问题的思路翻译成计算机可执行的精确化形式语言的过程。举例来说,就象小学生解应用题,分析问题想出解法之后,还要列出四则运算表达式。用程序计算也是一样,不仅要想出解决问题的方法,还要把解法翻译成计算机能理解执行的动作才算完成。

用于描述计算方法的形式语言,其核心在于所采用的代数体系。所谓代数体系,简单说就是一些数据类型和其上的运算规则,比如小学学到的算术,就是整数和加减乘除运算。有了这套东西,我们就能把想做的运算用这个代数体系约定的符号写出来,也就是代码,然后计算机就可以执行了。

如果这个代数体系设计时考虑不周到,提供的数据类型和运算不方便,那就会导致描述算法非常困难。这时候会发生一个怪现象:翻译解法到代码的难度远远超过解决问题本身。

举个例子,我们从小学习用阿拉伯数字做日常计算,做加减乘除都很方便,所有人都天经地义认为数值运算就该是这样的。其实未必!估计很多人都知道还有一种叫做罗马数字的东西,你知道用罗马数字该怎么做加减乘除吗?古罗马人又是如何上街买菜的?

代码难写很大程度是代数的问题。

再看跑不快的原因。

软件没办法改变硬件的性能,CPU和硬盘该多快就是多快。不过,我们可以设计出低复杂度的算法,也就是计算量更小的算法,这样计算机执行的动作变少,自然也就会快了。但是,光想出算法还不够,还要把这个算法用某种形式语言写得出来才行,否则计算机不会执行。而且,写起来还要比较简单,都要写很长很麻烦,也没有人会去用。所以呢,对于程序来讲,跑得快和写着简单其实是同一个问题,背后还是这个形式语言采用的代数的问题。如果这个代数不好,就会导致高性能算法很难实现甚至实现不了,也就没办法跑得快了。就象上面说的,用 SQL写不出我们期望的小内存单次遍历算法,能不能跑得快就只能寄希望于优化器。

我们再做个类比:

上过小学的同学大概都知道高斯计算 1+2+3+…+100的小故事。普通人就是一步步地硬加 100次,高斯小朋友很聪明,发现 1+100=101、2+99=101、…、50+51=101,结果是 50乘 101,很快算完回家午饭了。

听过这个故事,我们都会感慨高斯很聪明,能想到这么巧妙的办法,即简单又迅速。这没有错,但是,大家容易忽略一点:在高斯的时代,人类的算术体系(也是一个代数)中已经有了乘法!象前面所说,我们从小学习四则运算,会觉得乘法是理所当然的,然而并不是!乘法是后于加法被发明出来的。如果高斯的年代还没有乘法,即使有聪明的高斯,也没办法快速解决这个问题。

目前主流数据库是关系数据库,之所以这么叫,是因为它的数学基础被称为关系代数,SQL也就是关系代数理论上发展出来的形式语言。

现在我们能回答,为什么 SQL在期望的两个方面做得不够好?问题出在关系代数上,关系代数就像一个只有加法还没发明乘法的算术体系,很多事做不好是必然的。

关系代数已经发明五十年了,五十年前的应用需求以及硬件环境,和今天比的差异是很巨大了,继续延用五十年前的理论来解决今天的问题,听着就感觉太陈旧了?然而现实就是这样,由于存量用户太多,而且也还没有成熟的新技术出现,基于关系代数的 SQL,今天仍然是最重要的数据库语言。虽然这几十年来也有一些改进完善,但根子并没有变,面对当代的复杂需求和硬件环境,SQL不胜任也是情理之中的事。

而且,不幸的是,这个问题是理论上的,在工程上无论如何优化也无济于事,只能有限改善,不能根除。不过,绝大部分的数据库开发者并不会想到这一层,或者说为了照顾存量用户的兼容性,也没打算想到这一层。于是,主流数据库界一直在这个圈圈里打转转。

SPL为什么能行

那么该怎样让计算写着更简单、跑得更快呢?

发明新的代数!有“乘法”的代数。在其基础上再设计新的语言。

这就是 SPL的由来。它的理论基础不再是关系代数,称为离散数据集。基于这个新代数设计的形式语言,起名为SPL(Structured Process Language)。

SPL针对 SQL的不足(更确切地说法是,离散数据集针对关系代数的各种缺陷)进行了革新。SPL重新定义了并扩展许多结构化数据中的运算,增加了离散性、强化了有序计算、实现了彻底的集合化、支持对象引用、提倡分步运算。

限于篇幅,这里不能介绍 SPL(离散数据集)的全貌。我们在这里列举 SPL(离散数据集)针对 SQL(关系代数)的部分差异化改进:

游离记录

离散数据集中的记录是一种基本数据类型,它可以不依赖于数据表而独立存在。数据表是记录构成的集合,而构成某个数据表的记录还可以用于构成其它数据表。比如过滤运算就是用原数据表中满足条件的记录构成新数据表,这样,无论空间占用还是运算性能都更有优势。

关系代数没有可运算的数据类型来表示记录,单记录实际上是只有一行的数据表,不同数据表中的记录也不能共享。比如,过滤运算时会复制出新记录来构成新数据表,空间和时间成本都变大。

特别地,因为有游离记录,离散数据集允许记录的字段取值是某个记录,这样可以更方便地实现外键连接。

有序性

关系代数是基于无序集合设计的,集合成员没有序号的概念,也没有提供定位计算以及相邻引用的机制。SQL实践时在工程上做了一些局部完善,使得现代 SQL能方便地进行一部分有序运算。

离散数据集中的集合是有序的,集合成员都有序号的概念,可以用序号访问成员,并定义了定位运算以返回成员在集合中的序号。离散数据集提供了符号以在集合运算中实现相邻引用,并支持针对集合中某个序号位置进行计算。

有序运算很常见,却一直是 SQL的困难问题,即使在有了窗口函数后仍然很繁琐。SPL则大大改善了这个局面,前面那个股票上涨的例子就能说明问题。

离散性与集合化

关系代数中定义了丰富的集合运算,即能将集合作为整体参加运算,比如聚合、分组等。这是 SQL比 Java等高级语言更为方便的地方。

但关系代数的离散性非常差,没有游离记录。而 Java等高级语言在这方面则没有问题。

离散数据集则相当于将离散性和集合化结合起来了,既有集合数据类型及相关的运算,也有集合成员游离在集合之外单独运算或再组成其它集合。可以说 SPL集中了 SQL和 Java两者的优势。

有序运算是典型的离散性与集合化的结合场景。次序的概念只有在集合中才有意义,单个成员无所谓次序,这里体现了集合化;而有序计算又需要针对某个成员及其相邻成员进行计算,需要离散性。

在离散性的支持下才能获得更彻底的集合化,才能解决诸如有序计算类型的问题。

离散数据集是即有离散性又有集合化的代数体系,关系代数只有集合化。

分组理解

分组运算的本意是将一个大集合按某种规则拆成若干个子集合,关系代数中没有数据类型能够表示集合的集合,于是强迫在分组后做聚合运算。

离散数据集中允许集合的集合,可以表示合理的分组运算结果,分组和分组后的聚合被拆分成相互独立的两步运算,这样可以针对分组子集再进行更复杂的运算。

关系代数中只有一种等值分组,即按分组键值划分集合,等值分组是个完全划分。

离散数据集认为任何拆分大集合的方法都是分组运算,除了常规的等值分组外,还提供了与有序性结合的有序分组,以及可能得到不完全划分结果的对位分组。

聚合理解

关系代数中没有显式的集合数据类型,聚合计算的结果都是单值,分组后的聚合运算也是这样,只有 SUM、COUNT、MAX、MIN等几种。特别地,关系代数无法把 TOPN运算看成是聚合,针对全集的 TOPN只能在输出结果集时排序后取前 N条,而针对分组子集则很难做到 TOPN,需要转变思路拼出序号才能完成。

离散数据集提倡普遍集合,聚合运算的结果不一定是单值,仍然可能是个集合。在离散数据集中,TOPN运算和 SUM、COUNT这些是地位等同的,即可以针对全集也可以针对分组子集。

SPL把 TOPN理解成聚合运算后,在工程实现时还可以避免全量数据的排序,从而获得高性能。而 SQL的 TOPN总是伴随 ORDER BY动作,理论上需要大排序才能实现,需要寄希望于数据库在工程实现时做优化。

有序支持的高性能

离散数据集特别强调有序集合,利用有序的特征可以实施很多高性能算法。这是基于无序集合的关系代数无能为力的,只能寄希望于工程上的优化。

下面是部分利用有序特征后可以实施的低复杂度运算:

1)数据表对主键有序,相当于天然有一个索引。对键字段的过滤经常可以快速定位,以减少外存遍历量。随机按键值取数时也可以用二分法定位,在同时针对多个键值取数时还能重复利用索引信息。

2)通常的分组运算是用 HASH算法实现的,如果我们确定地知道数据对分组键值有序,则可以只做相邻对比,避免计算 HASH值,也不会有 HASH冲突的问题,而且非常容易并行。

3)数据表对键有序,两个大表之间对位连接可以执行更高性能的归并算法,只要对数据遍历一次,不必缓存,对内存占用很小;而传统的 HASH值分堆方法不仅比较复杂度高,需要较大内存并做外部缓存,还可能因 HASH函数不当而造成二次 HASH再缓存。

4)大表作为外键表的连接。事实表小时,可以利用外键表有序,快速从中取出关联键值对应的数据实现连接,不需要做 HASH分堆动作。事实表也很大时,可以将外键表用分位点分成多个逻辑段,再将事实表按逻辑段进行分堆,这样只需要对一个表做分堆,而且分堆过程中不会出现 HASH分堆时的可能出现的二次分堆,计算复杂度能大幅下降。

其中 3和 4利用了离散数据集对连接运算的改造,如果仍然延用关系代数的定义(可能产生多对多),则很难实现这种低复杂的算法。

除了理论上的差异, SPL还有许多工程层面的优势,比如更易于编写并行代码、大内存预关联提高外键连接性能等、特有的列存机制以支持随意分段并行等。

再把前面的问题用 SPL重写一遍有个直接感受。

一支股票最长连续上涨多少天:

stock_price.sort(trade_date).group@o(closing_price

计算思路和前面的 SQL相同,但因为引入了有序性后,表达起来容易多了,不再绕了。

1亿条数据中取前 10名:

T.groups(;top(-10,x))

SPL有更丰富的集合数据类型,容易描述单次遍历上实施简单聚合的高效算法,不涉及大排序动作。

这里还有更多 SPL代码以体现其思路及大数据算法:

重磅!开源SPL交流群成立了

简单好用的SPL开源啦!

为了给感兴趣的小伙伴们提供一个相互交流的平台,

特地开通了交流群(群完全免费,不广告不卖课)

需要进群的朋友,可长按扫描下方二维码

谈谈对数据库高级应用的认识及展望

数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。

随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。本章主要介绍数据库技术的应用与发展、关系模型的基本概念、关系数据库的设计理论及数据库设计方法等内容,是学习和掌握现代数据库技术的基础。未来的数据管理系统将更快更强大。通过开放协议、Web服务、网络(计算)和 XML,它们能够对多个异构资源进行集成数据并通过应用和数据库交互。它们将成为自我管理、自我协调、高度自主的系统。

数据库的应用是什么

问题一:数据库到底是做什么的,和应用程序是什么关系?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

以上是百度百科的描述。

其实按我的理解,数据库就是可以系统的管理存储数据,例如你有大量的数据,只是用一些普通文件(如文本文件)来存储,想想看,当你想从中提取一项或一类信息时(特别是存储数据的文件还比较多时),是一件非常麻烦的事,但是有了数据库来存储管理,就很好办了,只要输入查询条件,即使数据非常多也可以很快的提取有用的信息。而且用数据库来存储数据,可以有效的控制操作权限,例如管理员和用户的权限是有区别的,不同的用户的权限也是有区别的,让不同的用户看到管理员想让他们看到的信息。你可以多上网搜搜,一定能找到你想找的的信息。

问题二:数据库应用系统的作用是什么 1、数据库的作用:

数据库是计算机应用系统中的一种专门管理数据资源的系统。

⑴实现数据共享

数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。

⑵减少数据的冗余度

同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

⑶数据的独立性

数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。

⑷数据实现集中控制

文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

⑸数据一致性和可维护性,以确保数据的安全性和可靠性

主要包括:安全性控制、完整性控制、并发控制,使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。

⑹故障恢复

由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。

问题三:数据库软件是干什么用的数据库:是按一定的数据模型组织长期地存储在计算机存储的设备上,具有共享性、安全性、独立性、冗余度低的相关数据的***。用于数据管理的软件系统。

数据库通常包括两个部分:一是按一定的数据模型组织并实际存储的所有用户可以直接伐使用的数据;二是有关数据库的定义的数据,用来描述相关的数据的结构、类型、格式、关系、完整性的约束等。

问题四:数据库应用软件的概念是什么数据库技术涉及到许多基本概念,主要包括数据、数据处理、数据库、数据库管理系统以及数据库系统等。

1.数据

数据是指存储在某一种媒体上能够识别的物理符号。数据的概念包括两个方面:其一是描述事物特性的数据内容;其二是存储在某一种媒体上的数据形式。

2.数据处理

数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。其目的之一是从大量的、原始的数据中抽取、推导出对人们有价值的信息以作为行动和决策的依据;目的之二是为了借助计算机科学地保存和管理复杂的、大量的数据,以便人们能够方便而充分地利用这些宝贵的信息资源。

3.数据库

数据库是与特定的主题或目的相关的数据的***。数据库可以直观地理解为存放数据的仓库,只不过这个仓库是在计算机的大容量存储器上(例如,硬盘就是一种最常见的计算机大容量存储设备)。而且数据必须按照一定的格式存放,因为它不仅需要存放,而且还要便于查找。

可以认为数据库是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据***。数据库技术使数据能按一定格式组织、描述和存储,且具有较小的冗余度,较高的数据独立性和易扩展性,并可为多个用户所共享。

4.数据库管理系统

数据库管理系统(DataBase Management System,简称DBMS)是对数据库进行管理的系统软件,它的职能是有效地组织和存储数据,获取和管理数据,接受和完成用户提出的访问数据的各种请求。

数据库管理系统主要功能包括以下几个方面。

(1)数据定义功能

DBMS提供了数据定义语言DDL(Data Definition Language),用户通过它可以方便地对数据库中的相关内容进行定义。例如,对数据库、表、索引进行定义。(2)数据操纵功能

DBMS提供了数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作。例如,对表中数据的查询、插入、删除和修改。

(3)数据库运行控制功能

这是DBMS的核心部分,它包括并发控制(即处理多个用户同时使用某些数据时可能产生的问题)、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(例如,索引的自动维护)等。所有数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性以及多个用户对数据库的并发使用。

(4)数据库的建立和维护功能

数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重新组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。它是数据库管理系统的一个重要组成部分。

5.数据库系统

数据库系统是指拥有数据库技术支持的计算机系统,它可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。数据库系统不仅包括数据本身,即实际存储在计算机中的数据,还包括相应的硬件、软件和各类人员。

问题五:数据库应用软件的概念是什么这个需要弄明白“数据库应用软件”指的是什么?

比如我用 access开发出一个通讯录软件,那么此时数据库应用软件指的是“access”呢还是“通讯录软件”;

如果是后者的话,就无法确定概念和组成了;如果指的是数据库软件,那么可以参考下百科中“数据库管理系统”相应的内容

数据库管理系统(database managementsystem)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过d胆ms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。

全文见

baike.baidu/view/68446

问题六:数据库应用系统是什么?数据库应用系统是在数据库管理系统(DBMS)支持下建立的计算机应用系统,简写为DBAS。数据库应用系统是由数据库系统、应用程序系统、用户组成的,具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、叮件平台、应用软件、应用界面。数据库应用系统的7个部分以一定的逻辑层次结构方式组成一个有机的整体,它们的结构关系是:应用系统、应用开发工具软件、数据库管理系统、操作系统、硬件。例如,以数据库为基础的财务管理系统、人事管理系统、图书管理系统等等。无论是面向内部业务和管理的管理信息系统,还是面向外部,提供信息服务的开放式信息系统,从实现技术角度而言,都是以数据库为基础和核心的计算机应用系统。

问题七:常用的数据库软件有哪些?它们的优缺点是什么?目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有Oracle、Sybase、INFORMIX和INGRES。这些产品都支持多平台,如 UNIX、VMS、Windows,但支持的程度不一样。IBM的DB2也是成熟的关系型数据库。但是,DB2是内嵌于IBM的AS/400系列机中,只支持OS/400操作系统。

1.MySQL

MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。

MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。

与其他数据库管理系统相比,MySQL具有以下优势:

(1)MySQL是一个关系数据库管理系统。

(2)MySQL是开源的。

(3)MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。

(4)MySQL服务器工作在客户/服务器或嵌入系统中。

(5)有大量的MySQL软件可以使用。

2.SQL Server

SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。

目前最新版本是SQL Server 2005,它只能在Windows上运行,操作系统的系统稳定性对数据库十分重要。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。

SQL Server提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。而且,由于其易操作性及其友好的操作界面,深受广大用户的喜爱。

3.Oracle

提起数据库,第一个想到的公司,一般都会是Oracle(甲骨文)。该公司成立于1977年,最初是一家专门开发数据库的公司。Oracle在数据库领域一直处于领先地位。 1984年,首先将关系数据库转到了桌面计算机上。然后,Oracle5率先推出了分布式数据库、客户/服务器结构等崭新的概念。Oracle 6首创行锁定模式以及对称多处理计算机的支持……最新的Oracle 8主要增加了对象技术,成为关系―对象数据库系统。目前,Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据系统之一。

Oracle数据库产品具有以下优良特性。

(1)兼容性

Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。与IBM SQL/DS、DB2、INGRES、IDMS/R等兼容。

(2)可移植性

Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、Windows等多种操作系统下工作。

(3)可联结性

Oracle能与多种通讯网络相连,支持各种协议(TCP......>>

问题八:请问专用的数据库是属于什么软件?数据库属于系统软件还是应用软件呢.

软件是计算机的灵魂,没有软件的计算机就如同没有磁带的录音机和没有录像带的录像机一样,与废铁没什么差别。使用不同的计算机软件,计算机可以完成许许多多不同的工作。它使计算机具有非凡的灵活性和通用性。也正是这一原因,决定了计算机的任何动作都离不开由人安排的指令。人们针对某一需要而为计算机编制的指令序列称为程序。程序连同有关的说明资料称为软件。配上软件的计算机才成为完整的计算机系统。

一般把软件分为两大类:应用软件和系统软件。

一、应用软件

应用软件是专门为某一应用目的而编制的软件,较常见的如:

1、文字处理软件

用于输入、存贮、修改、编辑、打印文字材料等,例如WORD、WPS等。

2、信息管理软件

用于输入、存贮、修改、检索各种信息,例如工资管理软件、人事管理软件、仓库管理软件、计划管理软件等。这种软件发展到一定水平后,各个单项的软件相互连系起来,计算机和管理人员组成一个和谐的整体,各种信息在其中合理地流动,形成一个完整、高效的管理信息系统,简称MIS。

3、辅助设计软件

用于高效地绘制、修改工程图纸,进行设计中的常规计算,帮助人寻求好设计方案。

4、实时控制软件

用于随时搜集生产装置、飞行器等的运行状态信息,以此为依据按预定的方案实施自动或半自动控制,安全、准确地完成任务。

二、系统软件

各种应用软件,虽然完成的工作各不相同,但它们都需要一些共同的基础操作,例如都要从输入设备取得数据,向输出设备送出数据,向外存写数据,从外存读数据,对数据的常规管理,等等。这些基础工作也要由一系列指令来完成。人们把这些指令集中组织在一起,形成专门的软件,用来支持应用软件的运行,这种软件称为系统软件。

系统软件在为应用软件提供上述基本功能的同时,也进行着对硬件的管理,使在一台计算机上同时或先后运行的不同应用软件有条不紊地合用硬件设备。例如,两个应用软件都要向硬盘存入和修改数据,如果没有一个协调管理机构来为它们划定区域的话,必然形成互相破坏对方数据的局面。

有代表性的系统软件有:

1、操作系统

管理计算机的硬件设备,使应用软件能方便、高效地使用这些设备。在微机上常见的有:DOS、WINDOWS、UNIX、OS/2等

2、数据库管理系统

有组织地、动态地存贮大量数据,使人们能方便、高效地使用这些数据。现在比较流行的数据库有FoxPro、DB-2、Access、SQL-server等

3、编译软件

CPU执行每一条指令都只完成一项十分简单的操作,一个系统软件或应用软件,要由成千上万甚至上亿条指令组合而成。直接用基本指令来编写软件,是一件极其繁重而艰难的工作。为了提高效率,人们规定一套新的指令,称为高级语言,其中每一条指令完成一项操作,这种操作相对于软件总的功能而言是简单而基本的,而相对于CPU的一眇操作而言又是复杂的。

用这种高级语言来编写程序(称为源程序)就象用预制板代替砖块来造房子,效率要高得多。但CPU并不能直接执行这些新的指令,需要编写一个软件,专门用来将源程序中的每条指令翻译成一系列CPU能接受的基本指令(也称机器语言)使源程序转化成能在计算机上运行的程序。完成这种翻译的软件称为高级语言编译软件,通常把它们归入系统软件。目前常用的高级语言有VB、C++、JAVA等,它们各有特点,分别适用于编写某一类型的程序,它们都有各自的编译软件。...>>

问题九:数据库管理系统是一种什么软件选择C计算机的软件分为系统软件和应用软件。系统软件是为了计算机能正常、高效工件所配备的各种管理、监控和维护系统的程序及其有关资料。系统软件主要包括如下几个方面:(1)操作系统软件,这是软件的核心(2)各种语言的解释程序和编译程序(如BASIC语言解释程序等)(3)各种服务性程序(如机器的调试、故障检查和诊断程序等)(4)各种数据库管理系统(Oracle、Syabse等)

好了,文章到此结束,希望可以帮助到大家。

域名攻击(域名攻击 方法)便宜云主机 哪种云服务器便宜