Oracle 数据库、Microsoft SQL Server、MySQL 数据库是我们在项目开发过程中最为常见的三种关系型数据库。下面我们分别从不同的角度对这三种数据库做一个深度剖析和区分,便于我们在开发中更为熟练地选择合适的数据库工具。
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 软件早在 2006 年年底的时候在市场上的价格已经达到了 6 位数。所以如果你的项目不是那种超级大的项目,建议放弃 Oracle。
在非常必要的情况下,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黄金组合”。
本文分别给大家介绍了 Oracle 数据库、Microsoft SQL Server、MySQL 三种在项目开发过程中最为常见的关系型数据库。并从不同的角度对这三种数据库做一个深度剖析和区分,便于我们在开发中更为熟练地选择合适的数据库工具。但是随着技术发展和更新的迅速,不同的数据库工具在不同的版本更新之后可能还有较大的功能点变动,大家要学会活学活用!
我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有