0% found this document useful (0 votes)
16 views

Constraints

The document discusses the relational data model and key concepts such as relations, attributes, tuples, schemas, instances, domains, keys, and integrity constraints. It defines relations as tables with rows and columns, and explains how relations have a schema defining attributes and can be populated with tuples of values as instances. The document also covers relational operations like insert, delete, modify and retrieval, and different types of constraints including domain, key, entity, referential, and semantic integrity constraints.

Uploaded by

sumipriyaa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Constraints

The document discusses the relational data model and key concepts such as relations, attributes, tuples, schemas, instances, domains, keys, and integrity constraints. It defines relations as tables with rows and columns, and explains how relations have a schema defining attributes and can be populated with tuples of values as instances. The document also covers relational operations like insert, delete, modify and retrieval, and different types of constraints including domain, key, entity, referential, and semantic integrity constraints.

Uploaded by

sumipriyaa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Unit II - Relational Data Model

Unit III- Entity and Referential Integrity

SENIOR
What is a Relation?

y A Relation is a 2-dimensional table of values (rows


and columns)
y each row, or tuple, is a collection of related facts
y th d
the degree off th
the relation
l ti iis th
the number
b off attributes
tt ib t
in the relation
y each column represents an attribute
y each row is an instance of the relation
What is a Relation (cont’d)?

y So,, a relation is a big


g table of facts.
{ Each column contains the same attribute data with the same
data type
{ Each row describes a real-world
real world instance of the relation

y A Relational database contains one or more relations


(or tables).
Schema vs. Instance

y the name of the relation and the set of attributes is


called the schema (or the intension)

y the current values in the relation represent an


instance (or extension) of the data
More formally……

y A domain D is a set of atomic values


{ local phone number – The set of 7-digit numbers
{ names – The set of names of persons
{ date
d t off bi
birth
th – Possible
P ibl d dates
t off birth
bi th for
f people
l
y A relation schema R(A1, A2, …, An) is a:
{ relation
l ti name (R)
{ list of attributes (A1, A2, …, An)
{ each
h attribute
ib Ai is
i the
h name off a role
l played
l db by some
domain D in the relation schema R
More formally (cont’d)

y a relation r(R)
( ) is a subset of
dom(A1) X dom(A2) X … X dom(An)

y each element in a relation, called a tuple, is a


collection of n values
Student ((name,, address,, phone
p number))

Attribute

Name Address Phone Number


Bob Johnston St. 533-3333
Tuple
Mary Union St. 533-4444
Fred Clarence St. 533-5555
DEFINITION SUMMARY

Informal Terms Formal Terms

Table Relation
Column Attribute/Domain
Row (record) Tuple
Values in a column Domain
Table Definition Schema of a Relation
Populated Table Extension
Characteristics of Relations

y tuples
p have no p
particular order
y ordering of attributes not important
y all values belonging
g g to a p
particular attribute are from
the same domain
y attributes are atomic
y attributes may have a null value
Operations on Relations

y Operations include insert, delete, modify and


retrieval.
Example – Referential Integrity

Department Facultyy
Code Name Office ID# Name Salary Dept

Course
Number Dept_code Title Professor_ID

Student Enrolled
ID# Name Date of Birth Course# Dept_Code Student_ID

Geetha Mary A, AP-SR, SCSE, VIT


University
Insert

y Provide a list of attribute values to be inserted ((ie. A


new tuple)

y Example
insert values (554433, “Bob”, 25143.56, “ENGL”) into faculty
Insert (cont’d)

Inserts may violate constraints.


K Constraint:
Key C i
insert values (554433, “Bob”, 25143.56, “ENGL”)
into employee
(Will fail
f il if the
h employee
l number
b ““554433”” is
i already
l d in i the
h
table)

Entity Integrity Constraint:


insert values (NULL, “Bob”, 25143.56, “ENGL”)
into employee
(primary key cannot be NULL)
Insert (con’t)

Referential Integrity
g y Constraint:
insert values (554433, “Bob”, 25143.56, “ENGL”)
into employee

(Will fail if the “ENGL” is not a code for a department)


Delete

Faculty
ID# Name Salary Dept
1234 Mary 2345.67 ENGL
2345 Jane 3246 87
3246.87 HIST
3456 Fred 2876.32 COMP

delete the faculty tuples with name=“Fred”


{ Why
Wh isi thi
this nott a good
d id
idea??
Delete (con’t)

y The only
y constraint which can be violated is the
referential integrity constraint (i.e. A tuple in
another relation references the tuple that is slated for
d l ti )
deletion).
delete from Faculty where name = “Fred”
(referenced by tuples in Course)
y Also, what if there are two people named “Fred”?
Modify

y Change
g the value for one or more attributes in a
relation
Example:
modify SALARY of Faculty where ID# = 1234 to 30000

y Modifying a primary key is like deleting a tuple and


adding a new one. (Same violations may apply).
Types of Constraints

y Domain constraints
y Key constraints
y Integrity
g y constraints
{ Entity Integrity Constraint

{ Referential Integrity Constraint

{ Semantic
S i Integrity
i CConstraint
i
Domain Constraints

y The value of each attribute,, A,, must be an atomic


value from the domain of A

y So, if an attribute is from the domain of a phone


number, then the attribute must be a phone number.
Key constraints

y value of a key
y uniquely
q y identifies a tuple
p in a relation
y a superkey K is subset of attributes of R such that:
{ no 2 tuples have same values for K

y Every relation has at least one superkey;


Keys (cont’d)

y A key
y is a minimal superkey;
p y; a superkey
p y from which
we cannot remove any attributes and still be able to
uniquely identify tuples in a relation

y common keys – ID number, Social Insurance


N b etc.
Number, t
Keys (cont’d)

y A relational schema may y have more than one keyy


{ each key called a candidate key
{ one designated as the primary key
Integrity Constraints

y Integrity constraints are specified on a schema and


hold for every instance of the schema
y Entity integrity constraint
{ no primary key value can be null
y Referential integrity constraint
{ if R1 refers to R2 then t1 ∈ r1(R1) must refer to an existing t2 ∈
r2(R2)
Foreign Keys

y a fforeign
g key
y in R is a set of attributes FK in R
such that FK is a primary key of some other relation
R’
y a foreign key is used to specify a referential integrity
constraint

y Example?
Key examples

Department
p ((code,, name,, phone)
p )

Faculty (name
(name, number
number, office
office, dept_code)
dept code)

C
Course ((name, number,
b dept_code)
d t d )
Semantic Integrity Constraints

y Constraints on data values such as:


{ The salary of an employee must not exceed that of her
supervisor.
{ The total of available seats must be > 0 in order for a
reservation to be made.
{ A person’s date of birth must be before the current date.

You might also like