当前位置:首页 » 操作系统 » 优良数据库

优良数据库

发布时间: 2022-05-10 09:29:05

⑴ 优秀数据库的设计目标需要满足第几范式

数据库范式1NF 2NF 3NF BCNF(实例)

设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。下面我们举例介绍第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。
在创建一个数据库的过程中,范化是将其转化为一些表的过程,这种方法可以使从数据库得到的结果更加明确。这样可能使数据库产生重复数据,从而导致创建多余的表。范化是在识别数据库中的数据元素、关系,以及定义所需的表和各表中的项目这些初始工作之后的一个细化的过程。
下面是范化的一个例子 Customer Item purchased Purchase price Thomas Shirt $40 Maria Tennis shoes $35 Evelyn Shirt $40 Pajaro Trousers $25
如果上面这个表用于保存物品的价格,而你想要删除其中的一个顾客,这时你就必须同时删除一个价格。范化就是要解决这个问题,你可以将这个表化为两个表,一个用于存储每个顾客和他所买物品的信息,另一个用于存储每件产品和其价格的信息,这样对其中一个表做添加或删除操作就不会影响另一个表。

关系数据库的几种设计范式介绍

1 第一范式(1NF)

在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,对于图3-2 中的员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。

2 第二范式(2NF)

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如图3-2 员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。这个惟一属性列被称为主关键字或主键、主码。
第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。

3 第三范式(3NF)

满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在图3-2的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。

数据库设计三大范式应用实例剖析

数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。
设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。
实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白。本文将对范式进行通俗地说明,并以笔者曾经设计的一个简单论坛的数据库为例来讲解怎样将这些范式应用于实际工程。

范式说明

第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。

例如,如下的数据库表是符合第一范式的:

字段1 字段2 字段3 字段4

而这样的数据库表是不符合第一范式的:

字段1 字段2 字段3 字段4
字段3.1 字段3.2

很显然,在当前的任何关系数据库管理系统(DBMS)中,傻瓜也不可能做出不符合第一范式的数据库,因为这些DBMS不允许你把数据库表的一列再分成二列或多列。因此,你想在现有的DBMS中设计出不符合第一范式的数据库都是不可能的。

第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。

假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩, 学分),关键字为组合关键字(学号, 课程名称),因为存在如下决定关系:
(学号, 课程名称) → (姓名, 年龄, 成绩, 学分)

这个数据库表不满足第二范式,因为存在如下决定关系:
(课程名称) → (学分)
(学号) → (姓名, 年龄)
即存在组合关键字中的字段决定非关键字的情况。

由于不符合2NF,这个选课关系表会存在如下问题:
(1) 数据冗余:
同一门课程由n个学生选修,"学分"就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。
(2) 更新异常:
若调整了某门课程的学分,数据表中所有行的"学分"值都要更新,否则会出现同一门课程学分不同的情况。
(3) 插入异常:
假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有"学号"关键字,课程名称和学分也无法记录入数据库。
(4) 删除异常:
假设一批学生已经完成课程的选修,这些选修记录就应该从数据库表中删除。但是,与此同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常。

把选课关系表SelectCourse改为如下三个表:
学生:Student(学号, 姓名, 年龄);
课程:Course(课程名称, 学分);
选课关系:SelectCourse(学号, 课程名称, 成绩)。

这样的数据库表是符合第二范式的, 消除了数据冗余、更新异常、插入异常和删除异常。
另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。

第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系:
关键字段 → 非关键字段x → 非关键字段y

假定学生关系表为Student(学号, 姓名, 年龄, 所在学院, 学院地点, 学院电话),关键字为单一关键字"学号",因为存在如下决定关系:
(学号) → (姓名, 年龄, 所在学院, 学院地点, 学院电话)

这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系:
(学号) → (所在学院) → (学院地点, 学院电话)
即存在非关键字段"学院地点"、"学院电话"对关键字段"学号"的传递函数依赖。

它也会存在数据冗余、更新异常、插入异常和删除异常的情况,读者可自行分析得知。
把学生关系表分为如下两个表:
学生:(学号, 姓名, 年龄, 所在学院);
学院:(学院, 地点, 电话)。

这样的数据库表是符合第三范式的,消除了数据冗余、更新异常、插入异常和删除异常。
鲍依斯-科得范式(BCNF):在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。

