当前位置: 首页 > 编程日记 > 正文

几种常用数据库比较

目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有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虽然功能强劲,但它毕竟是为商业用途而存在的,目前很少在游戏中使用到。

转自:http://www.cnblogs.com/wuzhanwen/p/6883394.html

转载于:https://www.cnblogs.com/feiyueNotes/p/8546288.html

相关文章:

成功将BlogEngine 1.5 升级到了BlogEngine 2.0

使用BlogEngine.Net博客系统有两年时间了。官方的最新版本已经出到了2.5。但它是基于.net4.0的。也就是说服务器必须安装.net4.0,运行环境必须选择4.0。出于移植性的考虑。我决定将我的博客升级到2.0。BlogEngine.Net2.0是继续.net2.0的。虽说必须安装.net 3.5&…

【java】4.27上课及做作业时遇到的问题及第十六节课笔记整理

注意: 部分知识点只在eclipse运行环境中适用 1、字符串转化为字符数组的方法: 代码实现: char[] strcs text.toCharArray();2、字符数字转化为字符串 String reStr new String(re,0 ,position);3、打包及 引包的方法 (1) 用ex…

【Android】基于A星寻路算法的简单迷宫应用

简介 基于【漫画算法-小灰的算法之旅】上的A星寻路算法,开发的一个Demo。目前实现后退、重新载入、路径提示、地图刷新等功能。没有做太多的性能优化,算是深化对A星寻路算法的理解。 界面预览: 初始化: 寻路: 后退: 提示: 完成: 刷新地图: 下载地址: 项目…

[转]SQL 约束讲解

