简体   繁体   English

Oracle是DBMS还是RDBMS的示例?

[英]Is Oracle an example of DBMS or RDBMS?

I am confused about the terms "DBMS" and "RDBMS". 我对术语“ DBMS”和“ RDBMS”感到困惑。 What exactly is the difference between them and more specifically, can oracle be called a DBMS or an RDBMS? 它们之间到底有什么区别,更具体地说,oracle可以称为DBMS还是RDBMS? If it is an example of an RDBMS, then what are examples of a DBMS? 如果这是RDBMS的示例,那么DBMS的示例是什么?

  • DBMS includes Object Orientated or Hierarchical or NoSQL DBMS. DBMS包括面向对象或分层或NoSQL DBMS。
  • RDBMS means those DBMS that are Relational (more or less). RDBMS是指那些关系型(或多或少)的DBMS。

One aspect of an RDBMS is that it stores its metadata in tables and access them via the query language. RDBMS的一方面是它将元数据存储在表中,并通过查询语言对其进行访问。

SELECT * FROM sys.tables, SELECT * FROM DUAL etc

I would think Oracle is both: DBMS and RDBMS . 我认为Oracle既是DBMS又是RDBMS Relational databases (RDBMS) are a subset of more generic databases management systems (DBMS). 关系数据库(RDBMS)是更通用的数据库管理系统(DBMS)的子集。

For a quick summary of what a RDBMS is, i'd think wikipedia is a good a source as any: 为了快速了解RDBMS是什么,我认为Wikipedia是一个很好的来源:

A relational database management system (RDBMS) is a database management system (DBMS) that is based on the relational model as introduced by EF Codd. 关系数据库管理系统(RDBMS)是基于EF Codd引入的关系模型的数据库管理系统(DBMS)。 Most popular commercial and open source databases currently in use are based on the relational database model. 当前使用的最流行的商业和开源数据库都是基于关系数据库模型的。

A short definition of an RDBMS may be a DBMS in which data is stored in the form of tables and the relationship among the data is also stored in the form of tables. RDBMS的简短定义可以是这样一种DBMS,其中数据以表的形式存储,并且数据之间的关系也以表的形式存储。

from: http://en.wikipedia.org/wiki/Relational_database_management_system 来自: http : //en.wikipedia.org/wiki/Relational_database_management_system

DBMS: software that helps to store data in a database in the form of tables, manage databases on a single system or across a local network. DBMS:一种软件,可帮助以表的形式将数据存储在数据库中,在单个系统上或跨本地网络管理数据库。 They are used to manage small amount of data and are used in small business applications. 它们用于管理少量数据,并用于小型企业应用程序。 eg: MsExcel 例如:MsExcel

RDBMS: a DBMS that also allows relationships to be established across different tables and allows querying of the table to extract certain data. RDBMS:一种DBMS,它还允许在不同的表之间建立关系,并允许查询表以提取某些数据。 They are useful to efficiently manage vast amount of data and are used in large business applications. 它们对于有效管理大量数据很有用,并用于大型业务应用程序中。 eg: Oracle, MySQL. 例如:Oracle,MySQL。

So essentially, RDBMS is a superset of DBMS. 因此,从本质上讲,RDBMS是DBMS的超集。

Oracle is an example of RDBMS.Example systems are SQL Server, Oracle , MySQL, MariaDB, SQLite. Oracle是RDBMS的示例,示例系统是SQL Server,Oracle,MySQL,MariaDB,SQLite。 And for DBMS example systems are dBase, Microsoft Acces, LibreOffice Base, FoxPro. 对于DBMS,示例系统是dBase,Microsoft Acces,LibreOffice Base,FoxPro。

Any SQL product is considered to be a RDBMS. 任何SQL产品都被视为RDBMS。 Therefore, Oracle is a RDBMS. 因此,Oracle是RDBMS。

The confusing thing is that the 'R' in 'RDBMS' stands for 'relational' and SQL has many features that make it fundamentally at odds with current relational theory. 令人困惑的是,“ RDBMS”中的“ R”代表“关系”,而SQL具有许多功能,使其从根本上与当前的关系理论背道而驰。 However, the concept 'SQL means RDBMS' is too well established, the damage is done. 但是,“ SQL意味着RDBMS”的概念已经建立得很好,造成了损害。 Therefore, a new term was coined: TRDBMS where 'TR' stands for 'truly relational'. 因此,创造了一个新术语:TRDBMS,其中“ TR”代表“真正的关系”。 Oracle is not a TRDBMS. Oracle不是TRDBMS。

DBMS is a Database Management System. DBMS是一个数据库管理系统。 "R" adds Relational into the mix. “ R”将Relational添加到组合中。 Any RDBMS is therefore a DBMS. 因此,任何RDBMS都是DBMS。 Oracle is a relational database, so it is an RDBMS. Oracle是关系数据库,因此它是RDBMS。