假设仓库管理关系表为StorehouseManage(仓库ID, 存储物品ID, 管理员ID, 数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。这个数据库表中存在如下决定关系:
(仓库ID, 存储物品ID) →(管理员ID, 数量)
(管理员ID, 存储物品ID) → (仓库ID, 数量)
所以,(仓库ID, 存储物品ID)和(管理员ID, 存储物品ID)都是StorehouseManage的候选关键字,表中的唯一非关键字段为数量,它是符合第三范式的。但是,由于存在如下决定关系:
(仓库ID) → (管理员ID)
(管理员ID) → (仓库ID)
即存在关键字段决定关键字段的情况,所以其不符合BCNF范式。它会出现如下异常情况:
(1) 删除异常:
当仓库被清空后,所有"存储物品ID"和"数量"信息被删除的同时,"仓库ID"和"管理员ID"信息也被删除了。
(2) 插入异常:
当仓库没有存储任何物品时,无法给仓库分配管理员。
(3) 更新异常:
如果仓库换了管理员,则表中所有行的管理员ID都要修改。

把仓库管理关系表分解为二个关系表:
仓库管理:StorehouseManage(仓库ID, 管理员ID);
仓库:Storehouse(仓库ID, 存储物品ID, 数量)。
这样的数据库表是符合BCNF范式的,消除了删除异常、插入异常和更新异常。

范式应用

我们来逐步搞定一个论坛的数据库,有如下信息:
(1) 用户:用户名,email,主页,电话,联系地址
(2) 帖子:发帖标题,发帖内容,回复标题,回复内容

第一次我们将数据库设计为仅仅存在表:
用户名 email 主页 电话 联系地址 发帖标题 发帖内容 回复标题 回复内容
这个数据库表符合第一范式,但是没有任何一组候选关键字能决定数据库表的整行,唯一的关键字段用户名也不能完全决定整个元组。我们需要增加"发帖ID"、"回复ID"字段,即将表修改为:
用户名 email 主页 电话 联系地址 发帖ID 发帖标题 发帖内容 回复ID 回复标题 回复内容
这样数据表中的关键字(用户名,发帖ID,回复ID)能决定整行:
(用户名,发帖ID,回复ID) → (email,主页,电话,联系地址,发帖标题,发帖内容,回复标题,回复内容)
但是,这样的设计不符合第二范式,因为存在如下决定关系:
(用户名) → (email,主页,电话,联系地址)
(发帖ID) → (发帖标题,发帖内容)
(回复ID) → (回复标题,回复内容)
即非关键字段部分函数依赖于候选关键字段,很明显,这个设计会导致大量的数据冗余和操作异常。

我们将数据库表分解为(带下划线的为关键字):
(1) 用户信息:用户名,email,主页,电话,联系地址
(2) 帖子信息:发帖ID,标题,内容
(3) 回复信息:回复ID,标题,内容
(4) 发贴:用户名,发帖ID
(5) 回复:发帖ID,回复ID

这样的设计是满足第1、2、3范式和BCNF范式要求的,但是这样的设计是不是最好的呢?
不一定。

观察可知,第4项"发帖"中的"用户名"和"发帖ID"之间是1:N的关系,因此我们可以把"发帖"合并到第2项的"帖子信息"中;第5项"回复"中的"发帖ID"和"回复ID"之间也是1:N的关系,因此我们可以把"回复"合并到第3项的"回复信息"中。这样可以一定量地减少数据冗余,新的设计为:
(1) 用户信息:用户名,email,主页,电话,联系地址
(2) 帖子信息:用户名,发帖ID,标题,内容
(3) 回复信息:发帖ID,回复ID,标题,内容

数据库表1显然满足所有范式的要求;

数据库表2中存在非关键字“标题”、“内容”对关键字段“发帖ID”的部分函数依赖,即不满足第二范式的要求,但是这一设计并不会导致数据冗余和操作异常;

数据库表3中也存在非关键字段"标题"、"内容"对关键字段"回复ID"的部分函数依赖,也不满足第二范式的要求,但是与数据库表2相似,这一设计也不会导致数据冗余和操作异常。

由此可以看出,并不一定要强行满足范式的要求,对于1:N关系,当1的一边合并到N的那边后,N的那边就不再满足第二范式了,但是这种设计反而比较好!

对于M:N的关系,不能将M一边或N一边合并到另一边去,这样会导致不符合范式要求,同时导致操作异常和数据冗余。

对于1:1的关系,我们可以将左边的1或者右边的1合并到另一边去,设计导致不符合范式要求,但是并不会导致操作异常和数据冗余。

结论

满足范式要求的数据库设计是结构清晰的,同时可避免数据冗余和操作异常。这并意味着不符合范式要求的设计一定是错误的,在数据库表中存在1:1或1:N关系这种较特殊的情况下,合并导致的不符合范式要求反而是合理的。

在我们设计数据库的时候,一定要时刻考虑范式的要求。

⑵ 什么是常用的三个数据库

目前,数据库管理系统关系型数据库为主导产品的商品化,技术相对成熟。虽然面向对象的数据库管理系统的先进技术,数据库易于开发,维护,但尚未成熟的产品。国际和国内领先的关系数据库管理系统,甲骨文,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服务器支持关键任务,重负载生产系统的使用,它可以嵌入到一个大配置(大规模部署)软件。

?的MySQL与其他数据库管理系统相比,具有以下优点:
?(1)MySQL是一个关系数据库管理系统。
?(2)MySQL是开源。
?(3)MySQL服务器是一个快速,可靠和易于使用的数据库服务器。
?(4)在MySQL服务器的客户机/服务器或嵌入式系统。
?(5)可以使用MySQL软件。

2.SQL Server的吗?

?SQL Server是由微软开发的数据库管理系统,是目前最流行的数据库,用于存储在网络上的数据,它已被广泛用于电子商务,银行,保险,电力和其他数据库相关的产业。

?SQL Server 2005的最新版本,它只能在Windows作业系统的稳定运行是非常重要的数据库。并行实施和共存模型并不成熟,这是很难对付越来越多的用户和数据量是有限的,可扩展性。

?SQL Server提供了网络和电子商务功能,如丰富的XML和Internet标准的支持,轻松且安全地通过Web访问的数据的范围很广,有一个强大,灵活和网络,基于安全和应用管理。此外,由于它的易用性和友好的用户界面,通过广大用户的好评,。

?3.Oracle

?提出的数据库,该公司首先想到的,通常是甲骨文(Oracle)。该公司成立于1977年,原是一个专门开发的数据库公司。甲骨文一直在数据库领域的领导者。 1984年,第一个关系数据库转移到一台台式电脑。然后,Oracle5率先推出的分布式数据库,客户机/服务器体系结构的新概念。甲骨文公司的第一行锁定模式和对称多处理计算机的支持......最新的Oracle对象技术,成为关系 - 对象数据库系统。目前,甲骨文的产品涵盖了几十个型号的大,中,小型机,Oracle数据库已成为世界上使用最广泛的关系数据。

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

?(一)兼容性

?Oracle产品使用标准的SQL,和美国国家标准技术局(NIST)测试后。兼容IBM的SQL / DS,DB2中,安格尔的IDMS / R。

?(2)可移植性

??甲骨文的产品,可以广泛的硬件和操作系统平台上运行。可以安装在超过70种大不同,VMS系统的DOS,UNIX上,Windows和其他操作系统,小型机;

?(3)协会

甲骨文与各种通信网络连接,支持各种协议(TCP / IP协议说,DECnet,LU6.2工作等)。?

?(4)高生产率

?Oracle提供了多种开发工具,可以极大地方便进一步的发展。

?(5)开放

?Oracle的兼容性,可移植性,连接性和高生产力的Oracle RDBMS具有良好的开放性。

?4.Sybase

?马克B. Hiffman和罗伯特·爱泼斯坦,1984年,创建了Sybase公司,并于1987年推出了Sybase数据库产品。 SYBASE主要有三种版本:一是UNIX操作系统版本下运行的Novell Netware环境下运行的版本; Windows NT环境下运行的版本。 UNIX操作系统,目前应用最广泛使用的SCO UNIX SYBASE 10 SYABSE- 11。

??的Sybase数据库的特点:
?(1)它是基于客户机/服务器体系结构的数据库。
?(2)它是真正开放的数据库。
?(3)它是一种高性能的数据库。

?5.DB2

?DB2是内嵌在IBM的AS/400系统的数据库管理系统,直接从硬件支持。它支持标准的SQL语言,异构数据库连接的网关。因此,它具有速度快,可靠性好等优点。但是,只有硬件平台选择了IBM的AS/400,可以选择使用DB2数据库管理系统。

?DB2可以运行在所有主要平台(包括Windows),最适于海量数据。

?DB2是使用最广泛的企业级,而国内约5%,在1997年,在世界最大的500家企业,近85%的DB2数据库服务器。

?此外,微软的Access数据库,FoxPro数据库。现在有这么多的数据库系统,在游戏中进行编程,应该选择什么样的数据库?首要的原则,根据实际需要,另一方面,考虑游戏开发预算。现在常用的数据库:SQL Server中,我的SQL,甲骨文,FoxPro的。 MySQL是一个免费的数据库系统,其功能与一个标准的数据库功能,因此,建议使用独立制片人。甲骨文虽然功能强大,但它是用于商业用途,是目前在比赛中很少使用。

⑶ 该选择哪个开源数据库哪一个更好

1.MySQL 5
作为当今最流行的开放源码数据库之一,MySQL数据库为用户提供了一个相对简单的 解决方案,适用于广泛的应用程序部署,能够降低用户的TCO。MySQL是一个多线程、结构化查询语言(SQL)数据库服务器。MySQL的执行性能高, 运行速度快,容易使用。
MySQL包括以下几个关键优势:
◆ 可靠的性能和服务MySQL向公众提供所有数据库服务器软件的早期版本,都是利用开放源码进行为期几个月的测试之后才发布作为生产之用。
◆ 易于使用和部署MySQL的结构体系易于定制,运行速度快,其独特的多存储引擎结构为企业客户提供了灵活性, 为数据库管理系统带来紧致性和稳定性,易于部署。
◆ 自由获得源码可以随时访问MySQL源代码,其策略确保了自由性,避免锁定某家公司或平台。
◆ 跨平台支持MySQL可用于20多种不同平台,包括主要的linux系统、Mac OS X、Unix和Windows
◆ 可信赖的开发力量MySQL拥有大量的用户基础,也拥有高素质、有经验的开发团队。
◆ 满足企业需求MySQL结构体系简单易用,运行速度极快,能够处理企业数据库绝大多数的应用需求。
2008年12月8日,Sun Microsystems公司宣布,正式对外提供MySQL 5.1软件 —— 这是全球最受欢迎的开源数据库MySQL的一个极其重要的新版本。MySQL 5.1 GA版现通过以下三种模式提供,以满足不同用户的各种特殊需求:
◆MySQL Community Server —— Sun的MySQL 数据库的免费开源版。这一GPL许可的全功能软件的目标用户是个人技术用户,他不需要商业支持或是享有优惠的机上服务。
◆MySQL Enterprise Server —— 它作为MySQL Enterprise订购的一部分来提供,它最可靠、最安全,提供的是MySQL数据库的最新版本,其目标用户是有法人的IT用户。该模式的订户每月可收 到快速软件升级服务,每个季度可收到带有最新补丁程序的“服务包” —— 还能访问仅供预览的监测工具,享受全天候7*24的生产技术支持。
◆MySQL Embedded Server —— 这是MySQL软件的商业许可模式,让ISV和OEM将一个高速的、占用空间很小的数据库嵌入或打包到他们自己的产品中,而不需要免费的GPL许可。
2. PostgreSQL
PostgreSQL是一个功能齐全、开放源码的对象一关系性数据库管理系统 (ORDBMS)。目前,PostgreSQL的稳定版本为8.4版,具有丰富的特性和商业级数据库管理系统的特质。这是一次向高质量大型数据库管理系统 方向的飞跃。PostgreSQL是很富特色的开源数据库管理系统,其特性覆盖SQL-2/SQL-92和SQL-3/SQL-99。
◆ 丰富的数据类型PostgreSQL包括了丰富的数据类型支持,其中有些数据类型连商业数据库都不具备,比如IP类型和几何类型等。
◆ 功能全面PostgreSQL是全功能的开源软件数据库,全面支持事务、子查询、多版本并行控制系统和数据完整性检查等特性。
◆ 活跃的开发队伍PostgreSQL拥有一支活跃的开发队伍,在他们的努力下,PostgreSQL的质量日益提高,增强了人们使用PostgreSQL 的信心。
◆ 丰富的接口PostgreSQL支持几乎所有类型的数据库客户端接口。
◆ 支持多种平台PostgreSQL是目前支持平台最多的数据库管理系统之一,所支持的平台多达十几种,包括不同的系统和不同的硬件体系。
◆ 满足商用需求PostgreSQL的特性已经完全可以满足绝大部分用户的需要,胜任任何中上规模的应用业务,甚至可以支持生产数据库达TB级大小的数据 量,已经逼近32位计算的极限。
◆ 强大的扩展能力PostgreSQL拥有强大的扩展能力,可以容易地扩展数据类型、内部函数和操作符等。
从技术角度来说,POStgreSQL采用经典的C/S(Client /Server)结构,即一个客户端对应一个服务器端守护进程的模式。这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索,并最终把结果格式 化输出后返回给客户端。为了便于客户端的程序编写,由数据库服务器提供统一的客户端C接口。不同的客户端接口都源自这个C接口, 比如ODBC、JDBC、Python、Perl、Tcl、C/C++和ESQL等。
PostgreSQL还欠缺的是一些高端数据库管理系统所需的特性,比如联机热备 份、数据库集群、更优良的管理工具、更加自动化的系统优化功能和用以提高数据库性能的机制等。这些也是PostgreSQL正在不断努力的。

3.Ingres r3
CA 公司在2004年11月发布适用于linux的Ingres r3数据库软件。Ingres r3按照C A Trusted Open Source License(CATOSL,CA可信开放源代码许可)授杖,取得此授权的人可以查看Ingres r3数据库的源代码,并免费下载该软件。CATosL由通用公共许可衍生而来, 符合Open Source Iniliative (OSI) 的要求。
Ingres r3数据库平台的新功能如下:
◆ 高可用性
Ingres r3包含集群软件,当集群配置中的一个数据库或服务器节点出现故障时,仍能保证服务的不问断性。在预防系统故障的同时,Ingres r3还提供“缩放自如”的功能,让用户把众多低成本的服务器连结起来. 以强化信息处理的性能。
◆ 可扩展性和可靠性
Ingres通过并行查询处理将单个查询细分为多个组件,利用所有现有资源并行处理 这些组件,从而提供可伸缩性能。同时,Ingres支持Oracle Cluster File System(OCFS)for Linux 和IBM Distributed Lock Manager(OpenDLM ),为用户提供全新的群集功能,获得所需的可扩展性和可靠性。
◆ 技术与性能
Ingres是第一个以Zope RDBMS Persistence引擎为基础的初始数据库(Initial Database),其表分区和索引功能满足超大型数据库部署的需求。
◆ 集成性
Ingres可以在异构环境中与其它应用程序和数据进行无缝集成。随着Linux在 企业IT环境中的渐趋流行,这一集成功能尤为重要。其易于集成的特点使它能够与多种应用开发工具一起使用。此外,Ingres使用行业标准的连接选件,支 持开发人员在J2EE框架、.NET环境,或者同时在两个环境下工作,特别适用于嵌入式应用。
◆ 服务
CA 公司将为Ingres r3提供支持和保障服务, 同时CA技术服务中心还提供多种可定制的培训课程和服务,包括现场培训或远程培训,这些培训和服务可以帮助客户更加有效地利用Ingres r3的特性。
4.MaxDB
MaxDB 前身是企业级的开源数据库SAP DB,现由MySQL继续组织开发。MaxDB是一个适应繁重任务、经过SAP认证的开源OLTP数据库,OLTP的使用为其提供了可靠性、可用性、扩展 性和高性能。MaxDB拥有大型数据库的全面特点,与Oracle具有一定的兼容性,体积不大,可以在Linux上运行, 即将推出的MaxDB 7.6版本将支持64位计算技术,可以运行于64位的Linux平台和HP-UX。
MaxDB和MySQL这两个产品的外型相似。MySQL的优势主要集中于产品的运 行性能和稳定性,用户通过一个简单界面就可以容易地执行操作和管理。MaxDB提供的先进性能则主要体现在企业级数据库的运用上。和MySQL相 比,MaxDB体型稍大,但与Oracle、DB2相比,几十兆的体积就能实现相近的功能,是相当错的。目前,MaxDB的各种管理器、查询器和客户端还 在不断地完善中。
为吸引Java开发者,MaxDB 7.6将支持由IBM创建的、基于Java的Eclipse开发框架。它还支持MySQL代理程序,允许MaxDB和MySQL产品共享数据,并允许开发 者创建能透明使用这两种数据库的应用。MaxDB还具备有监视性能,和能够自动提出保持平滑运行建议的工具。
MaxDB适用于大型mySAP Business Suite环境,其它需要大型企业级数据库功能的场合, 以及用来补充MySQL数据库服务器的不足。高性能、可用性、运行的可靠性、可扩展性、易于使用,以及较低的总体成本正是企业部署DBMS环境所需要的若 干特性。MaxDB满足了企业用户的这些需求,其具体特性包括如下:
◆ 降低企业SAP运行的费用成本;
◆ 配置简单,管理维护成本低廉;
◆ 完善的备份和恢复功能;
◆ 为大容量的用户和工作量而设计;
◆ 数据库容量可达TB级;
◆ 提供集群和热备份支持,带来高可用性;
◆ 同步管理器(Synchronization Manager)可以控制企业范围内的数据复制;
◆ 轻松使用图形化的数据库工具;
◆ 可用于所有的企业硬件和操作系统平台;
目前,全世界大约有60000名用户部署和应用MaxDB数据库,其中包 NToyota、Intel、DaimlerChrysler、Braun-Gillette、Bayer、Colgate、Yamaha和 Deutsche Post (德国邮政局)等。作为一个目标指向企业级应用的开源数据库,MaxDB正在不断地发展和完善中。
◆ 支持所有主要的SAP解决方案。
你可以去范果网里面看看,还有很多都是不错的,选择最适合的。

⑷ 请问数据库有哪些种类呢

数据库共有3种类型,为关系数据库、非关系型数据库和键值数据库。

1、关系数据库

MySQL、MariaDB(MySQL的代替品,英文维基网络从MySQL转向MariaDB)、Percona Server(MySQL的代替品·)、PostgreSQL、Microsoft Access、Microsoft SQL Server、Google Fusion Tables、FileMaker、Oracle数据库、Sybase、dBASE、Clipper、FoxPro、foshub。

几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。

2、非关系型数据库(NoSQL)

BigTable(Google)、Cassandra、MongoDB、CouchDB。

3、键值(key-value)数据库

Apache Cassandra(为Facebook所使用):高度可扩展、Dynamo、LevelDB(Google)。

(4)优良数据库扩展阅读:

数据库模型:对象模型、层次模型(轻量级数据访问协议)、网状模型(大型数据储存)、关系模型、面向对象模型、半结构化模型、平面模型(表格模型,一般在形式上是一个二维数组。如表格模型数据Excel)。

数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。

⑸ 常用的数据库软件有哪些它们的优缺点是什么

目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有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/IP、DECnet、LU6.2等)。

(4)高生产率

Oracle产品提供了多种开发工具,能极大地方便用户进行进一步的开发。

(5)开放性

Oracle良好的兼容性、可移植性、可连接性和高生产率使Oracle RDBMS具有良好的开放性。

4.Sybase

1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。Sybase主要有三种版本:一是UNIX操作系统下运行的版本; 二是Novell Netware环境下运行的版本;三是Windows NT环境下运行的版本。对UNIX操作系统,目前应用最广泛的是SYBASE 10及SYABSE 11 for SCO UNIX。

Sybase数据库的特点:

(1)它是基于客户/服务器体系结构的数据库。

(2)它是真正开放的数据库。

(3)它是一种高性能的数据库。

5.DB2

DB2是内嵌于IBM的AS/400系统上的数据库管理系统,直接由硬件支持。它支持标准的SQL语言,具有与异种数据库相连的GATEWAY。因此它具有速度快、可靠性好的优点。但是,只有硬件平台选择了IBM的AS/400,才能选择使用DB2数据库管理系统。

DB2能在所有主流平台上运行(包括Windows),最适于海量数据。

DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上都用DB2数据库服务器,而国内到1997年约占5%。

除此之外,还有微软的 Access数据库、FoxPro数据库等。既然现在有这么多的数据库系统,那么在游戏编程时应该选择什么样的数据库呢?首要的原则就是根据实际需要,另一方面还要考虑游戏开发预算。现在常用的数据库有:SQL Server、My SQL、Oracle、FoxPro。其中MySQL是一个完全免费的数据库系统,其功能也具备了标准数据库的功能,因此,在独立制作时,建议使用。 Oracle虽然功能强劲,但它毕竟是为商业用途而存在的,目前很少在游戏中使用到。

