度量快速开发平台-专业、快速的软件定制快开平台

标题: sql server,mysql,oracle三者的区别 [打印本页]

作者: 陈晓龙    时间: 2020-4-16 20:08
标题: sql server,mysql,oracle三者的区别
本帖最后由 陈晓龙 于 2015-11-16 20:10 编辑

没看之前对这三者的概念总是很模糊,这篇文章解决了我的疑惑。觉得好,分享给大家,希望各位大爷喜欢!

oracle就是ORACLE公司的数据库产品,以高性能著称,系统是可以随意下载的,但应用与商业用途需要LECENCE;
MS SQL是微软的数据库产品特点是易学易用,交互性好,具有良好的用户界面,,定位是中型企业
MYSQL是著名的开源数据库系统,应用的也十分广泛,尤其是论坛和小型企业网站
三个数据库都是基于SQL语言实现,但每个数据库在基本SQL语言基础上增加了自己的语法和优化策略.MYSQL先是被SUN公司收购,后来SUN又被ORACLE公司收购,因此关系有些微妙.

1. ORACLE
oracle 能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支 持.oracle并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果 windowsNT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。 oracle获得最高认证级别的ISO标准认证.oracle性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录oracle多层次网络计 算,支持多种工业标准,可以用ODBC、JDBC、OCI等网络客户连接。
     Oracle 在兼容性、可移植性、可联结性、高生产率上、开放性也存在优点。Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。与 IBM SQL/DS,DB2,INGRES,IDMS/R等兼容。 Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在70种以上 不同的大、中、小型机上;可在VMS、DOS、UNIX、WINDOWS等多种操作系统下工作。能与多种通讯网络相连,支持各种协议(TCP/IP、 DECnet、LU6.2等)。提供了多种开发工具,能极大的方便用户进行进一步的开发。Oracle良好的兼容性、可移植性、可连接性和高生产率是 Oracle RDBMS具有良好的开放性。

Oracle价格是比较昂贵的。据说一套正版的oracle软件早在2006年年底的时候在市场上的价格已经达到了6位数。所以如果你的项目不是那种超级大的项目,还是放弃Oracle吧。


2. SQLSERVER
SQL Server 是 Microsoft推出一套产品,它具有使用方便、可伸缩性好、与相关软件集成程度高等优点,逐渐成为Windows平台下进行数据库应用开发较为理想的 选择之一。SQLServer是目前流行的数据库之一,它已广泛应用于金融,保险,电力,行政管理等与数据库有关的行业.而且,由于其易操作性及友好的界 面,赢得了广大用户的青睐,尤其是SQLServer与其它数据库,如Access,FoxPro,Excel等有良好的ODBC接口,可以把上述数据库 转成SQLServer的数据库,因此目前越来越多的读者正在使用SQLServer.

Sqlserver由于是微软的产品,又有着如此强大的功能,所以他的影响力是几种数据库系统中比较大,用户也是比较多的。它一般是和同是微软产品 的.net平台一起搭配使用。当然其他的各种开发平台,都提供了与它相关的数据库连接方式。因此,开发软件用sqlserver做数据库是一个正确的选 择。


3. MYSQL
MySQL不支持事务处理,没有视图,没有存储过程和触发器,没有数据库端的用户自定义函数,不能完全使用标准的SQL语法。
从 数据库行家听说的第一件事就是MySQL缺乏transactions,rollbacks, 和subselects的功能。如果你计划使用MySQL 写一个关于银行、会计的应用程序,或者计划维护一些随时需要线性递增的不同类的计数器,你将缺乏transactions功能。在现有的发布版本的 MySQL下,请不要有任何的这些想法。(请注意,MySQL的测试版3.23.x系列现在已经支持transactions了)。  
  在非常必要的情况下,MySQL的局限性可以通过一部分开发者的努力得到克服。在MySQL中你失去的主要功能是subselect语句,而这正是其它的所有数据库都具有的。换而言之,这个失去的功能是一个痛苦。
MySQL没法处理复杂的关联性数据库功能,例如,子查询(subqueries),虽然大多数的子查询都可以改写成join
另 一个MySQL没有提供支持的功能是事务处理(transaction)以及事务的提交(commit)/撤销(rollback)。一个事务指的是被当 作一个单位来共同执行的一群或一套命令。如果一个事务没法完成,那么整个事务里面没有一个指令是真正执行下去的。对于必须处理线上订单的商业网站来 说,MySQL没有支持这项功能,的确让人觉得很失望。但是可以用MaxSQL,一个分开的服务器,它能通过外挂的表格来支持事务功能。 
外 键(foreignkey)以及参考完整性限制(referentialintegrity)可以让你制定表格中资料间的约束,然后将约束 (constraint)加到你所规定的资料里面。这些MYSQL没有的功能表示一个有赖复杂的资料关系的应用程序并不适合使用MySQL。当我们说 MySQL不支持外键时,我们指的就是数据库的参考完整性限制--MySQL并没有支持外键的规则,当然更没有支持连锁删除 (cascadingdelete)的功能。简短的说,如果你的工作需要使用复杂的资料关联,那你还是用原来的Access吧。 
你在MySQL中也不会找到存储进程(storedprocedure)以及触发器(trigger)。(针对这些功能,在Access提供了相对的事件进程(eventprocedure)。

Mysql+php+apache三者被软件开发者称为“php黄金组合”。





作者: 张军勇    时间: 2020-4-17 09:38
几种数据库的区别,多使用才会有更深的理解啊。

作者: 王爱东    时间: 2020-4-17 16:53
现在这三种数据库使用得都很多。主要看那些应用场合。寻求最合适的即可。
作者: 万望    时间: 2020-4-17 17:24
打酱油的路过
作者: 万望    时间: 2020-4-17 17:44
还没用过mysqlの
作者: 万望    时间: 2020-4-17 17:45
再回一贴拿经验
作者: 陈晓龙    时间: 2020-4-17 20:01
万望 发表于 2015-11-17 17:45
再回一贴拿经验

多评论有奖励哦!
作者: 万望    时间: 2020-4-18 21:31
多看看,有利无弊,有空也找找MySQL的资料瞅瞅
作者: 陈晓龙    时间: 2020-4-18 21:56
万望 发表于 2015-11-18 21:31
多看看,有利无弊,有空也找找MySQL的资料瞅瞅

对头,活到老,学到老!
作者: 万望    时间: 2020-4-19 17:35
陈晓龙 发表于 2015-11-18 21:56
对头,活到老,学到老!

俺精力有限,还是术业有专攻吧
作者: 陈晓龙    时间: 2020-4-20 13:32
万望 发表于 2015-11-19 17:35
俺精力有限,还是术业有专攻吧

专攻撒子?
作者: 万望    时间: 2020-4-20 17:19
陈晓龙 发表于 2015-11-20 13:32
专攻撒子?

感觉ORACLE好用的,就攻它~\(≧▽≦)/~啦啦啦
作者: 陈晓龙    时间: 2020-4-23 14:24
万望 发表于 2015-11-20 17:19
感觉ORACLE好用的,就攻它~\(≧▽≦)/~啦啦啦

嗯嗯,这样所!




欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2