Topic: database schema

topics > computer science > database > Group: database model

data type

data type by name or tags
database as a model of reality
database change management
database implementation
database keys and indexing
database queries, joins, and relational algebra
database record
entity-relationship database model
fact-based analysis for database design
information as facts
relational database
schemas for hypertext
set data type
set-oriented languages
undefined, null, and other signal values
XML schemas


A database schema defines the database's tables, domains, constraints, views, and indices. It describes the meaning of the data. It provides names for the tables and columns. The domains for a table's columns define the data type of the table's rows.

Databases relate columns by equality instead of pointers. Equality is unambiguous across sets while pointers are unambiguous at the level of elements or individual rows. Equality relates a value in one table to a set of rows in another table. Pointers relate two entities. Pointers and equality are equivalent for single-column, primary keys.

An entity-relationship diagram defines some tables as entities and constraints as relationships. It usually reflects real-world entities and relationships. Relationships are classified by their arity (one-one, one-many, many-many). Tables may represent relationships (e.g., many-to-many relationships).

Real-world data may be split across multiple tables. For example, the data for an invoice may include a customer name and address from one table, part descriptions from another table, and quantities from a third. Normalization is the process of subdividing data into tables. Codd defined three normal forms that avoid insertion, update, and deletion dependencies.

Null values, ordered data, hierarchical data, and networked objects require special consideration. (cbb 7/06)

Subtopic: schema as meaning, self-describing data up

Quote: the sharing of data requires the sharing of its meaning; a single, simple, explicit description of every row of every relation
Quote: each row of a relation represents an assertion; like a knowledge base; e.g., person A is an employee of the company with these properties [»coddEF_1990]
Quote: the database description is like a knowledge base
Quote: all users identify database objects in exactly one way, whether abstract, concrete, entities, or relationships [»coddEF_1990]
Quote: self-contained, logical level of abstraction in a database [»coddEF_1990]

Subtopic: enterprise schema up

Quote: corporations are defining their database schemas; this will be a major asset [»kentW_1978]
Quote: design the enterprise schema as an abstract representation of the real world before designing the storage schema [»chenPP_1977]
Quote: in enterprise schema need to select the important relationship sets and the arity of the mappings [»chenPP_1977]

Subtopic: schema up

Quote: a data model includes symbols, an alphabet, numbers, orderings, equality, type conversions, data type acceptance tests [»kentW_1978, OK]
Quote: the existence of all entities, symbols, relationships should be explicitly asserted [»kentW_1978]
Quote: diagram a logical data base with boxes for records, arrows for relationships, and sub-boxes for aggregate parts [»martJ_1975, OK]

Subtopic: equality vs. pointer up

Quote: compare values to interrelate database objects instead of using pointers; well understood by all users [»coddEF_1990]

Subtopic: schema as type up

Quote: database types must be completely, conveniently, and anonymously defined by their structure [»wongL9_2000]
Quote: schemas (a structure of frames) more flexible than types for databases [»akscRM5_1984]

Subtopic: normal form, normalization up

Quote: use normalization to remove nonsimple domains
Quote: a value is in first normal form if it is "flat"; i.e., no nested records, sets, or bulk types; allows guaranteed termination of deductive queries [»wongL9_2000]
Quote: use second and third normal form to avoid insertion, update and deletion dependencies; reduce need for restructuring; uniform query statistics [»coddEF5_1971]
Quote: Codd's definition of third normal form [»coddEF5_1971]
Quote: a reducible record can be decomposed such that the reconstruction does not introduce spurious data [»kentW_1978]

Subtopic: versioning a schema up

Quote: identify database changes with a number; reapply the changes in the same order; better than release number or date/time [»amblSW5_2007]
Quote: database must know its current version; an UpdateSchema script automatically updates a database to a specific version [»amblSW5_2007]

Subtopic: metadata up

Quote: in traditional databases, data files and their descriptions are stored separately [»kentW_1978]
Quote: a data dictionary documents each field by what it is, how it's represented, and why it's there; ties conceptual schema to database [»kentW1_1985]

Subtopic: null values up

Quote: tuples or values may be missing; either applicable, unknown, or inapplicable [»coddEF_1990]
Quote: nulls are not values; a database relation does not contain nulls nor need many-valued logic [»dateCJ_1998]
Quote: use A-mark for missing-but-applicable values and I-mark for missing-but-inapplicable values; in place of null values
Quote: if nulls aren't values, then relations with null values aren't relations and the relational model is lost [»dateCJ_1998]

Subtopic: ordered sequences up

Quote: can model ordered sequences by a sequence number or a precedes relationship [»kentW_1978]

Subtopic: object networks up

Quote: complex object networks require multiple relations that must be consistent with each other [»smitKE10_1987]

Related Topics up

Group: data type   (34 topics, 730 quotes)

Topic: data type by name or tags (29 items)
Topic: database as a model of reality (25 items)
Topic: database change management (12 items)
Topic: database implementation (18 items)
Topic: database keys and indexing (18 items)
Topic: database queries, joins, and relational algebra (34 items)
Topic: database record (22 items)
Topic: entity-relationship database model (22 items)
Topic: fact-based analysis for database design (15 items)
Topic: information as facts (21 items)
Topic: relational database (35 items)
Topic: schemas for hypertext (7 items)
Topic: set data type (16 items)
Topic: set-oriented languages (20 items)
Topic: undefined, null, and other signal values (34 items)
Topic: XML schemas
(16 items)

Updated barberCB 5/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.