⑹ 常用的关系型数据库有哪些

Nosql的全称是Not Only Sql,这个概念很早就有人提出。Nosql指的是非关系型数据库,而我们常用的都是关系型数据库。就像我们常用的mysql,oralce、sqlserver等一样,这些数据库一般用来存储重要信息,应对普通的业务是没有问题的。但是,随着互联网的高速发展,传统的关系型数据库在应付超大规模,超大流量以及高并发的时候力不从心。而就在这个时候,Nosql应运而生。

上面说的是NOSQL 的定义.Nosql和关系型数据库的区别,这里我说明一比较重要的区别。

存储格式: 关系型数据库是表格式的,存储在表的行和列中。他们之间很容易关联协作存储,提取数据很方便。而Nosql数据库则与其相反,他是组合在一起。通常存储在数据集中,就像文档、键值对或者图结构。举个例子,例如在游戏里面玩家的背包数据,我们都知道一个游戏里面的道具是很多,而且不确定玩家什么时候获取什么道具,这个时候如果想在关系数据库里面存储数据,这个表怎么建立就是一个很大的问题,如果你把所有的道具ID 当做表头 ,那么后续每增加一个道具,就需要修改这张表。如果你的表结构是 :

用户ID|道具ID|道具数量|道具特殊属性
那么可以想象一下 这张表随着用户的增多会变的多么的庞大。所以这个时候我们就需要一个能直接像操作玩家对象一样的数据库,这里比较代表性的就是mongo ,通过这个我们就可以看出nosql 数据库更适合存储结构不确定的数据。