DBMS = Database Management System. DBMS =数据库管理系统。 In my mind this is a generic term which would include any sort of database, including relational databases (such as MySQL, Oracle, PostgreSQL, SQL Server, etc), hierarchical databases (such as IMS), network (example: IDMS), object-oriented, NoSQL, and others. 在我看来,这是一个通用术语,它将包括任何类型的数据库,包括关系数据库(例如MySQL,Oracle,PostgreSQL,SQL Server等),分层数据库(例如IMS),网络(例如IDMS),对象面向对象,NoSQL等。

RDBMS = Relational Database Management System. RDBMS =关系数据库管理系统。 To me this is a sub-term of DBMS, including only those database products which implement (some form of) the relational model. 对我来说,这是DBMS的一个子术语,仅包括实现关系模型(某种形式)的那些数据库产品。 Examples would be Oracle, MySQL, SQL Server, PostgreSQL. 例如Oracle,MySQL,SQL Server,PostgreSQL。

SO, to answer your question "Is Oracle an example of DBMS or RDBMS", the answer is "Yes". 因此,要回答您的问题“ Oracle是DBMS还是RDBMS的示例”,答案是“是”。 :-) :-)

Share and enjoy. 分享并享受。

Supporting Select * from System.table-x or user-table alone does not qualify a product as a Relational database. 仅支持从System.table-x或用户表中选择Select *不能使产品成为关系数据库。 SELECT support can be implemnted by any DBMS (non-relational inclusive). SELECT支持可以由任何DBMS(非关系性)实现。 As for meta data, again an Online Query SQL front allowed anyone to do a SELECT * FROM USER_047 (against the meta data in Dictionary) to IDMS as early as 1984. That time IDMS was a pure CODASYL network database. 至于元数据,在线查询SQL前沿再次允许任何人早在1984年就对SELECT_ FROM USER_047(针对Dictionary中的元数据)进行IDMS。那时,IDMS是纯CODASYL网络数据库。 IDMS did come up with full sql support in the 1990s with SQL DDL and DML in native form. IDMS在1990年代确实提供了完全的sql支持,并以本机形式提供了SQL DDL和DML。

Pure RDBMS must support fullscale DDL and DML using SQL like commands (SELECT, UPDATE, INSERT and DELETE) and GRANT, REVOKE etc for Access Control. 纯RDBMS必须使用SQL之类的命令(SELECT,UPDATE,INSERT和DELETE)以及用于访问控制的GRANT,REVOKE等支持SQL的完整DDL和DML。 Besides one could insist that no other access should be allowed. 除了一个人可以坚持不应该允许其他访问。 That is one should not be allowed to read any data if one doesnot go through the DBMS software of the product. 如果不通过产品的DBMS软件,则不应读取该数据。 Many PC databases of the 1980s fail this test. 1980年代的许多PC数据库均未通过该测试。 They were all some kind of file systems with some access (Sql or not ). 它们都是具有某种访问权限的某种文件系统(是否使用Sql)。

In a real DBMS, the database software alone should be able to update or even 'see' data. 在真正的DBMS中,仅数据库软件就应该能够更新甚至“查看”数据。 Operating system's own file programs should not be allowed to browse through the data in ASCII / EBCDIC form. 不允许操作系统自己的文件程序浏览ASCII / EBCDIC格式的数据。 DBMS in a way takes control of the whole storage areas of the files which is 'loaned' from the operating system. DBMS可以控制从操作系统“借出”的文件的整个存储区域。 OS access methods are involved at the lowest level, but here user cannot intercept. 操作系统访问方法是最低级别的,但此处用户无法拦截。

DBMS 数据库管理系统

  1. It doesn't allow relations between the tables. 它不允许表之间的关系。
  2. follows object oriented and hierarchical model, eg Foxpro 遵循面向对象和分层模型,例如Foxpro

RDBMS 关系数据库管理系统

  1. It allows relations between the tables 它允许表之间的关系
  2. follows relational model, eg Oracle,SQL Server 遵循关系模型,例如Oracle,SQL Server

How is it different from a normal DBMS? 它与普通DBMS有何不同?

  • RDBMS allows for normalization of data. RDBMS允许数据标准化。

  • RDBMS maintains a relation between the data stored in its tables. RDBMS维护其表中存储的数据之间的关系。 A normal DBMS does not provide any such link. 普通的DBMS不提供任何此类链接。 It blankly stores data is its files. 它空白地存储数据为其文件。

  • Structured approach of RDBMS supports a distributed database unlike a normal database management system. 与常规数据库管理系统不同,RDBMS的结构化方法支持分布式数据库。

So oracle is an RDBMS. 因此,oracle是RDBMS。 See 25 examples of most popular RDBMS and DBMS 查看最受欢迎的RDBMS和DBMS的25个示例

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM