Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between schema and data dictionary?

Tags:

rdbms

The definition of schema is logical structure of data in database. It is owned by a user and has the same name as the database user. The schema contains name of table, what is it's column type etc. And the data dictionary also contains metadata only (offcourse it is at database level and not at user level). What is the exact difference between schema and data dictionary?

like image 978
TCM Avatar asked Jun 25 '10 02:06

TCM


People also ask

What is schema data dictionary?

The term "schema" refers to the organization of data as a blueprint of how the database is constructed (divided into database tables in the case of relational databases). The formal definition of a database schema is a set of formulas (sentences) called integrity constraints imposed on a database.

What is the difference between data dictionary and data table?

In short, a data dictionary describe a table's columns based on common traits (i.e name, definition, data type) within another table. Admins use data dictionaries when a data table is simply too large to view directly.

What is the difference between data dictionary and data warehouse?

A data dictionary is a description of data in business terms, also including information about the data such as data types, details of structure, and security restrictions. Unlike business glossaries, which focus on data across the organization, data dictionaries support data warehouses by defining how to use them.

What is in a data dictionary?

A Data Dictionary is a collection of names, definitions, and attributes about data elements that are being used or captured in a database, information system, or part of a research project.


1 Answers

These definitions are from my experience (programmer for 20+ years, 7 years in consulting, some time as an independent contractor). YMMV.

"Schema" describes structure. It might include metadata that describes aspects of the structure.

A "data dictionary" associates context with elements of the structure. It also might include metadata that describes aspects of relationships.

For example, A 'person' might be described by the usual fields - last_name, first_name, honorific, etc. If there is a relationship to another person - father, husband, etc - those values might be considered "schema data" because the relationships are constrained by specific values.

That the 'person' is a 'student' or a 'teacher' or a 'prisoner' etc - that is defined by the data dictionary for the particular system.

like image 82
DaveE Avatar answered Oct 11 '22 05:10

DaveE