存储扩展:这可能是两者之间最大的区别,关系型数据库是纵向扩展,也就是说想要提高处理能力,要使用速度更快的计算机。因为数据存储在关系表中,操作的性能瓶颈可能涉及到多个表,需要通过提升计算机性能来克服。虽然有很大的扩展空间,但是最终会达到纵向扩展的上限。而Nosql数据库是横向扩展的,它的存储天然就是分布式的,可以通过给资源池添加更多的普通数据库服务器来分担负载。

上面的的例子已经说明了这个问题。在现代互联网时代大家都是希望能横线扩展服务。这样付出的代价是最小的。

对于上面关系型数据库和NOSQL 数据库的区别其实还有很多。我相信大家在用的都会感觉到。上面列出的只是我感觉区别最大的。

那么NOSQL 这么好用,是不是都可以用了呢,显示不是这样,NOSQL 对于聚合查询显示不是他的强项。这个时候就需要关系型数据库。我是这样建议,对于结构统一,应该存储于关系型数据库,对于结构不统一的可以存储到NOSQL数据库例如mongo 。但是这个不是绝对的,在实际的项目的开发过程中,需要根据的自己的业务,仔细揣摩一下,做好最合适的划分。

常见关系型数据库通常有SQL Server,Mysql,Oracle等。主流的Nosql数据库有Redis,Memcache,MongoDb。大多数的关系型数据库都是付费的并且价格昂贵,成本较大,而Nosql数据库通常都是开源的。在互联网行业用大多也是免费的MYSQL(这里偷笑一下)。

