带您走进入门级数据库_走进数据库
对于企业的许多业务来说,数据库都是至关重要的,而无论你的公司是大还是小,甚至对于只有你一个人的公司来说也很可能是必不可少的。因为数据库可以让你的公司能够更好地生存并发展;更重要的是,它保护着在企业中像宝石一样珍贵的东西――数据。你所有的数据信息以及及时地获取这些数据的方法,都由这个工具来提供。
而对于规模较小的公司来说,选择一个经济而又适用的数据库是一件很重要的事情,而如何选择又成为了摆在它们面前的难题。许多厂商都提供了免费的或者是简化版的数据库,这些都是比较适合小公司使用的产品,然而数据库并不只是简单地提供数据分类和查询功能的工具,所以比较这些数据库可不是件简单的事情。而要完全地测试它们,不仅要建立完善的测试平台,同时也要通过模拟工作量、用户需求、数据类型以及查询等方法来更好地比对它们。下面我们就带您走进入门级数据库的大门,希望译自国外的数据库专题评测能给您的选购带来帮助。
由于数据库的种类非常繁多,所以我们必须先给出一些说明:我们假想在这样的比较中存在一个人数少于200人的网上电子商务公司,这个公司在网上出售DVD和书籍等,并且拥有大约1000个客户和在线的5000个商品库存。像所有的公司一样,这个公司有着自己未来的规划蓝图:希望自己的客户能达到几十万并且在线提供数百万种不同的商品。
所以,要满足这样的公司需求的数据库,不仅要能够记录它们的进货、客户名单等,更要能够做到无缝隙地连接到它们的账户以满足方便地汇账和购买。
在初期,数据库必须能够有效地运行在双核处理器或者四路服务器上,而随着公司的发展,能够升级到小型服务器群(服务器群是安装在一个地方的一组服务器);同时,考虑到升级费用十分昂贵,所以公司不打算采取升级到四路以上或者多处理器服务器的解决方案。因此,我们在测试中使用的是Dell PowerEdge 6600服务器(单核至强处理器,4GB内存)。
对于小公司来说,更重要的、也是非常棘手的一个问题就是初始服务器和数据库软件的成本问题。因此,对它们来说,一种理想的情况就是能够寻找到一种允许硬件升级的软件;或者是软件可以十分方便快捷地升级到企业版。
显然,软件的配置和管理的便捷与否也是小公司需要考虑的重要因素――内部员工必须能够轻易地掌握登录和更新数据库的方法,同时新手管理员必须能够在任何位置做出微小的调整。原因很简单,这样的小公司不可能花费更高的成本去雇佣高级的IT管理人员。
这是我们第一次测试此类产品,我们会努力地让事情变得更简单,并决定分析一些大厂商的入门级数据库,比如Oracle、Microsoft、IBM和MySQL。不过需要说明的是,MySQL的产品属于一个特殊的类别,它并不属于高端产品的简化版――选择它是因为它是免费的。当然在这个类别中还有其他知名的数据库,比如Sybase等,但这次测试中我们并没有涉及到。
另外,保证数据库的良好运行,这不是一件简单的事情,甚至对于初学者来说像是在变魔术。尽管你可能清楚你所做的一切,但是我们还是不建议您自行进行安装。大部分的厂商都会根据你的使用环境给予一个相比默认配置略好的建议设置,并且我们发现,有很多数据库都有这样的模块,它会根据数据库的类型和使用模式很好地优化系统。
而安全性也一直是一个重中之重的问题,对于数据库的使用者来说,这与他们的银行卡密码同样重要。不仅仅需要将数据库加密,同样重要的是对“授权员工”是否滥用数据库进行审核,从而把好第二道关。
最后需要强调的是,数据库的前端应该包括数据的一致性和约束性的检查,同时也应该支持对自身的完整性的检查。
以下就是我们对四个数据库的对比介绍,这并不是对每个数据库的完整介绍,但是我们会尽量展示各个数据库的亮点和独到的特性。
SQL Server Express
不久前,微软刚刚发布了SQL Server 2005 Express Edition SP2,SP2提供了对其大力推崇的Windows Vista的支持。相信随着SQL Server 2005 Express Edition、SQL Server Management Studio Express以及Microsoft SQL Desktop Edition的发布,微软已经步入了小型数据库市场这个领域。
而SQL Server Express是我们此次对比的四款产品中两款免费的数据库之一,它是微软为了代替之前基于Access技术的也同样免费的Microsoft Desktop Engine(MSDE)而推出的产品。不过,SQL Server Express是微软完全重新设计的,它满足HIPA的要求,并具有很强的安全特性;而SQL Server Express相比MSDE最大的优点就是不再存在扼杀后台工作性能的“管理者”的角色。
SQL Server Express对硬件的要求非常低――建议的系统配置为1GHz的单CPU、512MB内存和170MB的磁盘空间。如果想让系统的工作更加轻松,添加第二块CPU是起不了什么作用的,因为程序只能运行在单线程中,也就是说只能利用第一块CPU;而如果想让系统的压力减小,那么办法只有一个――更换一块更快的CPU。
想像假如是我们前面所假想的网上电子商务公司,这样的要求就限制了系统的可升级性。在刚开始,最多1GB的缓冲器和最多4GB的数据库容量可能能够满足公司的需求,但是当业务量扩大以后,这样的限制显然就会成为很大的瓶颈。
SQL Server Express界面图
而SQL Server Express最大的问题可能还在于,只能允许几十个用户这样的规模,所以只适合很小型的公司。对此,微软的建议是升级到SQL Server Standard Edition来满足要求,这样就可以支持最多1000个用户――只要你不在数据库中放太多的数据。
当然,4GB的数据库容量,客观地说还是比较大的,并且基于纯文本的数据库对于我们假想的初出茅庐的公司来说也是足够的了。但是,如果是在线买卖,而购买者通常想要看到货物的图片以及规格等参数的话,这些图片和参数就会使数据库的数据量严重地膨胀。
不过,在按照索引长度、32个嵌套程序级别、每张表1024个列、触发器功能以及不限制表的列长度等方面,这个数据库表现得十分良好。而且用户可以简单地选择借助于“Windows Authentication”(Windows的身份验证)或者“Mixed Mode”(Windows和SQL Server的混合身份验证)来登录数据库,因为SQL Server Express支持数据加密并提供日志分析。但是,在我们的测试中遇到了一点小麻烦,我们发现当使用“Windows Authentication”的时候根本无法连接到数据库,重新设置了“Mixed Mode”选项后,一切就正常了。
另外,SQL Server Express支持Native XML,并且集成了Visual Studio,从而使得开发者可以用Visual Studio添加和查询数据库――通过Visual Studio用户可以建立表格和图表形式的报告。Xcopy也是一个很好的特性,它使得把数据库从一个地方转移到另一个地方变得很容易。而SQL Server Express支持的格式是Transact-SQL,并拥有Snapshot Isolation Level技术,这就有效地保证了用户只能读取到坚实可靠的数据。
毫无疑问,与其他几款产品相比,SQL Server Express并没有很大的优势,但是有一点很重要,它是免费的,如果你的资金不是很充裕,它恰恰能够帮助你。无疑,SQL Server Express还是可以应付电子商务网站早期的运营,并且当公司规模扩大到数据库上限的时候,升级也并不难,虽然说可能将数据库移植到SQL Server Standard Edition的价格相对要贵一些。
SQL Server Express评分
互操作性(Interoperability): ★★
限单CPU,具有很好的特性设置,用户界面非常好,但只能在Windows下使用;
升级考验(Futureproofing): ★★
性能有限,但是可以直接升级到企业版;
投资回报(ROI): ★★★
完全免费但是相比其他数据库性能一般;
服务(Service):★★☆
技术支持包括电子邮件询问(但隔天回复)以及电话服务。
综合评分 : ★★☆
MySQL
MySQL被人们熟知也许是因为下面的两个原因:一是因为它是开源的;其次也是至关重要的,它也是免费的。现如今,如果有人提供免费软件的话,大多数都是这样的版本:仅仅支持单CPU、内存限制、数据库容量限制,或者性能较低,因为这样就能够保证它们的高端产品不会受到挤压。而MySQL不存在这样的问题,也没有任何强加的限制。
MySQL是免费的,但是如果你想要一个也许并不是必需的但正式的安全性技术支持的话,根据你的不同需求,每年要花费595美元到4995美元不等就可以实现了。而这项技术支持的资费并不是根据使用者的数量或者CPU的数量来决定的。
其实,MySQL完全可以运行容量巨大的仓库数据库或者一个网上交易系统,却不用花一分钱,或者根据你的选择最多每年只花费4995美元。于是,许多人选择了零投入的方式,因为来自MySQL网络社区的技术支持可以说是相当的广泛――除非你实在是倒霉,否则你不可能遇到这些人没人经历过的或者不能解决的问题。
MySQL在使用上是免费的,但是如果你使用MySQL开发了商业产品并且打算到市场上去卖的话,那么自然地你就要交一定的费用了。
另外,MySQL可以在各种环境下运行,小到嵌入式系统,大到多路服务器和集群――支持集群技术并具有完整的容错性。在服务器操作系统支持方面更为广泛,开发者宣称MySQL可以安装在任何的Unix、Linux、Windows或者Netware环境中。
在数据库容量方面,MySQL更是不甘示弱,每张表中数据的限制高达64TB,并且还具有一个快速浏览特性界面。事实上,用MySQL直接与其他厂商的低端产品去比较可能并不太公平,因为MySQL是为了与其他厂商的高端企业级产品相竞争而开发的。同时,因为从一开始安装就能够支持一个小型数据库或者一个大型的企业级数据库,所以就没必要去做升级的打算了――惟一额外的升级花费可能就是更新支持需求的硬件平台了。
在MySQL 4.x版本中不会对输入错误进行限制,比如某个数据区域的错误字符,仅仅提示“warnings”;而在5.x版中,就有了一个很严格的限制模式,使得每个违规操作都将被弹回。另外,据悉即将发布的MySQL 5.1将允许开发人员编写存储过程以及分布式的业务处理,并将支持触发器和视图等功能。
MySQL界面图
而MySQL的行锁是在内存中实现的,但是在应用中却显得很有效率,每个行锁仅仅只需要2bit的空间,行锁膨胀的现象在测试中从未发生过。当且仅当明确地设定了孤立模式来读取未经确认的数据时,系统才会采用不洁读取的方式。
在Windows Server 2003上安装MySQL非常迅速,清晰的导航模块使得配置非常简单,新手就完全可以应付。在配置过程中,安装程序会分为9个界面来描述服务器及其功能,同时给出选项,直到所有的服务器参数都设定完毕,而用户根本不需要知道任何CLI(命令行界面)的命令。
不过,令初学者感觉到头疼的是,需要依靠CLI来登录数据库,而事实上,GUI(用户界面)已经在操作系统和应用软件中普及多年了。诚然,CLI中并没有太多的命令需要记忆,而且语法也是很有逻辑性的。事实上,如果你认识精通SQL的人,你就会知道,他们大多都不使用GUI,而是使用CLI一行一行地敲击键盘。
可是一旦遇到了我们先前设想的那样的电子商务公司――数据库的管理人员大多数是现有职工兼职的,这时,GUI事实上就会成为很受欢迎的“拯救者”。因此,我们可以为MySQL安装其他GUI,只需要下载两个小软件:Query Browser和MySQL Administrator。
一开始,我们还以为这些GUI不过是一些看起来很弱智的东西,但事实完全不是那么回事。以Administrator为例,也许它并没有像Oracle或者IBM DB2有那么多的特性,不过它的用户界面十分友好,并用清晰醒目的图形引导你,使得工作变得很简单。并且,Administrator拥有所有初级DBA可能需要的功能,或许还更多,通过它你可以配置和优化数据库以及备份和恢复数据库,还可以检查数据库的状态是否正常。而Query browser也具有类似的功能,它使得创建和移动表格、建立和管理各种查询以及调试SQL脚本变得相当地快捷。
最后,如果你需要从其他种类的数据库,比如MS SQL Server、Oracle或者MS Access植入数据库,那么一种叫做“Migration Toolkit”的工具将会把你从繁重的工作中解放出来。
MySQL评分
互操作性(Interoperability):
★★★★☆
对CPU的数目没有限制,功能特性很强,非常好的用户界面,可以在Windows、Netware、Mac、Unix和Linux上运行;
升级考验(Futureproofing): ★★★★
不需要升级;
投资回报(ROI): ★★★★★
绝对超值,免费且功能强大;
服务(Service): ★★★☆
通过MySQL Network进行技术支持,费用从基本的595美元到4995美元不等,每服务器每年计费。
综合评分 : ★★★★
Oracle 10g Standard Edition
自从Oracle 10g Standard Edition开发出来以后,每当人们提起数据库的时候,首先想到的十之八九就是Oracle。虽然它并不便宜,但是即使是标准版(Standard Edition)也集成了使管理、使用和升级都变得十分便捷的特性。
Oracle 10g数据库家族中包括四个版本:Express Edition(简化版)、Standard Edition One(标准版1)、Standard Edition(标准版)和Enterprise edition(企业版)。所有的这些版本中都包括了存储过程和触发器的功能,并且在其中任何一个版本的数据库中编写的应用软件都可以在其他版本的数据库中流畅地运行。这样,就可以为公司在业务增长的情况下提供一个方便的升级路径。
如果想要从Standard Edition(标准版)升级到Enterprise Edition(企业版),其方法非常简单,只需要安装软件即可,不需要对数据库、应用软件和管理做任何改变。
谈到Oracle 10g Standard Edition的安装过程,对于一般人来说,安装配置和优化显得有点困难。平心而论,这些安装配置过程的设计的确有些复杂,事实上要设置的不过是参数的宽度和范围而已。
内存要求1GB,磁盘容量要求2GB,虽然磁盘容量还包括数据空间,但是这样的系统要求已经是惊人地低了。Standard Edition支持四核处理器,但是根据选择模式的不同,价格相差很大。比如,选择认证使用者数量模式来建立一个公司内部的数据库就会比运行在线电子商务的数据库性价比高很多。当然,如果你不选择花钱为使用者认证,那么Oracle就会根据服务器的每个CPU要你掏钱。
如果你即将开始的任务数据量不是很大,我们建议你打消使用多核的念头,直到你真正需要四路服务器的时候,因为现在四路服务器的软件许可费用是单路服务器的四倍。在操作系统方面,Oracle 10g支持Windows、Linux、Solaris、HP OpenVMS、Mac OS、AIX、IBM z/OS和HP Unix――除了Netware之外几乎所有的操作系统。
在特性方面,首先,数据的完整性无疑是至关重要的,Oracle利用Multi Version Read Consistency(MVRC)机制保证了用户不再经历不洁路径。这并不是说其他数据库提供的就是不正确的数据,不过某些数据库引擎在高强度加载时,未经过确认的数据可能会从缓冲器中涌入硬盘,从而潜在地制造了一个不洁的路径。除此以外,MVRC机制还保证了读操作不会影响到写操作;反之亦然,写操作也不会影响到读操作。
Oracle 10g Standard Edition界面图
同时,Oracle 10g Standard Edition不会在内存工作繁忙接近满载时提升行级锁。而其他一些数据库在这种情况下,缓存就会被添满并迫使内存释放出一些空间来存放锁。而Oracle的做法是,标记相应行来表明行处于锁或者解锁的状态,从而就可以从理论上保存不限数量的锁。
另外,管理员是通过非常方便并功能很强的Enterprise Manager来进行管理的,在争夺最佳用户界面的荣誉中,Enterprise Manager和DB2中的Control Center不相上下。而如果你想要交换、读取或者载入数据,在Enterprise Manager中几乎都提供了相应的连接或者按钮。
但是正如早先说明的,Standard Edition(标准版)并不便宜,几乎是同类产品中最贵的,要价2万美元/CPU,以及4000美元/年的技术支持。然而,我们还是很不情愿地做了这个测试,因为我们的测试平台是四处理器的服务器而付出了很高的花费,或许使用两个处理器而花费6598美元/CPU及1451.54美元/年的技术支持会更划算一点。
当然,如果你可以确定用户,那么花费可能会大大地减少。比如说,对于小数量的用户,Standard Edition(标准版)的价格是396美元/用户以及87.18美元/用户/季度的技术支持;而Standard Edition One(标准版1)的价格是197美元/用户以及43.30美元/用户/年的技术支持。而这两种选择中都至少要求有5个以上的用户,技术支持包括所有的软件包及其更新,并且保证7×24小时的工作。
Oracle 10g Standard Edition评分
互操作性(Interoperability): ★★★☆
限四核,很强的功能特性,非常好的用户界面,可以在Windows、Unix和Linux下使用;
升级考验(Futureproofing): ★★★☆
升级之前最多可以支持四核,并可以比较容易地升级到企业版并支持集群、失效备援等特性;
投资回报(ROI): ★★☆
相对DB2昂贵一些,但是拥有一些在DB2中需要额外付费的特性;
服务(Service): ★★★☆
服务许可包括所有的软件升级包,并提供7×24小时的电话或者电子邮件技术支持。
综合评分: ★★★
IBM DB2 Express
DB2 Express是IBM DB2数据库家族中的低端产品,其中含有Workgroup Server、Workgroup Server Unlimited、Enterprise Server以及Enterprise Server DPF等。
Express系列产品既可以在Windows下运行也可以在Linux平台下运行,但是只能支持最多两个CPU。从表面上来看用户数量是没有限制的,但是如果在Express上想要达到更好的效果,那么同时运行20到30个用户是最佳的。另外,有一点很有趣,Oracle在认证时把双核CPU看做是1.75个CPU,而IBM则视其为一个。这意味着DB2 Express可以在双核系统上合法地运行,而不需要增加额外的认证费用。
DB2一直被大家认为拥有许多强劲的特性,但事实上,在我们的测试中发现,并不是所有的特性都是在标准(默认)设置中,有很多特性是需要额外选择的(可能需付费)或者是根本不能用的。比如,在Enterprise Server DPF中为了提高性能、减少冗余而跨越多个服务器划分数据库时,其仅仅能提供的是基本功能。
不过,DB2的安装和配置是非常简单的,初学者就可以根据安装模块的提示轻松地一步一步地配置下去。安装模块经常会提供很多的选项让用户去创建或配置数据库,当然同时会对选项做出解释,并在后台去执行那些乏味的结构设置。比如,在设置中我们会面对一个根据使用模式调节数据库的性能,其中有3种模式可以选择:A是数据处理模式;B是数据存储模式;C是以上两种模式的中庸版,为的是满足那些对两个选项认识比较模糊或者想选择工作在两种模式下的用户。
无疑IBM DB2 Express数据库是最具扩展性的,同时输入文件方便快捷,而且具有很好的兼容性。输入数据的模块使用起来也很简单,用户可以根据标准的GUI(用户界面)处理和协调输入数据。
另外一个值得一提的特性是DB2 Express的数据库联合(Database Federation)功能(需要额外付费),简单地说,就是可以查询其他的数据库。比如说,你可以在Sybase上有一个股票管理系统,在SQL Server上有一个员工雇佣系统――DB2 Express允许面对终端无缝隙地连接和查询这些数据库。更妙的是,可以跨越数据库通过改写SQL命令来提高性能。
此外,在容量方面,虽然DB2 Express每个表512GB的存储量相比MySQL来说显得有些小了,但是你可以将其增加到32768个表,也就是总计16384TB的容量。
Oracle 10g Standard Edition的行锁是不受侵犯的,但是DB2 Express的孤立级别可以在允许脏读(用户读取了更新过的但是还未被用户在输入数据时给予许可的数据)和禁止脏读中转换,而前者可以提高整体性能。
DB2 Express的锁列表保存在RAM中,而Oracle则是保存在表中,在高强度和特殊加载情况下可以允许锁列表过载。如果锁列表保存在RAM中,会潜在地形成行锁,并且在极端情况下会上升到页面以及表锁,这种情况频繁发生的话,那么RAM显然就太小了;可是如果这种情况极少发生,那么你就必须面临选择,衡量一下是为了很少使用的内存增加费用还是放弃使用上的舒适度。不过,当数据库在很繁忙的情况下发生锁升级,数据库的大部分就将不能使用,数据处理和交换的速度也会一落千丈。
另外,Health Center是DB2 Express用户界面中的一个功能,它可以追踪数据库的性能并按负荷程度的不同给出注意、通知和警报。而这些都是由一个简单的图形提供的,用户可以在任何情况下深入地研究这些提示。其次,与其相配合的功能是Design Advisor,这个功能可以深入地分析数据库的运行情况,然后提出修改和改进意见来优化数据库,它的工作范围可以从添加额外索引或者删除废弃索引到为重新配置提出建议等。
其实,对于用户界面来说,DB2 Express刚一入眼可能并没有Oracle那样友好,可是它却很方便使用,并且建议大家深入研究:这个界面拥有范围很广的特性和14个用户强烈需求的模块,功能非常强大。
IBM DB2 Express界面界
众所周知,DB2第一年的技术支持费用是包含在产品价格中的,Passport Advantage Express包括7×24小时的电话和电子邮件服务。第一年末尾,用户就可以选择更新许可(花费1600美元/年/CPU),或者花费少点并相应地缩短每天的可维护时间。
与Oracle相似,IBM也有两个许可配置方案:一个是每个服务器的年费用固定,不论其能力如何;另一个是每个用户的年费用固定,这个当然对于网络系统是根本不适用的。那么如果是我们假想的公司相信会选择花费8106美元/CPU的同时获取不限用户数量许可。客观地说,这已经是很合理的资费了,虽然很多特性在Oracle下是标准配置,而在DB2中却需要额外掏腰包。
IBM DB2 Express评分
互操作性(Interoperability): ★★★
限双CPU,很强的特性设置,非常好的用户界面,可以运行在Windows和Linux下;
升级考验(Futureproofing): ★★★
在将其替换为更高版本之前可以应付相当的工作量,但是无疑需要升级到企业版,以获得集群、失效备援等;
投资回报(ROI): ★★★
相比Oracle投资更少,但是与Oracle支持四核相比只支持双CPU,并且一些可选功能是要付费的;
服务(Service): ★★★☆
技术支持的第一年费用包含在产品价格中,提供7×24小时电话和电子邮件服务。第一年结束以后,用户可以选择花费1600美元/年/CPU更新认证或者减少每日服务时间来降低费用。
综合评分 : ★★★
•编辑点评•
Oracle 10g和IBM DB2是现如今广为熟知的数据库领域的领先产品,它们都拥有强大的功能模块和令人惊讶的清晰的用户界面。不过,另外的两款数据库产品也同样被业内熟知,它们在可靠性和性能方面都证明了自己,并在全世界大范围应用。更另人兴奋的是,它们是免费的,这对于要控制成本的小企业来说无疑是一个很好的消息。尤其是MySQL,事实上,MySQL 5.x已经以其优越的性能,比如集群支持和容错特性等,对Oracle 10g和IBM DB2构成了威胁,并且在其他的大部分功能上与它们不相上下。
链接:数据库相关术语解释
数据库(Database):数据库是大量相关数据的集合,存储在一定的格式中;是存入数据的仓库,只不过这个仓库是在计算机存储设备上,并且数据是按一定的格式存放的。
关系型数据库(Relational Database):一系列相关的数据库的总和,比如说旅行客户的机票预订和银行账户代理系统就可以合并成为关系型数据库。
信息域(Field):存储了一条信息的数据库记录元素。
数据库管理系统(DBMS――Database Management System):是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
约束(Constraint):数据库提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。
脏读(Dirty read):如果数据库允许用户读取更新了的、但是还不完全可信的数据,那么就造成了脏读,数据库应该始终保持读取的是可信的数据。
查询优化器(Query optimiser):当你在完成一项报告或者进行查询的时候,优化器负责提供最快速、最有效率的操作,通常情况下,优化器是根据你的表和索引选择最佳的操作。
主关键字(Primary key):是一组确认记录特征的信息。
存储过程(Stored procedure):是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。
触发器(Triggers):数据库软件里的触发装置,编写一个触发器,当对一个表进行删除或更新的时候,触发使得与其相关联的另一个表中的数据更新。
联机分析处理(OLAP):指的是对存储在数据库或数据仓库中的数据提供分析的一种软件,OLAP工具能快速提供复杂数据库查询的答案,并帮助用户分析多维数据中的各维情况,通常OLAP应用于数据仓库中的数据处理过程,即所谓的“数据挖掘”。
开放式数据库连接(ODBC――Open DataBase Connectivity):在1992年由SQL Access公司开发,ODBC使得在两个从属数据库之间可以自由地传输和交换数据。
原子一致性隔离与耐久性(ACID――Atomicity Consistency Isolation and Durability):ACID是数据库管理系统(DBMS)的基础。比如,当你在网上与另一个人同时要购买同样的DVD的时候,可以单独分开处理交易,而不会出现撞车的现象。
实体完整性(Entity integrity):实体完整性规定表的每一行在表中是惟一的实体。
域完整性(Domain integrity):指数据库表中的列必须满足某种特定的数据类型或约束。
参照完整性(Referential integrity):指两个表的主关键字和外关键字的数据对应一致。
用户自定义完整性(User-defined integrity):针对某个特定关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
