Next: Data Model Semantics
Up: Data Models and Schema
Previous: Data Models
A schema, as one would expect to find in a
database management system (DBMS), is a data model
of the information stored in the database.
What typically distinguishes schemas from more general data
models is that schemas may provide storage information
that is irrelevant to the data model itself.
Examples include index definition and where database
files reside on the file system.
Common types of schemas used in software
- Relational schemas
These are much like E-R models, except
that they can be specific about storage
structures.
Example: SQL Data Manipulation Language
It has structure, but is not convenient for software to
parse the argument's structure.
- Object-oriented database schemas
These are much like object-oriented data
models.
Additional implementation details may include
the source code of the methods associated with
classes or instances of objects.
Example: CORBA
In CORBA, bindings are generated between
details specified in a generic description of
objects' interfaces (IDL) and the actual
program code that implements those objects.
That binding code, as well as the bound-to code
itself, could reasonably be considered part of the schema.
- Semistructured schemas
These are much like hierarchical data models.
The additional details provided might include
a canonical name for the schema (to be
referred to by individual database instances),
or what character set encoding is used in a
database conforming to the schema.
Example: XML DTDs
- Unstructured
Many documents have structure that's easily
recognizable to humans, but it very unclear to
software. From a software system's
perspective, these documents are unstructured.
Examples
- Plato's Republic
It has structure, but is not convenient
for software to parse the argument's structure.
- A bitmap image of a molecule's shape
The image contains structure, but it's
quite difficult for an application to
appreciate that fact.
Next: Data Model Semantics
Up: Data Models and Schema
Previous: Data Models
Emine N. Tatbul
2001-03-19