Chapter 2
The Relational Model
TID5013 Database Application Development
Chapter 2 - Objectives
Define the term data model. Terminology of relational data model. How tables are used to represent data. Properties of database relations. How to identify candidate, primary, and foreign keys. Meaning of entity integrity and referential integrity.
TID5013 Database Application Development 2
Data Model
Integrated collection of concepts for describing data, relationships between data, and constraints on the data. Has three components:
a structural part; a manipulative part; a set of integrity rules.
TID5013 Database Application Development
RM Terminology
Relation: table with columns and rows. Attribute: named column of a relation. Domain: set of allowable values for one or more attributes. Tuple: a record of a relation. Relational Database - collection of normalized relations with distinct relation names.
TID5013 Database Application Development 4
Instances of Branch and Staff (part) Relations
TID5013 Database Application Development
Example Attribute Domains
TID5013 Database Application Development
Alternative Terminology
Relation, attribute, tuple Table, column, record File, field, row Combinations thereof.
TID5013 Database Application Development
Properties of Relations
Table name is distinct from all other table names in the database. Each cell of table contains exactly one atomic (single) value. Each column has a distinct name. Values of a column are all from the same domain.
TID5013 Database Application Development 8
Properties of Relations
Each record is distinct; there are no duplicate records. Order of columns has no significance. Order of records has no significance, theoretically.
TID5013 Database Application Development
Relational Keys
Superkey
A column, or a set of columns, that uniquely identifies a record within a table.
Candidate Key
Superkey (K) such that no proper subset is a superkey within the table. In each record, values of K uniquely identify that record (uniqueness). No proper subset of K has the uniqueness property (irreducibility).
TID5013 Database Application Development 10
Relational Keys
Primary Key
Candidate key selected to identify records uniquely within table.
Alternate Keys
Candidate keys that are not selected to be primary key.
Foreign Key
Column, or set of columns, within one table that matches candidate key of some (possibly same) table.
TID5013 Database Application Development 11
Relational Integrity
Null
Represents value for a column that is currently unknown or not applicable for record. Deals with incomplete or exceptional data. Represents the absence of a value and is not the same as zero or spaces, which are values.
TID5013 Database Application Development
12
Relational Integrity
Entity Integrity
In a base table, no column of a primary key can be null. No two rows with the same primary key value
Referential Integrity
If FK exists in a table, either FK value must match a candidate key value of some record in its home table or FK value must be wholly null.TID5013 Database Application
Development 13
Relational Integrity
Business Rules
Rules that define or constrain some aspect of the organization.
TID5013 Database Application Development
14
Relational Languages
Two main languages:
SQL (Structured Query Language), standardized by ISO. QBE (Query-by-Example), alternative graphical point-and-click way of querying database.
TID5013 Database Application Development
15