约束主要包括: •NOT NULL •UNIQUE •PRIMARY KEY •FOREIGN KEY •CHECK •DEFAULT 1、not null :用于控制字段的内容一定不能为空(NULL)。 用法 :Create table MyTable ( id …

JSON 转 VO

需求 将获取的json数据直接转为vo 解决 利用net.sf.json.JSONObject的toBean() 确保json中的key值和vo中的字段名称一致 JSONObject jsonObject new JSONObject();UserVO vo new UserVO(); vo (UserVO) net.sf.json.JSONObject.toBean(jsonObject, UserVO.class);参考文档地…

怎样查看一个端口有无开启

有时候我们需要确定一下某个端口有无开启,有两种方法。 方法 1:查看一个端口有无开启的最简单方法 查看端口有无开启,需要在dos里使用命令来完成。这个命令就是: netstat -ano这个命令能显示当前电脑有哪些端口正在使用&#xff0…

一道SQL统计试题

根据上图A表和B表,按照年份和地区生成1至12个月的数据,结果如下: 方法一: select YEAR,AreaName, MAX(case Month when 1 then Money else 0 end) as [1月], MAX(case Month when 2 then Money else 0 end) as [2月], MAX(case Mo…

【单片机】时钟周期 器械周期 指令周期的关系

1、 时钟周期(振荡周期):始终周期也称振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的单位。在一个始终周期内,CPU仅完成一个最基本的动作。时钟周期是一个时间的量。始终周期表示了SDRAM&#xf…

Painting A Board --POJ 1691

1、题目类型:暴力法、DFS。 2、解题思路:题意,一块大的矩形区域的被分成多个矩形区域,现在要给不同的区域涂上不同的颜色,有不同颜色的刷子可以提供,每个刷子可以刷一种不同的颜色。每刷一次,将…

《JavaScript高级程序设计》读书笔记【一】

JavaScript介绍 ECMAScript,由ECMA-262定义,提供核心语言功能;  文档对象模型(DOM),提供访问和操作网页内容的方法和接口;  浏览器对象模型(BOM),提供与浏…

上不了名校?可以在 GitHub 上读他们的课程

今天开始,全国各大区域的高考成绩陆续公布,又到了几家欢喜几家愁的时刻,如果你准备报考计算机相关专业,但是又由于分数不高而苦恼。别担心,在 GitHub 上有着大量的名校教学资源,即使上不了名校,…

【java】各种方法的使用(不定期更新)

疑难杂症篇 1、输入一个字符的方法 问题在于Scanner中没有一个类似于nextInt()之类的函数。 代码实现 char num scanner.next().charAt(0);2、将字符串转化为数字 没啥问题就是记不下来 代码实现: int a1 Integer.parseInt(i1);3、字符串转化为字符数组的方法 …

SQL SERVER 触发器示例

触发器是一种特殊的存储过程。 触发器语法 : CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ DELETE ] [ UPDATE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS sql_statement [ ...n ] 示…

vc数据库知识

在连接SQL数据库时,数据库的链接: _bstr_t strConn"ProviderSQLOLEDB.1;Data Source.;Initial Catalogdb_test;Integrated SecuritySSPI;Persist Security InfoFalse"; _ConnectionPtr m_pConnection; m_pConnection.CreateInstance(__uuidof(connection)…

jmeter 测试 api 接口方法

双击 “jmeter.bat” 打开 Jmeter 页面,如下图所示。 右击“测试计划”,添加 -> Theaders(Users) -> 线程组 在线程组中可以设置线程数、并发数、循环数等。 下面开始进行几种 jmeter 的接口测试方法。 1、get 请求配置 右击…

我要学ASP.NET MVC 3.0(一): MVC 3.0 的新特性

摘要 MVC经过其1.0和2.0版本的发展,现在已经到了3.0的领军时代,随着技术的不断改进,MVC也越来越成熟。使开发也变得简洁人性化艺术化。 园子里有很多大鸟都对MVC了如指掌,面对问题犹同孙悟空的七十二变一般游刃有余,令…

【java】兴唐第12-14节笔记整理

第十四节课 1、eclipse快捷键 alt shift s给所有属性写get set函数 2、给文件重命名: ctrl F2 3、上转型对象调用方法调用的是子类重写的方法 4、在任何情况下,子类对象都可以访问父类受保护方法(protected) 注意: …

[ZZ]Map/Reduce hadoop 细节

转自:Venus神庙原文:http://www.cnblogs.com/duguguiyu/archive/2009/02/28/1400278.html 分布式计算(Map/Reduce) 分布式计算,同样是一个宽泛的概念,在这里,它狭义的指代,按Google …

类加载器双亲委派模式

双亲委派模型的工作流程是:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把请求委托给父加载器去完成,依次向上,因此,所有的类加载请求最终都应该被传递到顶层的启动类加载器中…

Kubernetes 架构(下)【转】

上一节我们讨论了 Kubernetes 架构 Master 上运行的服务,本节讨论 Node 节点。 Node 是 Pod 运行的地方,Kubernetes 支持 Docker、rkt 等容器 Runtime。 Node上运行的 Kubernetes 组件有 kubelet、kube-proxy 和 Pod 网络(例如 flannel&#…

【工具软件】Xmind的使用

1、打开历史保存的记录的方法 窗口 - 文本编辑历史 - 恢复 2、批量修改 编辑 - 查找/替换 3、如果子主体很多,而且有文本格式的,可以直接选中父父主题复制粘贴 4、窗口 - 黑匣子 自己做的脑图系统会自动备份。 5、常用快捷键 (1)创建子主…

小脚本,统计一个目录下满足特定条件文件的代码行数

find -regex .*cc -o -regex .*h | xargs wc -lfind也自带了执行命令的方法:find -regex .*cc -o -regex .*h -exec wc -l {} \; 这种方法的结果不太对,只能统计到满足 -regex .*h 的文件注明一下: find默认从当前目录递归的查找&#xff1b…

CCNA CCNP CCIE所有实验名称完整版

只能仅供参考了!具体的实验内容就没了,失望了!实验1:通过Console端口访问Cisco路由器  实验2:通过Telnet访问Cisco路由器  实验3:配置终端服务器  实验4:通过浏览器访问路由器  实验5&#…

Real World Haskell 第七章 I/O

几乎所有程序都是用来从外部世界收集数据,处理数据,并把处理结果返回给外部世界的。也就是说,输入和输出对于程序设计来说相当关键。Haskell的I/O系统很强大,表达能力很强也很容易使用,理解它的原理对于学习Haskell来说…

malloc函数分配失败处理的严重性

本次在实际测试情况下,发现程序无缘无故的异常,导致看门狗超时复位,经过排查是malloc函数分配失败的时候,依然对指针进行了操作,导致异常。以前没重视这个问题是因为,总觉的malloc基本都会成功的&#xff0…

kvm--virsh命令行下管理虚拟机

virsh 既有命令行模式,也有交互模式,在命令行直接输入 virsh 就进入交互模式, virsh 后面跟命令参数,则是命令行模式; (1)基础操作 --- 命令行下管理虚拟机 virsh list 列出当前宿…

【java】兴唐第十八节课

1、java接口的关键字:implements,可实现多个接口,接口接口之间使用逗号分隔。 注: 继承只能继承一个,接口可以实现多个 2、在接口里所有的方法都是抽象方法,不用关键字abstract修饰。 3、接口不能定义变量&#xff0…

转换前台javascript传递过来的时间字符串到.net的DateTime

javascript: var datenew Date().toString();得到的结果类似于:Wed Oct 27 2010 08:53:04 GMT0800 如何在C#中把这个字符串转换为DateTime类型呢?DateTime.ParseExact("Wed Oct 27 16:23:44 UTC0800 2010","ddd MMM dd HH:mm:ss UTCzzzzz yyyy"…

树状数组 | 1057

用哈希,把push的数x作为下标给hashTable(实则不存在,直接用tree树状数组记录数据)1,pop则是以最后一个数x作为下标-1 。 树状数组和其原理不再赘述,需要注意的是最后的二分搜索(实则是lower_bou…

7、vue中将token存到cookie

使用js-cookie工具: 1.npm i js-cookie //安装2.import Cookies from js-cookie //引用 // 存入cookie:Cookies.set(token,value) // 获取cookie:Cookies.set(token) //删除cookie:Cookies.remove(token)转载于:https://www.cnblogs.com/xlfd…