SQL_server_与Oracle数据库开发区别

合集下载

Oracle与SQL Server比较

Oracle与SQL Server比较

Oracle可在所有主流平台上运行,包括Windows、Unix、Linux等等。同时Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。对开发商来说是很大的支持。而SQL Server却只能在Windows上运行了,显得比较单调。从操作平台这点上Oracle是完全优胜于SQL Server的了。
Oracle与SQL Server比较
一、 操作平台
操作系统的稳定对数据库来说是十分重要的,由于SQL Server与Windows操作系统同属Microsoft公司的产品,所以在和Windows操作系统的整体结合程度、使用方便性、和Microsoft开发平台的整合性都比Oracle强的很多;但是Windows操作系统的稳定性及可靠性大家是有目共睹的,并且 Microsoft公司的策略目标是将客户都锁定到Windows平台的环境当中,只有随着Windows性能的改善,SQL Server才能进一步提高。
4. 临时表
SQL Server创建的临时表在创建后会由数据库自动回收。而Oracle的全局临时表会一直存在,但是其中数据在提交后会全部清除。
5. 帮助文档
SQL Server提供详细的中文说明文档,但是Oracle本身并不提供中文说明文档。最起码说明在针对中国市场上,Oracle并不如SQL Server态度积极。
三、 数据库管理
1. Oracle是针对表空间和用户来进行管理,而SQL Server是以针对单独的数据库进行管理。换另一种说法也就是,Oracle的数据权限分配是以用户可以访问哪些表作为依据。而SQL Server是以特定数据库中哪些用户可以访问作为依据。

SQLserver和Oracle的优劣对比

SQLserver和Oracle的优劣对比

SQLserver和Oracle的优劣随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高。

Oracle数据库在大多数企业中受到广泛使用,而SQL Server数据库也因为和Windows 的联系,在企业中的使用也是非常广泛。

这边说Oracle数据库有如此这般功能,那边又说SQL Server这些个那些个特性,各持己见。

如今大型关系型数据库多数单位都使用的是Oracle数据库,Oracle数据库的安全理涉及很多方面,比如控制数据的一致性和并行性,建立不同安全域的用户组与用户,以及不同客户连接的不同权限,管理员对不同用户的角色和权限的控制,建立足够有效的审计安全策略等。

SQL Server是一个关系数据库管理系统,它是建立在Windows的可伸缩性和可管理性之上,提供功能强大的客户/服务器平台,高性能客户/服务器结构的数据库挂历系统可以将VisualBasic,VisualC++等众多语言作为客户端开发工具,而将SQL Server作为存储数据的后台服务器软件,随着SQL Server产品性能的不断扩大和改善,已经在数据库系统领域占有非常重要的地位。

下面我们将从以下几方面对SQL Server和Oracle的优劣进行对比:1.开放性:SQL Server:SQL Server只在Windows上运行,没有丝毫的开放性,Microsoft这种专有策略的目标是将客户锁定到Windows环境中。

由于SQL Server紧密的捆绑在Windows平台上,所以,只有随着Windows操作系统可靠性、开放性以及性能的改善,SQL Server的开放性和可靠性才能进一步提高,因此操作系统的系统的稳定对数据库是十分重要的。

windows9x系列产品是偏重于桌面应用,nt server只适合中小型企业。

而且windows平台的可靠性,安全性和伸缩性是非常有限的。

它不象unix那样久经考验,尤其是在处理大数据量的关键业务时。

数据库管理系统比较MySQLvsOraclevsSQLServer

数据库管理系统比较MySQLvsOraclevsSQLServer

数据库管理系统比较MySQLvsOraclevsSQLServer 数据库管理系统比较:MySQL vs Oracle vs SQL Server引言:数据库管理系统是现代信息技术领域中不可或缺的一环。

随着数据量的急剧增加和数据库应用的广泛应用,选择适合自己需求的数据库管理系统变得至关重要。

在本文中,我们将比较三种常见的数据库管理系统:MySQL、Oracle和SQL Server。

通过对比它们的性能、功能、可扩展性和使用成本,为读者提供一个更好地了解和选择的依据。

一、性能比较在数据库管理系统中,性能是一个至关重要的因素。

下面将对MySQL、Oracle和SQL Server的性能进行比较。

1.1 MySQL性能MySQL是一个轻量级的开源数据库管理系统,以其高性能而闻名。

它采用多线程处理机制和高效的索引算法,能够处理大规模的数据访问和高并发请求。

此外,MySQL还支持垂直和水平扩展,可根据实际需求进行灵活配置和调整。

因此,在对于大多数中小型应用来说,MySQL提供了相对较好的性能。

1.2 Oracle性能Oracle是一个功能强大且成熟的商业数据库管理系统。

它具有出色的性能,并且能够处理大规模的复杂数据模型。

Oracle采用了先进的事务处理机制和高效的查询优化算法,使其在处理高并发访问和复杂查询时具有出色的性能表现。

然而,Oracle的性能和功能也伴随着更高的硬件要求和许可成本。

1.3 SQL Server性能SQL Server是由微软公司开发的关系型数据库管理系统。

