The relational model A data model (in general) : Integrated collection of concepts for describing...
-
Upload
hugo-cameron -
Category
Documents
-
view
217 -
download
0
Transcript of The relational model A data model (in general) : Integrated collection of concepts for describing...
![Page 1: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/1.jpg)
![Page 2: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/2.jpg)
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 .
![Page 3: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/3.jpg)
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
![Page 4: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/4.jpg)
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.
![Page 5: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/5.jpg)
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.
![Page 6: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/6.jpg)
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.
![Page 7: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/7.jpg)
Summary of the Characteristics of a Relational Table
![Page 8: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/8.jpg)
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
![Page 9: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/9.jpg)
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
![Page 10: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/10.jpg)
Examples of domain for attributtes
04/21/23 CPSC-4360-01, CPSC-5360-01, Lecture 4 10
![Page 11: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/11.jpg)
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)
![Page 12: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/12.jpg)
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.
![Page 13: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/13.jpg)
© 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”?
![Page 14: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/14.jpg)
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
![Page 15: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/15.jpg)
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.
![Page 16: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/16.jpg)
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
![Page 17: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/17.jpg)
04/21/23 CPSC-4360-01, CPSC-5360-01, Lecture 4 17
![Page 18: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/18.jpg)
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)
![Page 19: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/19.jpg)
Entity integrity
![Page 20: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/20.jpg)
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
![Page 21: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/21.jpg)
Referential Integrity How referential integrity works Cascade Update and Delete
![Page 22: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/22.jpg)
Referential Integrity
Referential integrity controls the links between records.
You can set referential integrity when related fields have the same data type .
22
![Page 23: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/23.jpg)
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
![Page 24: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/24.jpg)
Referential integrity constraints (Pine Valley Furniture)
Referential integrity
constraints are drawn via arrows from dependent to
parent table
![Page 25: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/25.jpg)
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
![Page 26: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/26.jpg)
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
![Page 27: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/27.jpg)
• 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.
![Page 28: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/28.jpg)
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
![Page 29: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/29.jpg)
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 .
![Page 30: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/30.jpg)
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.
![Page 31: The relational model A data model (in general) : Integrated collection of concepts for describing data (data requirements). Relational model was introduced.](https://reader036.fdocuments.us/reader036/viewer/2022062409/5697bff31a28abf838cbc892/html5/thumbnails/31.jpg)
© 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.