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?
Share
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.