它在处理大规模数据时表现出色,并且支持高并发访问和复杂查询。

SQL Server 采用了先进的内存管理和缓存技术,以提高查询速度和响应时间。

此外,SQL Server还具有良好的稳定性和可靠性,适用于中小型企业的应用场景。

综合比较,MySQL适用于中小型应用,对性能要求较高且成本敏感的场景;Oracle适用于大规模企业级应用,对功能和可靠性要求较高的场景;SQL Server适用于中小型企业应用,对性能和稳定性要求较高的场景。

sqlserver与oracle的区别

sqlserver与oracle的区别

sqlserver与oracle的区别SQL server 与Oracle开发比较本文档主要从oracle与sql server语法上进行差异性比较,诸如两者在管理,性能,优化等方面的差异不作比较。

●概念上区别1.Oracle是一种对象关系数据库管理系统(ORD BMS),而Sql serve r 只是关系型数据库管理系统(RDBMS).2.Oracle使用Internet文件系统,该系统基于Java的应用程序,可以使数据库基于成为Internet的开发平台;Sql se rver 是基于windows3.Orace主要的三类文件是:数据文件,控制文件,恢复日志文件Sql se rver: 主要数据文件(必须有且只能有一个),次要数据文件以及日志文件4.两者支持的命令类别差不多,数据定义语言,数据操纵语言,事务处理控制语言,数据控制语言.在Oracle中,在事务控制语言中除了commit,rollback等还多了一个Savepoint,设置保存点。

5.oracle sql的扩展叫PL/SQL,主要的结构化查询工具有sql*plus,isql*plus, pl/sql等Ms sql的扩展叫Transact-SQL,主要的结构化查询工具就是自带的查询分析器6.主要数据类型Orace:主要支持cha r ,va rchar2,lo ng,number,date time,ra w,lo ng ra w,clob,blob,bfie前面三个是Cha racter数据类型,varchar2支持可变长度的字符串,long支持可变长度的字符数据,ra w,long ra w用于存储二进制数据,lo ng ra w 可变长度最后三个是大对象(lob)数据类型,存储非结构化的信息,例如声音剪辑,视频文件CLOG表示Character Lob,可以存储大量的字符数据,它对于存储非结构化的XML文档非常有用。

BLOG表示Bina ry LOG,此数据类型可以存储大型二进制对象,如图形、视频剪辑,声音文件等支不支持,money,货币Sql se rver 主要支持的文本类型cha r ,va rchar,nchar,nvarchar,te xt,nte xt,image,货币类型Money,二进制binary,va rbina ry等等●开发语法A.SQL 语法两者的SQL语法基本上是相同的,只是一些细节方面的问题一:表的管理:修改表的结构,如增加,删除列,創建表修改表1.修改表的列的數據類型,大小的定義不同,如下面修改數據類型。

成功的数据库选择:MySQL、Oracle和SQL Server的优缺点

成功的数据库选择:MySQL、Oracle和SQL Server的优缺点

成功的数据库选择:MySQL、Oracle和SQLServer的优缺点在当今的信息化时代,数据库已经成为了企业信息系统中不可或缺的重要组成部分。

选择合适的数据库系统,可以大大提高企业的信息处理效率和数据处理质量,为企业的发展奠定坚实的基础。

目前在数据库领域中,MySQL、Oracle和SQL Server是比较常见的三款数据库系统,它们都具有各自的优点和缺点。

在本文中,我们将分别探讨MySQL、Oracle和SQL Server的优缺点,以帮助人们更好地进行数据库选择。

MySQL是一款开源的关系型数据库管理系统,它的安全性、可靠性和性能都是相当出色的。

MySQL拥有高可用性和强大的横向扩展性,能够适应数据量、访问量等成倍增长的情况,因此比较适合做分布式数据库。

此外,MySQL的成本较低,相比于商业化的数据库系统,MySQL 可以为企业带来比较稳定的技术支持和较为优惠的价格。

不过,MySQL 的处理速度还有一些提升的空间,同时在安全性方面还需要进一步改进,保护用户的数据安全。

Oracle是一款商业化的关系型数据库管理系统,它在可靠性、稳定性、安全性和性能方面都有着丰富的经验和强大的实力。

Oracle具有良好的可扩展性和高效的并发处理能力,支持几乎所有主流的操作系统平台,因此非常适合大型企业或数据量较大的企业使用。

Oracle还有比较完善和强大的数据恢复功能,即便出现了数据的丢失或损坏,也可以在最短的时间内进行修复。

Oracle虽然价格较高,但它的稳定性和可靠性都非常高,可以为企业带来更稳定的数据处理服务,这也是大多数企业肯定Oracle的原因。

不过,对于新手来说,Oracle的学习成本比较高,其操作和使用都相对复杂,需要一定的专业技术支持和培训。

SQL Server是一种微软开发的商业化关系型数据库管理系统,它具有良好的可维护性、易于管理的特点,同时也支持多用户透明的数据访问,可以将数据以不同的方式展示给不同的用户或部门。

SQL Server 和 Oracle 以及 MySQL 有哪些区别

SQL Server 和 Oracle 以及 MySQL 有哪些区别

孙文亮,笔下虽有千言,胸中实无一策糊涂、紫冰焰、张小枭Damon等人赞同SQL,在这里我理解成SQL Server。

三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性。

排行第四的DB2(属IBM公司),与Oracle的定位和架构非常相似,就不赘述了。

第一,如果要说明三者的区别,首先就要从历史入手。

1.Oracle:中文译作甲骨文,这是一家传奇的公司,有一个传奇的大老板Larry Ellision。

Ellision 32岁还一事无成,读了三个大学,没得到一个学位文凭,换了十几家公司,老婆也离他而去。

开始创业时只有1200美元,却使得Oracle公司连续12年销售额每年翻一番。

Oracle成立于1977年,早期的理论基础,反而来自于一篇IBM的论文《A Relational Model of Data for Large Shared Data Banks》【1】。

作者CODD选取了关系代数的五种运算,并基于运算,架构了一种新型的数据存储模型。

基于这种模型,Oracle成为了一个非常典型的关系数据库。

因此也变的严谨、安全、高速、稳定,并且变的越来越庞大。

由于其诞生早、结构严谨、高可用、高性能等特点,使其在传统数据库应用中大杀四方,金融、通信、能源、运输、零售、制造等各个行业的大型公司基本都是用了Oracle,早些年的时候,世界500强几乎100%都是Oracle的用户。

2.MySQL :MySQL的最初的核心思想,主要是开源、简便易用。

其开发可追溯至1985年,而第一个内部发行版本诞生,已经是1995年。

到1998年,MySQL已经可以支持10中操作系统了,其中就包括win平台。

但依然问题多多,如不支持事务操作、子查询 、外键、存储过程和视图等功能。

下图是一个截止至2006年的数据库市场占有率【2】:图中可以看出,MySQL的爆发实际是在01、02年,尤其是02年发布的4.0 Beta版,正式选定InnoDB作为默认引擎,对事务处理能力及数据缓存能力有了极大的提高。

Oracle和SQLServer的主要区别

Oracle和SQLServer的主要区别

ORACLE提供了7种备份机制,具有联机备份功能 Oracle的日志默认有3个,先写入1号日志,满了后再写入2号日志,2号满了再写 入3号日志,3号满了后Oracle将自动备分1号日志的内容,然后清空后写入新的 日志信息,且Oracle的日志有多路复用功能,我们可以为日志创建多个镜像,把 相同的日志信息同时写入多个日志文件中,这样可以防止磁盘损坏造成的数据丢
SQL Server可用涵数比比较少,而且名称、调用语法跟Oracle差别比较大。 SQL Server的初如花费比较少,而且Microsoft提供免费的SQL Server工具软 件。因此价格会比Oracle低很多。 SQL Server提供全图形界面操作,很少见到DOS窗口。它的企业管理器给用户 提供一个全图形界面的集成管理控制台来集中管理多个服务器,使用比较方 便,安装也比较简单。 Sql server 只是关系型数据库管理系统(RDBMS) Ms Sql Server的扩展叫Transact-SQL,主要的结构化查询工具就是自带的查 询分析器
SQL中的错误机制比较复杂,没有提供错误描述。
SQL只能是本机备份本机的数据库,无法联机备份,而且备份压缩很低,占用 了大量空间 SQL Server对每个数据库只能分配一个日志文件。且当日志填满后,日志将停 止工作,等待人工干预,而无法自动重用。
1.SQL Server中的数据类型比较简单,只有一些简单的基本数据类型,无法提 供事务操作。 2.SQL Server包含的数据类型比较少,无法定义结构体,数组,对象。 3.SQL Server无法定义流程机制,类型转换也极不方便,SQL Server中对游标 定义十分复杂,且当用户定义的多个游标同时打开时系统却只有一个游标变 量,这是SQL SERVER中一个严重的缺陷。 4.SQL Server在保存大文件时,是一次将整个大文件写入内存,然后在一次性 存到数据库里面,很容易引起内存溢出。

浅谈ORACLE与SQL SERVER的差异

浅谈ORACLE与SQL SERVER的差异

摘要ORACLE 和 SQL SERVER 是众多数据库的一分子。

在不同的关系型数据库管理系统(RDBMS)之间,存在很多差异,ORACLE和SQL SERVER都符合SQL-92标准的属性扩展。

从应用程序的开发人员的角度来看,ORACLE和SQL SERVER对数据进行管理方式没有太大的区别。

ORACLE和SQL SERVER之间的内部差异却是十分明显。

计算机系统和终端设备的功能、性能和使用方式千差成别,用户希望在现有设备的基础上,充分利用不同系统的各种资源,尽可能简单地完成一项工作,满足用户的要求,设计一个统一的系统接口,并通过这一接口与局部系统转换,实现各种资源的共享。

这种转换实际上是数据库语言转换,为了实现其转换,就必须进行数据库语言的比较。

ORACLE公司的ORACLE和Microsoft公司推出的SQL ERVER是当今流行的大型关系数据库管理系统,它们是建立在成熟而强大的关系模型基础上,可以很好的支持客户/服务器模型,系统具有功能强大,使用灵活和形式多样的特点,可以用于构造从小型的单用户系统到支持数千个并发用户的大型应用项目上。

本文针对ORACLE和SQL SERVER两种语言进行比较。

关键字:数据库,ORACLE,SQL SERVERAbstractOracle and Sql server are member of numerous database.In the relational database management system (RDBMS) between different, there are number of differences,Properties of Oracle and Sql server are in line with the SQL-92 standard extension.From the application developer's perspective, Oracle and Sql server is not much difference to carry on the management mode of data.Is very obvious to The internal differences between Oracle and Sql server Computer systems and terminal equipment function, performance and the use way thousands of poor into other,Users hope that on the basis of the existing equipment, make full use of various resources in different systems, as simple as possible to complete a task, to meet user requirements, design a unified system interface, and through this interface with the local system transformation, realize the sharing of various resources.This conversion is actually the database language conversion, in order to realize the conversion, the comparison must carry out the database language.Oracle and Microsoft's Sql server is a large scale relational database management system of popular.They are based on a mature and powerful relationship model based on server model, can be very good support customer / the system have the function strong, the use of flexible and diverse forms of characteristics, can be used for the large type application project is constructed from the single user system for small to support thousands of concurrent users.According to Oracle and Sql server the two language are compared.Key words:Database, Oracle,Sql server目录1 绪论 (4)1.1课题研究的背景 (4)2 ORACLE 与 SQL SERVER 的发展史 (6)2.1 ORACLE 与 SQL SERVER 的发展史 (6)2.1.1 ORACLE 的发展 (6)2.1.2 SQL SERVER 的发展 (9)3 ORACLE 与 SQL SERVER性能的比较 (12)3.1数据库操作平台的开放性 (12)3.2性能、价格比 (13)3.3工具软件 (13)3.4文件体系结构 (14)3.4.1 主要的文件体系结构 (14)3.4.2 ORACLE的文件体系结构 (15)3.5存储结构 (15)3.5.1 ORACLE基本表空间 (15)3.5.2 SQL SERVER基本数据库 (15)3.6 基于数据库安全的比较分析 (16)4 ORACLE 与 SQL SERVER 语言的比较 (17)4.1 数据类型的不同 (17)4.1.1 ORACLE 的数据类型 (17)4.1.2 SQL SERVER 的数据类型 (20)4.2 在ORACLE中没有默认约束的说法 (23)4.3 连接变量和字符串的方式不一样 (23)4.4 条件语句if......else......的语法不同 (23)4.5 case语句的语法不同 (24)4.6 触发器创建语法不同 (25)4.7 创建用户的方式不同 (27)4.8 存储过程不同 (29)5 ORACLE 与 SQL SERVER 事务处理的异同 (30)5.1 事务的特点 (30)5.2 事务的执行过程 (30)5.3 事务处理过程的锁定和并发性 (31)5.4 事务日志和自动恢复 (33)结论 (34)致谢 (35)参考文献 (36)1 绪论1.1课题研究的背景数据库系统(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。

SQL server与oracle的优缺点

SQL server与oracle的优缺点

SQL server与oracle的优缺点SQL server 是关系型数据库管理系统(RDBMS)。

SQL server 是一个很好的关系型数据库, 免费, 而且功能很全, 程序又小, 安装简单, 现在很多网站都用SQL server, 在字段约束上做的差了点儿, 其他的都不错, 和SQL server 用着差不多。

SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。

现在数据库都使用标准的SQL语言对数据库进行管理,SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。

Oracle 关系型数据库, 是目前市场占有率最大的数据库, 安装起来很繁琐, 而且程序文件很多。

用起来非常方便, 对于初学者, 有很简单的配置, 对于要求很高的企业级应用, 也有很复杂的配置和管理方法, 有很强大的数据字典, 可以说是最实用的数据库了, 但是价格不菲。

SQL server是安全性高的客户机/服务器体系结构,图形化用户界面,使系统管理和数据库管理更加直观、简单,丰富的编程接口工具为用户进行程序设计提供了更大的选择余地。

SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。

SQL Server也可以很好地与Microsoft BackOffice产品集成。

具有很好的伸缩性,可跨越多种平台使用,对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。

SQL Server还提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。

Oracle的稳定性要比SQL Server好,在导数据工具sqlload.exe 功能比SQL Server的功能强大,Oracle的安全机制比SQL Server好, SQL Server的易用性和友好性方面要比Oracle,在处理大数据方面Oracle会更稳定一些。

SqlServer和Oracle数据库的区别-

SqlServer和Oracle数据库的区别-

SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。

目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。

虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。

SQL Server SQL Server 是一个关系数据库管理系统。

它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。

在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。

Sybase 则较专注于SQL Server 在UNIX 操作系统上的应用。

SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。

具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。

编辑本段SQL Server 2008新功能这个平台有以下特点:·可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。

·高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。

sql server与oracle的区别

sql server与oracle的区别

疯狂SQL之魔兽争霸本人平时比较沉默,但朋友们都说我很疯狂—疯狂地学习、疯狂地工作。

很久就有写点东西的打算啦,一直懒于打字,近来稍有空闲,决定杜撰此文,献给现些喜欢或不喜欢沉默的朋友。

----自序网上已经有很多SQL与ORACLE的对比,但本人要讲的即不是单纯的SQL,也不是单纯的ORACLE,更不是评价谁好谁坏(意思不大),而是两种数据库之相同和异同,本人曾讲授过SQL与ORACLE的课程,讲SQL时说SQL好,讲ORACLE时又说ORACLE棒,现在终于可以平心而评啦。

估计有人现在会嘿嘿冷笑(又一个误人子弟的骗子),老实说,当初每次讲完课,就有这种感觉—教的人不得其法,学的人不得其道。

说点严肃的事吧,据说比尔与艾里森在洗手间相遇,两个又是拥抱,又是KISS,不多久就吵了起来,比尔对查询分析器(SQL QUERY ANALYZE)赞不经绝口,艾里森嘿嘿冷笑,只说了一句话—SQL PLUS内秀。

言归正传,且听我一一道来1.SQL与ORACLE的内存分配ORACLE的内存分配大部分是由INIT.ORA来决定的,一个数据库实例可以有N种分配方案,不同的应用(OLTP、OLAP)它的配置是有侧重的。

SQL概括起来说,只有两种内存分配方式:动态内存分配与静态内存分配,动态内存分配充许SQL自己调整需要的内存,静态内存分配限制了SQL对内存的使用。

1.002、SQL与ORACLE的物理结构总得讲,它们的物理结构很相似,SQL的数据库相当于ORACLE的模式(方案),SQL的文件组相当于ORACLE的表空间,作用都是均衡DISK I/O,SQL创建表时,可以指定表在不同的文件组,ORACLE则可以指定不同的表空间。

CREATE TABLE A001(ID DECIMAL(8,0)) ON [文件组]--------------------------------------------------------------------------------------------CREATE TABLE A001(ID NUMBER(8,0)) TABLESPACE 表空间注:以后所有示例,先SQL,后ORACLE2.003、SQL与ORACLE的日志模式SQL对日志的控制有三种恢复模型:SIMPLE、FULL、BULK-LOGGED;ORACLE对日志的控制有二种模式:NOARCHIVELOG、ARCHIVELOG。

SQL server和oracle这两个数据库有什么区别?

SQL server和oracle这两个数据库有什么区别?

SQL server和oracle这两个数据库有什么区别?首先这两个都是关系型数据库,都数据经常使用的数据库。

Oracle是排名第一的,从使用广度和并发性性能方面,SQL server排名第三。

它们的区别:1.应用平台的角度:Oracle可以运行在任何平台,像Window,Linux,MarOS 上。

SQL server主流的支持平台是Windows,因为它背后的靠山就是Microsoft.从2017版开始,SQL server也开始跨平台,你可以下载它的Docker版本,就可以运行在Linux和MarOS上。

2.从优化的角度:比如查询优化,Orcale支持*的查询优化,SQL server是没有这个操作的。

从更新的角度,Orcale更新一个字段后需要执行commit提交以后才能更新,而SQL server 不需要commit,它的值已经改变了。

从回滚的角度,Orcale 可以在事务执行中支持回滚,而SQL server不允许,只有事务执行完了,发生失败或发生意外,才执行rollback这个功能。

另外就是Schema的区别,Orcale中一个instance有多个Schema,对于Orcale来说,Schema相当于数据库的概念,对于SQL server来说,一个数据库中可以有多个Schema,所以这个Schema相当于table的概念。

3.从备份的角度说,Orcale支持差分备份,而SQL server不支持,像增量级的,完整的文件级的备份这两个数据库都是支持的。

4.从触发器的角度说,Orcale支持前触发器和后触发器,SQL server只支持后触发器。

最后就是从付费的角度考虑,两者都有开源的版本,可供下载使用。

以上就是两者的区别,希望对你有所帮助。

SQL Server数据库与Oracle数据库的区别

SQL Server数据库与Oracle数据库的区别

SQL Server数据库与Oracle数据库的区别在数据库领域,SQL Server和Oracle是两个主要的关系型数据库管理系统(RDBMS),它们在很多方面有着明显的区别。

1. 历史背景和公司背景:SQL Server是由Microsoft开发和维护的产品,而Oracle是由Oracle Corporation开发和维护的产品。

这也导致了两者在功能、兼容性和市场份额等方面有所不同。

2. 操作系统支持:SQL Server主要支持Windows操作系统,而Oracle则支持多个操作系统,包括Windows、Linux、UNIX等。

3. 数据库大小和性能:SQL Server适合小型和中型数据库应用,而Oracle适用于大型和复杂的数据库应用。

Oracle在大型数据库的处理能力、并发性和扩展性方面表现较好。

4. 数据处理和查询:SQL Server在数据处理和查询方面有较高的性能和效率,尤其是在大量并发读取和写入的情况下。

Oracle则提供更多的高级查询功能,如复杂的子查询、视图、分区表等。

5. 数据安全和备份:SQL Server和Oracle都提供了各自的数据安全特性,例如权限管理、数据加密等。

然而,Oracle在备份和恢复方面具有更强大和灵活的功能。

6. 成本和授权:SQL Server在许可授权和采购成本方面相对较低,尤其适合中小型企业。

而Oracle则在授权和采购成本方面较高,适用于大型企业和对安全性和性能要求较高的项目。

需要注意的是,这只是SQL Server和Oracle的一些主要区别,实际应用中还需要根据具体需求、项目规模和预算来选择适合的数据库系统。

无论选择哪个数据库系统,都需要根据实际需要进行综合评估,并考虑到数据库性能、可扩展性、安全性、可维护性和成本等因素。

微软sql与oracle数据库对比

微软sql与oracle数据库对比

Microsoft® SQL Server 2000与Oracle®9i™ Database 的比较产品市场部目录概述 (4)可用性 (5)整体比较 (5)高可用性集群技术 (5)Real Application Clusters (RAC) (6)复制 (6)备份与恢复 (8)在线检查数据库 (9)备用服务器 (10)Log Shipping (10)总结 (10)可扩展性 (11)总体比较 (11)支持超大型数据库 (VLDB) (11)OLTP: 向上扩展 (11)OLTP: 向外扩展 (13)实例创建 (14)索引与并行查询 (15)调校参数 (15)最优化监视 (15)总结 (16)安全性 (17)总体比较 (17)一般性安全 (17)审核 (17)Profiling for Auditing (18)事件通知 (18)总结 (18)互用性 (19)整体比较 (19)异类复制 (20)总结 (20)可管理性 (21)整体对比 (21)总结 (23)可编程能力 (24)整体对比 (24)易用性 (26)整体对比 (26)总结 (26)DATA WAREHOUSING (OLAP)能力 (27)整体对比 (27)公共特性对比 (27)总结 (28)数据挖掘能力 (29)整体对比 (29)图形化访问 (29)数据挖掘操作 (29)比较能力 (30)总结 (30)移动性 (31)整体对比 (31)体系结构 – 不同版本 (31)总结 (32)结论 (33)概述要完全了解Microsoft® SQL Server 与Oracle9i™ Database 可不是件简单的事。

本文介绍了Microsoft SQL Server 2000与Oracle9i Database的功能并在最后附录中介绍了最新的Oralce 10g 与Microsoft SQL Server 2000的售价,并做了比较。

Oracle_vs_SQL Server

Oracle_vs_SQL Server

Oracle与SQL Server选型时不得不说的三个小差异甲骨文与微软两大数据库产品,是数据库发展史上的两座大山。

这让我们在数据库选型的时候,基本上没有多大的选择余地,不是微软就是甲骨文。

但是,从他们两者来说,还是有比较大的差异。

今天笔者就谈谈在数据库选型的时候,不得不关注的他们之间的三个小差异。

了解这些区别,能够给我们数据库选型带来很大的指导作用。

一、所支持平台的差异。

甲骨文的数据库系统,是在JA V A平台上开发起来的,所以,保持着众多JA V A程序的特性。

如有很多功能都需要利用命令来完成;如一些辅助工具也都是类似DOS窗口的命令行形式的窗口,等等。

而基于JA V A平台开发的数据库版本,也继承了JA V A 的一个很重要的性能,就是跨平台性能。

甲骨文的Oracle数据库可以在现有的大部分操作系统上顺利运行,如无论是开源的Linux系统还是微软的服务器系统,又或是苹果操作系统等等,都可以跑Oracle数据库系统。

而微软的SQL Server数据库系统,其只能够在微软的操作系统上运行,这除了技术上的因素之外,可能也是微软捆绑销售以及垄断的商业策略的体现吧。

但是,从各个方面考虑,数据库能够支持多个平台的特性,已经越来越重要。

一是从服务器稳定的角度考虑。

到现在为止,开源的UNIX还是首选的服务器操作系统。

UNIX服务器操作系统的稳定性是有目共睹的;而微软的服务器软件漏洞之多、稳定性之差也是大家感同身受的。

相比之下,在一些稳定性要求比较高的应用上来说,大家更加喜欢使用UNIX(或者其分支LINUX)作为服务器软件。

虽然,其在维护成本上可能会高于微软的服务器操作系统。

既然在服务器操作系统上有多个平台可以选择,那么无论是企业还是软件公司,在数据库选型上,也必须要考虑这个趋势。

若商业软件公司,他们开发的软件只支持微软的数据库,而不支持甲骨文的数据库的话,则他们开发的软件,就只能够在微软的操作系统平台上应用,而不能在如LINUX的平台下应用,这必将失去很大的一部分市场。

深度对比Oracle与SQL_Server

深度对比Oracle与SQL_Server

Oracle与SQL Server对比这两种数据库之间架构上的比较操作系统的支持Microsoft SQL Server只支持Windows平台,要让Microsoft发布一个支持其它操作系统版本的可能性当然是小之又小的了。

当前来说 SQL Server可以在XP、Vista、Windows Server 2000、2003、2008上运行,同时也有针对于32位和64位版本Windows的数据库版本。

对Oracle来说,它支持多种不同的操作系统平台,包括Windows,另外还有支持Linux和不同分支的Unix.实例、数据库和表空间SQL Server和Oracle之间第一个架构级别的差异就在于对实例 (instance)和数据库(database)概念的定义了。

SQL Server中,实例一词用来代表一个包含了操作系统文件、内存结构、后台进程以及注册表信息的独立的应用服务。

在Windows系统中用一个存在着停止和运行状态的服务来代表一个实例,当处于运行状态时,实例要占用一定的服务器内存以及生成一定数量的后台进程。

SQL Server实例的中心是数据库。

一个SQL Server数据库指的是一个资料库以及操作数据所需要的程序代码,当实例没有运行时,实例中的数据库就不能够访问。

SQL Server有两种数据库:系统数据库(system databases)和用户数据库(user databases)。

在一个SQL Server实例安装完成之后,将会自动创建4个系统数据库:master, model, msdb, tempdb。

如果一个机器上面安装了多个SQL Server实例时,每个实例都会有自己单独的一套系统数据库。

除了msdb数据库之外,其它数据库不能访问或是被损坏都会导致实例无法启动。

相比之下用户数据库由DBA或者是开发人员在数据库实例安装完毕、系统数据库都启动之后所创建的,这些数据库中保存着公司的业务资料。

浅析Oracle和SQL Server数据库教程 电脑资料

浅析Oracle和SQL Server数据库教程 电脑资料

浅析Oracle和SQL Server数据库教程电脑资料oracle|serverT-SQL是SQL Server的语言引擎,而Oracle的语言引擎却是PLSQL,列的选择用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL Server的要求是一样的。

SELECT语句必须选择针对的数据表。

在Oracle数据库内有一种特殊的表Dual。

Dual表是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select中。

Dual表由Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。

这个表里只有一列DUMMY,该列定义为VARCHAR2(1)类型,有一行值X。

从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。

Oracle下的DUAL查询如下所示:SELECT ‘x’ FROM dual而对等的SQL Server查询则是下面这个样子:SELECT ‘x’以下是null相关的知识,用到了dual:SQL> select 1 from dual where null=null;没有查到记录SQL> select 1 from dual where null='';没有查到记录SQL> select 1 from dual where ''='';没有查到记录SQL> select 1 from dual where null is null;1---------SQL> select 1 from dual where nvl(null,0)=nvl(null,0);1---------1查看当前连接用户SQL> select user from dual;查看当前日期、时间SQL> select sysdate from dual;连接Oracle用|| 符号作为连接符,而SQL Server的连接符是加号:+ 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1本文档主要从oracle与sql server语法上进行差异性比较,诸如两者在管理,性能,优化等方面的差异不作比较。

●概念上区别1.Oracle 是一种对象关系数据库管理系统(ORDBMS),而Sql server 只是关系型数据库管理系统(RDBMS).2.Oracle使用Internet文件系统,该系统基于Java的应用程序,可以使数据库基于成为Internet的开发平台;Sql server 是基于windows3.Orace 主要的三类文件是:数据文件,控制文件,恢复日志文件Sql server: 主要数据文件(必须有且只能有一个),次要数据文件以及日志文件4.两者支持的命令类别差不多,数据定义语言,数据操纵语言,事务处理控制语言,数据控制语言.在Oracle中,在事务控制语言中除了commit,rollback等还多了一个Savepoint,设置保存点。

5.oracle sql的扩展叫PL/SQL,主要的结构化查询工具有sql*plus,isql*plus, pl/sql等Ms sql的扩展叫Transact-SQL,主要的结构化查询工具就是自带的查询分析器6.主要数据类型Orace:主要支持char ,varchar2,long,number,datetime,raw,long raw,clob,blob,bfie 前面三个是Character数据类型,varchar2支持可变长度的字符串,long支持可变长度的字符数据,raw,long raw用于存储二进制数据,long raw 可变长度最后三个是大对象(lob)数据类型,存储非结构化的信息,例如声音剪辑,视频文件CLOG表示Character Lob,可以存储大量的字符数据,它对于存储非结构化的XML 文档非常有用。

BLOG表示Binary LOG,此数据类型可以存储大型二进制对象,如图形、视频剪辑,声音文件等支不支持,money,货币Sql server 主要支持的文本类型char ,varchar,nchar,nvarchar,text,ntext,image,货币类型Money,二进制binary,varbinary等等●开发语法A.SQL 语法两者的SQL语法基本上是相同的,只是一些细节方面的问题一:表的管理:修改表的结构,如增加,删除列,創建表修改表1.修改表的列的數據類型,大小的定義不同,如下面修改數據類型。

Ms sql是ALTER TABLE table_name ALTER COLUMN col DECIMAL (5, 2)Oracle是 Alter TABLE table_name modify(col decimal(5,2))2.增加和刪除表的列,兩者是相同的Alter tabe table_name add(col definition)Alter tabe table_name drop column col_name3 .Oracle如果不要用某列,然後又不想刪除,就可以将某个列标记为未用Alter tabe table_name set unused(tel_no).创建临时表Oracle 的語法是:Create global temporary table aa(col number) on commit preserve rows;临时表只在用户会话时存在的表,或其数据在用户事务处理期间可持续存在的表,创建临时表时可以指定该表是否应当在用户会话期间持续存在(使用on commit preserve rows)On commit delete rows 表示事务处理完成后删除它的行 Ms sql的語法是:Select * into #temptable from existedtable二查询方面:1.查表的前N行记录oracle 是用rownum 如select * from table_name where rownum<n Ms sql 是用top 如select top n * from table_name2.查詢表的結構Orace 可以通過desc来查看表的结构语法是:desc table_name或者使用数据字典表user_tab_coumns也可以查看到Select column_name,data_type from user_tab_coumnsWhere table_name=''Ms sql可以通過一些系統的存儲過程來看表的結構語法是:exec sp_help table_name3.将一个表的数据添加到另外一个表中a.新表存在前提下:兩者語法是一樣的,如insert into newtable(col1)select col1 from old_tableb.新表不存在前提下,可以用oracle 可以用Create tabe new _table_name as select * from old_table ms sql 可以用Select * into new_table from old_table三操作符1.連接操作符Oracle是‘||’; Ms sql是‘+’2. Oracle的比较操作符中不等于除了'<>'之外,还有一个'!='3. 算术操作符,都是+-*/;逻辑操作符都是and,not,or(相同點)4. oracle集合操作符除了union,union all之外还加入intersect,minus Intersect是仅返回两个查询都有行,minus返回第一个查询有第二个查询没有的行四函數1.轉換函數Oracle 中有to_char(),to_date(),to_number()Ms sql 中有cast,convert2.系统日期:Oracle: sysdateMs sql: getdate()如Select sysdate from dual 一定要from子句Select getdate() 不一定要from子句3.Decode函数相当if else,或者ms 中的case语句语法是decode(value,if1,then1,if2,then2....)如decode(col1,'1','true','0','fase')4.常规函数Nvl 语法是NVL(EXP1,EXP2) 表示如果ex1为空则返回ex2Nvl2 语法是nvl(exp1,exp2,exp3)表示如果ex1为空,则返回ex3,否则返回ex2Nullif 语法是nullif(ex1,ex2) 如果这两个表达式相等则返回空coalesce语法是coalesce(ex1,ex2,....exn)返回第一个非空表达式5.分組函數Oracle 中的分組函數Rollup,cubeRollup返回的结果集包含分组行和小计行,cube产生交叉报表如:Select a,b,sum(c) from tabname group by rollup(a,b)Select a,b,sum(c) from tabname group by cube(a,b)Ms sql中的分組函數compute 和compute byCompute子句为行聚集函数生成汇总值,该汇总值做为一个附加的行显示在结果集中。

没有GROUP BY 子句的情况下,也可以使用关键字COMPUTE.此关键字使用MAX,MIN,SUM,COUNT,AVG等函数生成汇总值,而compute by 则在控制中断时给出该汇总值,compute by 必须包括在order by 子句中。

還有很多函數,諸如日期函數,字符串函數等等,就不一一作比較了。

Oracle中還有很多比較好的分析函數,也不列舉了。

五.Oracle中的数据库对象同义词作用:简化SQL语句;隐藏对象的名称和所有者,提供对象的公共访问等。

语法:CREATE PUBLIC SYNONYM seqname FOR OBJECT 序列用来生成唯一、边续的整数,它通常用来自动生成主键或唯一值的键。

創建序列:create sequence seqname [increment by 1] start with 1 maxvalue10minvalue 1 cycle cache访问序列:Select seqname.nextval from dual 将返回序列的初始值Select seqname.currval from dual 返回序列的当前值簇(cluster):簇是共享相同数据块的一组表,因为这些表具有相同的列,并且经常一起使用。

当两个或多个表的存储在物理上十分接近时,可以通过簇来提高使用这些表的SQL联接语句的性能。

簇是存储表的方法应该先创建簇,然后再创建簇中的表,六.Oracle中的对象类型1. 抽象数据类型此类型是包含一个或多个子类型的数据类型,并且这些数据类型并不局限于标准的oracle数据类型如:create or replace type t_mm as object(col number(3),col2 varchar2(20))/此时可以在创建表时使用该类型,如下Create table test (aa varchar2(5),bb t_mm, cc number(10))插入记录:Insert into test values('cccc', t_mm(1,'col'))类型声明:用户定义的数据类型也可以声明为final,not final,instantiable,not instantiabeNot final表示允许类型派生子类型。

默认是finalcreate or replace type t_mm as object(col number(3),col2 varchar2(20)) Not finalnot instantiabe表示类型没有构造函数。

2. 可变数组可变数组有助于在单个行中存储和重复记录的属性。

数据与表中的其它数据是存储在一起的,有限数目的行,不能被索引创建可变数组的语法是:create type array1 as varray(5) of varchar2(5)向可变数组中插入记录Insert into test1 values ('2ee', array1('1','2','3','4','5') )Select * from test1 结果集如下2ee'1','2','3','4','5'Select col2 from test1 结果集如下'1','2','3','4','5'Select * from table(select t.col2 from test1 where col1='2ee'); 结果集如下123453. 嵌套表它是包含在表中的表,对每行数据项数目没有限制,一个表在另一表中是作为一列,主表中的每一行的嵌套表可以包含若干行。

相关文档
最新文档