the relational model a data model (in general) : integrated collection of concepts for describing...
TRANSCRIPT
The relational modelA data model (in general) : Integrated
collection of concepts for describing data (data requirements).
Relational model was introduced in 1970 by Dr. E. F. Codd (of IBM)
Commercial relational databases began to appear in the 1980s
Today relational databases have become the dominant technology for database management .
04/21/23 CPSC-4360-01, CPSC-5360-01, Lecture 4 3
RDBMS-Introduction
The Relational Database
Management System (RDBMS) has
become the dominant DBMS in use
today.
All data are logically structured
withing relations (tables).
Design methodology will be based
on the relational model
A Logical View of DataA Logical View of DataRelational database model’s structural
and data independence enables us to view data logically rather than physically.
The logical view allows a simpler file concept of data storage.
The use of logically independent tables is easier to understand.
Logical simplicity yields simpler and more effective database design methodologies.
The relational modelData is represented in the form of tables, and the
model has 3 components.
Data structure – data are organised in the form of
tables with rows and columns.
Data manipulation – powerful operations (using
the SQL language) are used to manipulate data
stored in the relations
Data integrity – facilities are included to specify
business rules that maintain the integrity of data
when they are manipulated.
Relational definitionsA relation is a named, two-dimensional table of
dataEvery relation has a unique name, and consists of
a set of named columns and an arbitrary number of unnamed rows
An attribute is a named column of a relation, and every attribute value is atomic.
Every row is unique, and corresponds to a record that contains data attributes for a single entity.
The order of the columns is irrelevant.The order of the rows is irrelevant.
Summary of the Characteristics of a Relational Table
Tuples and attribute
Tuple
TitleTitle YearYear LengthLength
Star WarsStar Wars 19771977 124124
Might Might DucksDucks
19911991 104104
Wayne’s Wayne’s WorldWorld
19921992 9595
Attributes of a relation serve as names for the columns of the relation The rows of a relation, other than the header row containingThe attribute names are called tuples. A tuple has one component for each attribute of the relation.
Attribute
DomainsEach attribute of a relation is associated
with a particular elementary type called domain.
The components of any tuple of the relation must have, in each component, a value that belongs to the domain of the corresponding column.
Example: with title string is associatedwith year integer is associated
Examples of domain for attributtes
04/21/23 CPSC-4360-01, CPSC-5360-01, Lecture 4 10
Relational structureWe can express the structure of a relation by
a Tuple, a shorthand notation
The name of the relation is followed (in
parentheses) by the names of the attributes
of that relation, e.g.:
Staff(staffNO,name,position,salary, branchNO)
12
Relational Keys
A primary key is an attribute (or combination of
attributes) that uniquely identifies each row in a
relation.
The primary key in the Staff relation is staffNO
(this is why it is underlined) as in:
Staff(staffNO, name, position, salary, branchNO)
Must be able to store and retrieve a row of data in a relation, based on some data values stored in that row.Each record in a table must be unique , so we need a mean to provide this uniqueness.
© Pearson Education Limited, 2004 13
Relational KeysCandidate Key “K”
Uniqueness : value uniquely identify that record . Irreducibility : No proper subset of K has the uniqueness property
Primary key ?Is “city” a candidate key for the Branch table ?What about “zipCode”?
Composite and foreign keys
A Composite key is a primary key that consists of
more than one attribute.
A Foreign key is used when we must represent the
relationship between two tables and relations
A foreign key is an attribute (possibly composite) in
a relation of a database that serves as the primary
key of another relation in the same database
Foreign keysConsider the following relations:
EMPLOYEE1(Emp_ID,Name,Dept_Name,Salary)
DEPARTMENT(Dept_Name,Location,Fax)
The attribute Dept_Name is a foreign key in EMPLOYEE1. It
allows the user to associate any employee wit the
department they are assigned to.
Some authors show the fact that an attribute is a foreign key
by using a dashed underline.
Role table represents the name of the character played by an actor in videos.
Is ActorNo a primary key ?Is catalogNo a primary key ?
04/21/23 CPSC-4360-01, CPSC-5360-01, Lecture 4 16
04/21/23 CPSC-4360-01, CPSC-5360-01, Lecture 4 17
More examples)
Primary Key
Foreign Key (implements 1:N relationship between customer and order)
Combined, these are a composite primary key (uniquely identifies the order line)…individually they are foreign keys (implement M:N relationship between order and product)
Entity integrity
Entity integrityIn some cases a particular attribute cannot be assigned a
data value, e.g. when there is no applicable data value or
the value is not known when other values are assigned.
In these situations we can assign a null value to an
attribute (null signifies absence of a value)
But still primary key values cannot be null – the entity
integrity rule states that “no primary key attribute (or
component of a primary key attribute) may be null
Referential Integrity How referential integrity works Cascade Update and Delete
Referential Integrity
Referential integrity controls the links between records.
You can set referential integrity when related fields have the same data type .
22
Referential IntegrityA Referential Integrity constraint is a rule that maintains
consistency among the rows of two relations – it states that
any foreign key value (on the relation of the many side) MUST
match a primary key value in the relation of the one side. (Or
the foreign key can be null)
In the following Fig., an arrow has been drawn from each
foreign key to its associated primary key. A referential
integrity constraint must be defined for each of these arrows
in the schema
Referential integrity constraints (Pine Valley Furniture)
Referential integrity
constraints are drawn via arrows from dependent to
parent table
Referential integrity How do you know if a foreign key is allowed to be
null?In this example, as each ORDER must have a
CUSTOMER the foreign key of Customer_ID cannot be null on the ORDER relation
Whether a foreign key can be null must be specified as a property of the foreign key attribute when the database is designed
How referential integrity worksYou can't enter a value in the foreign key field of a
table if it doesn't exist in the primary key of the related table
For example, you can't assign an order to a customer who is not in the Customer table
You can't delete a record from a table if matching records exist in a related table
For example, you can't delete an employee if there are orders assigned to the employee in the Order table
26
• You can't change a primary key value for a record that has related records
• For example, you can't change an employee's ID in the Employee table if there are orders assigned to that employee in the Orders table.
Referential integrityWhat happens to order data if we choose to
delete a customer who has submitted orders?
We may want to see sales even though we do
not care about the customer anymore. 3 choices are possible:Restrict – don’t allow delete of “parent” side if
related rows exist in “dependent” side, i.e. prohibit deletion of the customer until all associated orders are first deleted
Referential integrityCascade – automatically delete “dependent” side rows
that correspond with the “parent” side row to be
deleted, i.e. delete the associated orders, in which case
we lose not only the customer but also the sales history
Set-to-Null – set the foreign key in the dependent side to
null if deleting from the parent side - an exception that
says although an order must have a customer_ID value
when the order is created, Customer_ID can become
null later if the associated customer is deleted .
AssertionsAssertion constraints similar to check
constraints . Examples areYou can assert that the total order amount for a
customer cannot exceed the credit limit, even if the credit is in one table (customers , perhaps) and the orders belongs to another (order details ).
Are business rules such as “A person may purchase a ticket for the celebrity football game only if that person is a season-ticket holder”
There are various techniques for defining and enforcing such rules.
© Pearson Education Limited, 2004 31
Relational LanguagesTwo main languages:
SQL (Structured Query Language), standardized by ISO.
QBE (Query-by-Example), alternative graphical “point-and-click” way of querying database.