Access和Oracle有什么区别?

时间:2009-07-23 07:22:51

标签: oracle ms-access comparison

我想知道Access和Oracle之间有什么区别。

9 个答案:

答案 0 :(得分:9)

再一次,所有答案都错过了这一点的线程。

Access是一种用于创建数据库前端的开发工具。

Oracle只是一个数据库,而不是一个开发工具(尽管它现在附带了一套开发工具,但这并没有改变Oracle仍然是数据库而不是开发平台的事实。)

也许您认为您的问题是关于两个数据库引擎,但正如所写的那样,它就像是在问“汽车和餐馆之间有什么区别?”

当然,Access附带了一个默认的数据库引擎Jet / ACE,这可能就是你要问的问题。我当然不能责怪一些只是偶然接触微软产品的人因为不知道这一点,因为微软已经混淆了两者之间的区别,无论是在文档中还是在你必须在连接中使用的数据提供者的命名中字符串。

但是没有理由保持无知。

Jet / ACE与Oracle(或任何数据库服务器)之间的主要区别:

:一种。使用Jet / ACE,没有服务器端进程管理和军事客户端数据请求。 Jet / ACE数据库的所有客户端都使用锁定文件直接在文件上运行。这意味着某些事情:

  • Jet / ACE文件中的数据永远不会像 作为存储在服务器中的数据安全 数据库中。

  • Jet / ACE将提取更多数据 电线(它需要元数据和索引 页面,以请求所需的 来自文件系统的数据页), 虽然有适当的索引和 查询设计,它不是那样的 作为反Access的偏执者效率低下 我想相信。

  • Jet / ACE没有事务记录, 并且因为它的数据文件正在 多个同时打开 用户,是开放的风险 损坏。

<强> B中。与基于文件的简单系统(如Jet / ACE)相比,Oracle的部署和维护成本要高得多。这意味着:

  • 适用于小用户的小型企业 人口并没有显着 安全问题,Jet / ACE后端 假设一个,可以是完全合适的 设计合理的前端和 适当的部署(例如,分裂 前端/后端,不共享前端 结束等)。

  • 有些企业足够小 他们没有专用的服务器 哪个像甲骨文那样经营一个庞然大物。 毫无疑问,Oracle有桌面版, 但在我看来,这是不可取的 在任何事情上运行这样的程序 从那以后,除了专用服务器 用户操作可能会干扰 数据库的可靠性 端。

  • 由于紧密集成 在Access之间作为前端 开发工具和Jet / ACE,它是 更容易 非技术用户拼凑在一起 没有的有用数据库应用 需要成为Oracle的专家(或 SQL Server或其他)。

因此,最终,在服务器后端和基于文件的解决方案(如Jet / ACE)之间进行选择,主要取决于资金在提高服务器数据库的安全性,可扩展性和可靠性方面的价值。对于任何数量的小企业来说,确实没有竞争 - Jet / ACE获胜。

但是有许多应用程序已经开始使用Jet / ACE后端,真的应该升级到服务器后端。除非在已经是Oracle商店的组织内部进行升级,否则甲骨文似乎并不是一个非常好的候选人。在我看来,SQL Server Express就像这样一个应用程序更自然的升级路径(虽然它对数据库的总大小有4GB的限制,所以你没有比Jet / ACE的2GB限制获得那么多),以及人们可以肯定地考虑像MySQL和PostgreSQL这样的开源数据库在许可方面完全免费。

这位小老太太每个星期天早上都不需要一辆Mack卡车去教堂。同样地,农民运输土豆越野将是明智的使用丰田雅力士以外的东西。但是Yaris对于这位小老太太来说可能是完美的,Mack卡车完全适合农民运送土豆。

所有这一切都需要为手头的工作选择合适的工具。

答案 1 :(得分:7)

What are the differences between Microsoft Access and Oracle?

  

差异一:访问量很小   数据库系统,这将允许你   创造一个中小型的   数据库安全性最低   特征。 Oracle可以集成   与NT安全,这给予紧张   控制谁能够和不能达到   你的数据。

     

差异二:访问速度慢得多   通过网络进行所有处理   在客户机上执行,   而像Oracle这样的大型DBMS   (或SQL Server),您只发送一个查询   (例如“SELECT * FROM Customers   WHERE CustID = 23;“),只有   返回所需的结果。如果你   通过Access在网络上运行   所有记录都将被发送   网络,离开客户端   机器选择所需的记录。

     

差异三:访问真的   如果你试图连接超过,请慢一点   10个用户(取决于的大小   数据库及其使用方式),   Oracle可以接受哪里   数百/数千同时   连接(取决于服务器   它坐在上面。

     

最后一个主要区别是   触发器和存储过程。访问   不能存储可以的程序   远程执行。你可以写   功能和一点点   “jiggery-pokery”获得服务器端   通过设置标志或执行它们来执行它们   你的数据库中的东西和获取   服务器在预定义时检查   设置标志的间隔。同   你可以使用Oracle /(其他大型DBMS)   调用存储过程和它们   将在命令上执行   服务器端。触发器就像事件   在Access表单上,例如   “经过更新”。当你更新一个   记录到Oracle,你可以设置   触发器自动运行   检查预定义的程序   规则或其他。

来自here

答案 2 :(得分:5)

我简直不敢相信没人说过......

约400,000美元。

答案 3 :(得分:3)

一个是垃圾堆,另一个是微软。

不,说真的,如果我错了,有人会让我说话。 Oracle可以告诉空字符串和NULL之间的区别吗?我真的很想知道。

啊,我亲爱的DB2; - )

答案 4 :(得分:2)

用什么术语区别?

Access是Microsoft提供的数据库。 Oracle是Oracle公司提供的数据库。

有关它们如何实现SQL的差异的详细讨论,请参阅this link

答案 5 :(得分:0)

添加到以前的答案,Oracle和MS Access的另一个主要区别是并发性。 Oracle以及MySQL和postgreSQL以及其他一些可以处理多个“事务”和“提交”基本上,如果您使用带有网站的数据库,则更安全和稳定的数据库将是Oracle,同样也是应用程序。

如果使用MS Access,您可能会遇到大量网络流量问题,尤其是当数据库中的内容由多人编写和更新时。

Oracle等可以扩展到非常大的规模......想想Myspace或国家的金融系统(ERP)。

答案 6 :(得分:0)

A。)Oracle to Access就像Unix到Windows 95。 B.)数千美元 C.)Access有一个数据库引擎和应用程序前端,挂钩到其他Office应用程序和回形针的东西。 Oracle有一个命令提示符和一个闪烁的光标,后面有一个大屁股数据库,可以处理比上帝和/或拉里·埃里森更多的数据。

答案 7 :(得分:0)

转过来问题:Access和Oracle有什么共同之处?

  1. 它们都将数据逻辑地存储为行,列和表(所谓的“关系”,但不是真正的关系)。
  2. 呃...
  3. 就是这样!
  4. Access数据库引擎是一个带有SQL风格数据网关的漂亮文件共享系统;不是真正的SQL,因为虽然它的一些ANSI-92查询模式类似于SQL-92标准,但其他领域也远不合规。**

    Oracle是一种工业级服务器数据库管理系统,高度符合SQL标准和扩展(触发器,程序等)。


    ** SQL Server团队希望在20世纪90年代后期为Jet 4.0版本提供Jet SQL-92兼容性,但被Windows团队推翻,因为这样做会破坏内部Microsoft系统,这些系统是根据假设进行编码的。不区分ONWHERE子句的quirky way that OUTER JOINs work。后来制定了微软的“法律”,针对一个版本的Jet编写的代码将保证对所有未来版本的Jet运行。我认为这就是为什么从Access2007引擎不再是Jet而是现在ACE:Access团队因为“法律”而无法开发Jet,因此他们重新启动了他们的引擎代码的私有分支。所以不要去叫ACE'Jet',它绝对不是Jet的理由!也就是说,ACE 2007引擎的大多数(全部?)更改都是针对SharePoint集成(多值类型,附件类型)而不是关于他们不需要的放弃功能(复制,用户级安全性)的疑虑。所以还有另外一个区别:虽然Oracle可以为最终用户开发产品,但微软为了自己的内部目的而改变(或阻止改变)Access数据引擎,然后在MS Office Access用户上兜售它(或强迫他们做出决定);)

答案 8 :(得分:-2)

快速摘要:

访问便宜,简单,轻巧,但缺乏灵活性和历史错误。 甲骨文昂贵,沉重,没有前端,但是复杂且经过充分测试。