MsSql SQL access 之间的区别

MsSql SQL access Oracle 之间的的语法区别 大不 尽量详细 我现在用的是SQL2005 如果换用其他的几个数据库 难不

这几种数据库之间的 优缺点 尽量详细

SQL是结构化查询语言的简称。不管什么样的数据库如果采用了SQL语言作为嵌入语言的话,就必须符合SQL语言的标准。但是SQL也有不同的标准,比如SQL-87,SQL-92等等。这是语言自己的差别,而不同的数据库嵌入了不同的标准时,还是有一定的区别的。

第二点的区别就是对于数据库语言的支持不一。数据库嵌入语言后,但由一自身技术的局限,有些语句并不出错,只是由于自身的不支持而不能通过编译的。比如在ACCESS中使用触发器,事务等等,这些语句是肯定通不过的,而在MSSQL中是支持这些技术的,所以是可以通过的。这个与其嵌入语言无关,而是自身数据库的支持而已。

纠下一点,SQL一般除了理解是结构化查询语言外,作为数据库SQL指的就是MSSQL,也就是微软件开的了SQL,所以一个SQL不能指明到底是哪一个的。

当然,还有一个关系型数据库是MySQL,所以,MSSQL与SQL没有任何可比性,只与MYSQL有可比性。原因就是一般我们所说的SQL就是MSSQL。而ACCESS是微软件开发的桌面数据库系统,而MSSQL却是一个服务器,两都均是关系型数据库,语句大部分时间通用,但SQL要求更为严格,支持的标准较为先进,所以一些 trans_SQL语句在ACCESS中是不支持的。但是由于其严格的要求,一些ACCESS中使用的SQL语句在MSSQL中是通不过的,比如insert tabelname values()这个语句在ACCESS中很好的执行,而在SQL中是通不过的,必须使用insert into tablename values(),这一点上MSSQL更为严格。由于自身支持的局限性,建触发器,事务等语句在ACCESS中均不支持,当然还有权限控制方面的语句也是ACCESS不支持的。毕竟ACCESS只是用来处理一些小的数据交换查询等信息。在于数据库服务器系统相双,ACCESS只是相当于一个加强版的EXCEL,不过它确实比EXCELL强的多。

oracle数据库是较为新型的数据库技术,它是对象数据库,而不属于关系型数据库,但嵌入的语句也是SQL标准,所以语言上相差不大,但技术上相差的就太远了。而对于查询来说,都有不同的性能与支持的。对象数据库的存储方式与关系型就是一样,所以在执行时也是不一样的性能,当然语句优化特点等等都不一致的。由于自身结构的特点,使其支持在where条件中可以使用聚合函数,而在MSSQL这类的关系型数据库来说,由于性能问题是不允许的。比如,select * from tablename where chenji >= AVG(chenji)
这一个表中就是列chenji,取出所以大于平均值的值,由于在SQL语句中使用了AVG这样的聚合函数,在MSSQL等关系型数据库中不支持,原因就是它性能较低,而在oracle中却可以被执行,因为存储模式的不同,所以性能不同低下,那自然也可以支持啦。

一般认为目前oracle较为优进,似乎难学一点(因为我也没有学这,我在考试时只要对这个有了解就可以了,只知道它是属于对象数据库的,在数据库发展史上的那些介绍的知识)。而MSSQL毕竟是关系型数据库中有代表的东西,而且技术方面也比较成熟,且微软件有点偏心眼,作ODBC驱动时还专为SQL作一个,所以MSSQL在与ODBC连接时,ODBC调用的是MSSQL中的底层API,所以在ODBC调用时有绝对的优势。这一点可以理解为接口方便。

而对于ACCESS,对于数据库来说,有些时候还真不愿意称它为数据库,除了基本的查询等功能,很多东西都是实现不了的,但毕竟它是一个桌面型数据库,跟SQL服务器相比,的确不公平的。而且较为好用,一些简单的查询等功能还能用,相当于一个精简单的SQL,如果不是大型数据库技术时,这个精简单是恰到好处的,精简的非常漂亮,以致于很多初学都或是网站等小型数据库对客观存在也是很有感情的。但感情归感情,毕竟一个桌面型的数据库,速度、性有等各方面都是有很大的损失的。所以它与MSSQL是没有对比性的。要是型目小的话,选用它倒是很合适。

多说一句就是,一般会SQL的都会ACCESS。虽然两者之间有语法的差别。

建议是:如果有精力可以去学oracle,毕竟是对象数据库,未来的发展方向,据说很强大。否则去学MSSQL,这玩意几年内还不能被替代的。至于ACCESS,相信你会了SQL之后不可能不会ACCESS的。所以我的建议是要么学oracle,要么就是SQL。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-20
Access要比MsSql 简单多啦,语法都差不多毕竟都是微软的。oracle跟Mssql就差别很大啦,Oracle很强大,一般只有数据存储量特别大,安全性要求很高,像银行、证券等行业用的比较多。Oracle跟Mssql的语法差别不是很大,都是根据SQl92/99标准又添加自己的特色的。Oracle字段表示跟Mssql大不同的。

参考资料:sername

第2个回答  2010-12-20
语法方面是有一些小的区别,但不是太难,不要怕