在实际的项目中大家的项目都是如何选择的呢?大家可以关注我,私信或者在评论区留言。

⑺ 国内几家优秀的数据库公司都是哪几家啊

不知道楼主要做什么形式的合作,我知道几家还不错。比如:罗维,拓鹏,新华信,Acxiom等一些数据库营销公司,他们都算是国内非常优秀的公司。不过他们都是有自己本身的营销优势产品的。就看楼主做什么了。

做呼叫中业务,那可以选择一下罗维,他们的优势就是呼叫中心,因为它是做呼叫中心出身的。

做EDM、SMS可以选择拓鹏公司,因为他们的优势就是EDM、SMS,已经有了多年服务国内外大客户的经验,在业界也具有了很好的口碑。

做市场调研可以选择新华信,因为他们是这个方面的专家,且具有权威性。

策略咨询业务可以选择Acxiom,他们只做策略,因为他们没有数据。
不知道这样回答楼主是否满意,希望可以帮到楼主。

⑻ 简述3个常用的关系型数据库

1.Oracle

Oracle是1983年推出的世界上第一个开放式商品化关系型数据库管理系统。它采用标准的SQL结构化查询语言,支持多种数据类型,提供面向对象存储的数据支持,具有第四代语言开发工具,支持Unix、Windows NT、0S/2、Novell等多种平台。除此之外,它还具有很好的并行处理功能。Oracle产品主要由Oracle服务器产品、Oracle开发工具、Oracle应用软件组成,也有基于微机的数据库产品。主要满足对银行、金融、保险等企业、事业开发大型数据库的需求。

