I am currently working with Oracle, PostgreSQL, and MySQL databases. In these different database management systems, I have encountered drastically different definitions for schema, primarily with schema being defined as the set of objects owned by a user, an actual user, and a collection of the basic layout of data in tables (columns). Does anyone know why are there various definitions and functionalities of such an important concept?
1 Answer 1
Schema is universally accepted generically as a term that describes the structure of a database / collection of related database objects, either logically (on paper / in theory / while still being designed) or physically (implemented in an actual database as tables and other objects).
Different database systems inherited and extended the term into a more concrete concept or object itself to represent a way to organize a collection of related database objects. Depending on the database system, the actual implementation of that extended concrete notion varies a little bit. But the idea is mostly the same across all of them - to physically organize a collection of related objects (which is a physical implementation of the generic definition of the term schema).
Long story short, all the implementations of the term schema are related in principal and derive from the generic definition of it.
-
1The SQL standard defines the term "schema" as a namespace which defines the fully qualified name of a table (or a view or other database objects)user1822– user18222022年08月27日 05:58:17 +00:00Commented Aug 27, 2022 at 5:58
-
@a_horse_with_no_name Got a reference?...because mine in my answer seems to follow my definition. Research I've done has found yours more specific to a particular database system.J.D.– J.D.2022年08月28日 16:05:47 +00:00Commented Aug 28, 2022 at 16:05