Search code examples
oracle-databaseoracle11goracle-sqldeveloperplsqldeveloper

What is the difference between data dictionary table and data dictionary views in oracle?


I was searching for data dictionary tables and i ended up in this page which describes "Tables Data Dictionary Views" with there description.

https://docs.oracle.com/cd/B28359_01/server.111/b28310/tables014.htm#ADMIN01508

So what is the difference between data dictionary views and data dictionary tables

please answer in simple way as an I am new to oracle I am using oracle 11g. I just want to know the differences if there is any.


Solution

  • The link you posted brings you to a page titled "Table Data Dictionary Views".

    Everything listed on that page is a view, not a table. For example, DBA_COL_COMMENTS, listed on that page, is a view. DBA_TABLES is a view.

    On this particular page, all the entries are data dictionary views about the tables in your database. That is why the page is titled "table data dictionary views". There is another, similar page titled "Undo Data Dictionary Views", which lists all the data dictionary views about the undo in your database. Another page, "Cluster Data Dictionary Views" lists all the data dictionary views about clusters in your database.

    A true "data dictionary table", which is not what your link shows, would be something like SYS.OBJ$. This is a table that stores information about the objects in your database. It is one of the primary data sources for the DBA_OBJECTS data dictionary view. Data dictionary tables are low-level and cryptic (mostly). Data dictionary views are more friendly and easily interpreted.

    Also, for the sake of completeness, there are also "fixed data dictionary tables", which is beyond the scope of your question.