2.SQL Server

SQL即结构化查询语言(Structured Query Language,简称为SQL)。SQL Server最早出现在1988年,当时只能在0S/2操作系统上运行。2000年12月微软发布了SQL Server 2000,该软件可以运行于Windows NT/2000/XP等多种操作系统之上,是支持客户机/服务器结构的数据库管理系统,它可以帮助各种规模的企业管理数据。

随着用户群的不断增大,SQL Server在易用性、可靠性、可收缩性、支持数据仓库、系统集成等方面日趋完美。特别是SQLServer的数据库搜索引擎,可以在绝大多数的操作系统之上运行,并针对海量数据的查询进行了优化。目前SQLServer己经成为应用最广泛的数据库产品之一。

由于使用SQL Server不但要掌握SQL Server的操作,而且还要能熟练掌握Windows NT/2000 Server的运行机制,以及SQL语言,所以对非专业人员的学习和使用有一定的难度。

3.Sybase

1987年推出的大型关系型数据库管理系统Sybase,能运行于0S/2、Unix、Windows NT等多种平台,它支持标准的关系型数据库语言SQL,使用客户机/服务器模式,采用开放体系结构,能实现网络环境下各节点上服务器的数据库互访操作。技术先进、性能优良,是开发大中型数据库的工具。Sybase产品主要由服务器产品Sybase SQL Server、客户产品Sybase SQL Too1Set和接口软件Sybase Client/Server Interface组成,还有着名的数据库应用开发工具PowerBuilder。

4.DB2

DB2是基于SQL的关系型数据库产品。20世纪80年代初期DB2的重点放在大型的主机平台上。到90年代初,DB2发展到中型机、小型机以及微机平台。DB2适用于各种硬件与软件平台。各种平台上的DB2有共同的应用程序接口,运行在一种平台上的程序可以很容易地移植到其他平台。DB2的用户主要分布在金融、商业、铁路、航空、医院、旅游等各个领域,以金融系统的应用最为突出。

5.Access

Access是在Windows操作系统下工作的关系型数据库管理系统。它采用了Windows程序设计概念,以Windows特有的技术设计查询、用户界面、报表等数据对象,内嵌了VBA(全称为Visual Basic Application)程序设计语言,具有集成的开发环境,Access提供图形化的查询工具和屏幕、报表生成器,用户建立复杂的报表、界面无需编程和了解SQL语言,它会自动生成SQL代码。
Access被集成到office中,具有office系列软件的一般特点,如菜单、工具栏等。与其他数据库管理系统软件相比,更加简单易学,一个普通的计算机用户,没有程序语言基础,仍然可以快速地掌握和使用它。最重要的一点是,Access的功能比较强大,足以应付一般的数据管理及处理需要,适用于中小型企业数据管理的需求。当然,在数据定义、数据安全可靠、数据有效控制等方面,它比前面几种数据产品要逊色不少。

⑼ 运算量大哪个数据库好

ForeLib数据库
它是一种高效率、高安全性的,适应高吞吐量的数据库解决方案。作为非关系数据库,同时也支持传统SQL操作;作为通用的数据库系统,它具有极简又完整的数据管理模式;作为分布式数据库它具备分布式处理的优良性能。占用内存少,并发能力强,基于大数据的高性能和针对性设计,既可以快速搭建Web服务系统,也为企业内部构建IT信息系统提供了较完整的解决方案。

热点内容
赛尔编程 发布:2024-10-08 22:30:12 浏览:161
威驰车有哪些配置 发布:2024-10-08 22:19:32 浏览:564
手游源码全套 发布:2024-10-08 21:39:41 浏览:474
大众账号密码是多少 发布:2024-10-08 21:22:18 浏览:890
价格厚道香港多ip服务器 发布:2024-10-08 21:22:16 浏览:283
android适配values 发布:2024-10-08 21:18:36 浏览:240
数控折弯机如何编程 发布:2024-10-08 20:34:40 浏览:61
pod内部修改配置如何生效 发布:2024-10-08 20:25:33 浏览:237
重庆服务器托管市场低价云主机 发布:2024-10-08 20:23:39 浏览:365
运维接触源码 发布:2024-10-08 19:55:44 浏览:486