Week 5

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 26

College of electronics technology

________Baniwalid _______

The Relational Data Model and Relational


Database Constraints

(RD)Model

Week 5
Mustafa Abuali spring 2017
Outline

 Relational Model Concepts


 Relational Model Constraints and Relational Database Schemas
ER Model
Relational Database Model
Relational Database Model
COMPANY Database Schema
Relational Model Concepts

The relational Model of Data is based on the concept of a


Relation
The strength of the relational approach to data management
comes from the formal foundation provided by the theory of
relations
Relational Model Concepts

A Relation is a mathematical concept based on the ideas of sets


The model was first proposed by Dr. E.F. Codd of IBM Research in 1970 in the
following paper:
“A Relational Model for Large Shared Data Banks," Communications of the
ACM, June 1970”
Informal Definitions

Informally, a relation looks like a table of values.

A relation typically contains a set of rows.

The data elements in each row represent certain facts in a real-world entity or
relationship
In the formal model, rows or record are called tuples

Each column has a column header that gives an indication of the meaning of the
data items in that column
In the formal model, the column header is called an attribute name (or just
attribute)
Informal Definitions
Informal Definitions

Key of a Relation:
Each row has a value of a data item (or set of items) that uniquely identifies that
row in the table
Called the key
In the STUDENT table, SSN is the key

Sometimes row-ids or sequential numbers are assigned as keys to identify the


rows in a table
Called artificial key
Formal Definitions - Schema
 The Schema (or description) of a Relation:
 Denoted by R(A1, A2, .....An)
 R is the name of the relation
 The attributes of the relation are A1, A2, ..., An
 Example:
CUSTOMER (Cust-id, Cust-name, Address, Phone#)
 CUSTOMER is the relation name
 Defined over the four attributes: Cust-id, Cust-name, Address,
Phone#
 Each attribute has a domain or a set of valid values.
 For example, the domain of Cust-id is 6 digit numbers.
Slide 5-
12
Formal Definitions - Tuple
 A tuple is an ordered set of values
 Each value is derived from an appropriate domain.
 A row in the CUSTOMER relation is a 4-tuple and would consist of four values,
for example:
 <632895, "John Smith", "101 Main St. Atlanta, GA 30332", "(404) 894-

2000">
 This is called a 4-tuple as it has 4 values

 A tuple (row) in the CUSTOMER relation.

 A relation is a set of such tuples (rows)


Formal Definitions - Domain
 A domain has a logical definition:
 Example: “USA_phone_numbers” are the set of 10 digit phone numbers
valid in the U.S.
 A domain also has a data-type or a format defined for it.
 The USA_phone_numbers may have a format: (ddd)ddd-dddd where
each d is a decimal digit.
 Dates have various formats such as year, month, date formatted as yyyy-
mm-dd, or as dd mm,yyyy etc.
Summary(1)
Relational model constraints
 Constraints are conditions that must hold on all valid
relation states.
 There are three main types of constraints in the relational
model:
 Key constraints
 Entity integrity constraints
 Referential integrity constraints
 Another implicit constraint is the domain constraint
 Every value in a tuple must be from the domain of its
attribute (or it could be null, if allowed for that attribute)
Key Constraints
 Superkey of R:
 Is a set of attributes SK of R with the following condition:
 No two tuples in any valid relation will have the same value for
SK
 That is, for any tuples t1 and t2 in Relation, t1[SK]  t2[SK]
 Key of R:
 A "minimal" superkey
 That is, a key is a superkey K such that removal of any
attribute from K results in a set of attributes that is not a
superkey
Key Constraints (continued)
 Example: Consider the CAR relation schema:
 CAR(State, Reg#, SerialNo, Make, Model, Year)
 CAR has two keys:
 Key1 = {State, Reg#}
 Key2 = {SerialNo}
 Both are also superkeys of CAR
 {SerialNo, Make} is a superkey but not a key.
Key Constraints (continued)
 If a relation has several candidate(more than one) keys,
one is chosen arbitrarily to be the primary key.
 The primary key attributes are underlined.
 Example: Consider the CAR relation schema:
 CAR(State, Reg#, SerialNo, Make, Model, Year)
 We chose SerialNo as the primary key
 Also phone number .in other relation.
 The primary key value is used to uniquely identify each
tuple in a relation
 Provides the tuple identity
 Also used to reference the tuple from another tuple
 General rule: Choose as primary key the smallest of the
candidate keys (in terms of size).
 also choose numbers .
CAR table with two candidate keys –
LicenseNumber chosen as Primary Key
Entity Integrity
 Entity Integrity:
 The primary key attributes PK of each relation schema

R in S cannot have null values in any tuple of r(R).


 This is because primary key values are used to identify the
individual tuples.
 t[PK]  null for any tuple t in r(R)
 If PK has several attributes, null is not allowed in any of these
attributes
 Note: Other attributes of R may be constrained to
disallow null values,
Referential Integrity
 A constraint involving two relations
 The previous constraints involve a single relation.
 Used to specify a relationship among tuples in
two relations:
 The referencing relation and the referenced
relation.
COMPANY Database Schema
Referential Integrity
 Tuples in the referencing relation R1 have
attributes FK (called foreign key attributes) that
reference the primary key attributes PK of the
referenced relation R2.
 A tuple t1 in R1 is said to reference a tuple t2 in
R2 if t1[FK] = t2[PK].
 A referential integrity constraint can be displayed
in a relational database schema as a directed arc
from R1.FK to R2.
Referential Integrity Constraints for COMPANY database
Referential Integrity (or foreign key)
Constraint
 Statement of the constraint
 The value in the foreign key column (or columns)
FK of the the referencing relation R1 can be :

 (1) a value of an existing primary key value of a


corresponding primary key PK in the referenced
relation R2, or
 (2) a null.
 In case (2), the FK in R1 should not be a part of
its own primary key.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy