Sei sulla pagina 1di 59

Lecture 5, 6, 7 &

8 Database
Systems
COMSATS UNIVERSITY ISLAMABAD, WAH CAMPUS
In last
lecture
Database Enironment
Database Architecture
Data Independence
Database System
Components
Function of Database
Management System
2
In this
lecture
Relational Models
Relational Keys
Relational
Database Schema
Mathematical relations in the relational model
Data Integrity

3
Relational Database Model
(RDBMS)
a collection of programs and capabilities that enables to
create, update, administer and otherwise interact with a
relational database

4
Relational Database Model
(RDBMS)
Supports table based format
All data is logically structured within relations (tables)
The relational model is based on the mathematical concept
of a relation represented as table in RDBMS
Each relation has a
◦name
◦is made up of named attributes (columns) of data
Each tuple (row) contains one value per attribute
5
Relation
s
A relation is a table with columns and rows
A table is a database object which is a collection of related
data entries
Every table is broken up into smaller entities called fields
The fields in the CUSTOMERS table consist of ID, NAME,
AGE, ADDRESS and SALARY

6
Attribute

An attribute is a named column of a relation


Attributes can appear in any order and the relation will still
be the same relation

7
Terminologies of
RDBMS

8
Domai
n
A domain is the set of allowable values for one or more
attributes
Every attribute in a relation is defined on a domain
Domains may be distinct for each attribute, or two or more
attributes may be defined on the same domain
There may be values in a domain that do not currently
appear as values in the corresponding attribute

9
Domain
Example

10
Nul
l
Represents a value for an attribute that is currently
unknown or is not applicable for this tuple
A way to deal with incomplete or exceptional data
A null is not the same as a zero numeric value
Nor text string filled with spaces
But a null represents the absence of a value
We may try to represent a null attribute with the
value -1 or
lowercase Greek omega symbol ω 11
Tuple
s
A tuple is a row of a relation(table)
Tuples can appear in any order relation will still be the same
relation
The tuples are called the extension (or state) of a relation,
which changes over time
The structure of a relation, together with a specification of the
domains and any other restrictions on possible values, is called
its intension

12
Degre
eThe degree of a relation is the number of attributes it
contains
Table with four attributes has a degree four
A relation with one attribute would have degree one and be
called a unary relation or one-tuple
A relation with two attributes is called binary relation
A relation with three attributes is called ternary, and after
that the term n-ary is usually used
13
Cardinalit
y
The cardinality of a relation is the number of tuples it
contains
The cardinality changes as tuples are added or
deleted
The cardinality is a property of the extension of the
relation
Determined from the particular instance of the relation at
any given moment 14
Relational
Database
A collection of normalized relations with distinct relation
names

15
Mathematical
Relations
Cartesian Product:

𝐷 1 = 2,4
𝐷 2 = 1,3,5
𝐷 1 × 𝐷 2= 2,1 , 2,3 , 2,5 , 4,1 ,
4,3 , (4,5)}

Relations: Any subset of the cartesian product is a relation.

𝑅 = { 2,1 , 4,1 } 16
Mathematical
RelationsRelations:
Conditional

R= {(x, y ) | x ∈ 𝐷 1 , y ∈ 𝐷 2 , and y
= 1}

S= {(x, y ) | x ∈ 𝐷 1 , y ∈ 𝐷 2 , and x
= 2y}

17
Mathematical
Relations
General Relation on n domains:
𝐷 1 × 𝐷 2 × ...× 𝐷 𝑛 = 𝑑 1 , 𝑑 2 , … , d𝑛 |

𝑑 1€ 𝐷 1, 𝑑2€ 𝐷 2,…., 𝑑 n€ 𝐷 n}
Also written as

n
X Di

18
Relation
Schema
A named relation defined by a set of attribute and domain
name pairs
𝑅 𝑒 𝑙 𝑎 𝑡 𝑖 𝑜 𝑛 𝑆 𝑐 ℎ𝑒 𝑚 𝑎 𝑅 = {𝐴 1 : 𝐷 1 , 𝐴 2 :
𝐷 2, ...,𝐴 𝑛 : 𝐷 𝑛 }
relation R is a set of n-tuples
𝑅 = 𝐴 1 : 𝑑 1, 𝐴 2 : 𝑑 2, . . . ,𝐴 n : 𝑑 n
𝑠 𝑢 𝑐 ℎ 𝑡 ℎ 𝑎 𝑡 𝑑 1 𝜖 𝐷 1 , …, 𝑑 𝑛 𝜖 𝐷 𝑛

19
Relation Schema
Example
The Branch relation has attributes branchNo, street, city,
and postcode, each with its corresponding domain

{(B005, 22 Deer Rd, London, SW1 4EH)}


Or
{(branchNo: B005, street: 22 Deer Rd, city: London,
postcode: SW1 4EH)}

20
Relational Database
Schema
A set of relation schemas, each with a distinct name

𝑅 = {𝑅 1 , 𝑅 2 , . . . , 𝑅 𝑛 }

21
Properties of
Relations
The relation has a name that is distinct from all other
relation names in the relational schema
Each cell of the relation contains exactly one atomic (single)
value
Each attribute has a distinct name
The values of an attribute are all from the same domain

22
Properties of
Relations
Each tuple is distinct; there are no duplicate tuples
The order of attributes has no significance
The order of tuples has no significance, theoretically.
(However, in practice, the order may affect the efficiency of
accessing tuples.)

23
Relational
Keys
Super Key:
An attribute, or set of attributes, that uniquely identifies a
tuple within a relation
Candidate Key:
A candidate key is a 'minimal' super key meaning the
smallest subset of super key attribute which is unique

24
Relational
Keys
Composite Key:
When a key consists of more than one attribute, we call it
a composite key
Primary Key:
The candidate key that is selected to identify tuples
uniquely within the relation

25
Relational
Keys
Foreign Key:
An attribute, or set of attributes, within one relation that
matches the candidate key of some (possibly the same)
relation

26
Relational Keys
Example
<STUDENT>
Student_number Student_name Student_phone Subject_Number
1 Sara 925431234567 10
2 Aliya 928811253467 11
3 Samreen 969876454452 10

<SUBJECT>
Subject_Number Subject_Name Subject_Instructor
10 RDBMS Safeer
11 RDBMS Ali
12 SEC Bilqees

27
Relational Keys
Example
<ENROLL>

Student_Number Subject_Number
1 10
2 11
3 10

28
Super Key
(STUDENT)
{Student_Number} {Student_Number,Student_Name,Studen
t_Phone}
{Student_Phone}
{Student_Number,Student_Phone,Subjec
{Student_Number,Student_Name}
t_Number}
{Student_Number,Student_Phone} {Student_Number,Student_Name,Subject
{Student_Number,Subject_Number} _Number}
{Student_Phone,Student_Name} {Student_Phone,Student_Name,Subject_
Number}
{Student_Phone,Subject_Number}

29
Super Key
(SUBJECT)
{Subject_Number}
{Subject_Number,Subject_Name}
{Subject_Number,Subject_Instructor}
{Subject_Number,Subject_Name,Subject_Instructor}
{Subject_Name,Subject_Instructor}

30
Super Key
(ENROLL)
{Student_Number,Subject_Number}

31
Candidate Key
(STUDENT)
{Student_Number}
{Student_Phone}

32
Candidate Key
(SUBJECT)
{Subject_Number}
{Subject_Name,Subject_Instructor}

33
Candidate Key
(ENROLL)
{Student_Number, Subject_Number}

34
Primary Key
(STUDENT)
{Student_Number}

35
Primary Key
(SUBJECT)
{Subject_Number}

36
Primary Key
(ENROLL)
{Student_Number, Subject_Number}

37
Composite Key
(ENROLL)
{Student_Number, Subject_Number}

38
Secondary Key
<STUDENT>
{Student_Phone}

39
Secondary Key
<SUBJECT>
{Subject_Name,Subject_Instructor}

40
Foreign Key
<STUDENT>
{Subject_Number}

Which is the Primary key of <SUBJECT> table

41
Representing Relational
Schemas
Student
(Student_number, Student_name, Student_phone, Subject_Number)

Subject
(Subject_Number, Subject_Name, Subject_Instructor)

Enroll
(Student_Number, Subject_Number)

42
Data
Models
Data model has two other parts:
◦a manipulative part: defining the types of operation that
are allowed on the data
◦set of integrity constraints: which ensure that the data
is accurate

43
Integrity
Constraints
Integrity constraints are a set of data validation rules
It can be specified in order to restrict the data values that
can be stored for a variable in a data file
Two types of Integrity Constraints
◦Entity Integrity
◦Referential Integrity

44
Entity
Integrity
In a base relation, no attribute of a primary key can be null
In composite primary keys, none of the attributes can be
null
There are no duplicate rows in a table

45
Referential
Integrity
If a foreign key exists in a relation, either the foreign key
value must match a candidate key value of some tuple in its
home relation or the foreign key value must be wholly null
Rows cannot be deleted, which are used by other records

46
Domain
Integrity
Enforces valid entries for a given column by restricting the
type, the format, or the range of values

47
General
Constraints
Additional rules specified by the users or database
administrators of a database that define or constrain some
aspect of the enterprise

48
Base
Relation
A named relation corresponding to an entity in the
conceptual schema, whose tuples are physically stored in
the database

49
View
s
Is a virtual table based on the result-set of an SQL statement
View is actually a composition of a table in the form of a
predefined SQL query
Contains rows and columns, just like a real table
Fields in a view are fields from one or more real tables in
the database

50
Views in
RDBMS
a view is a virtual or derived relation
a relation that does not necessarily exist in its own right
may be dynamically derived from one or more base
relations
The contents of a view are defined as a query on one or
more base relations

51
Views in RDBMS (Base
Table)
<CUSTOMER>
ID Name Age Address Salary
1 Sana 32 Islamabad 30000.00
2 Alina 24 Lahore 25000.00
3 Madiha 28 Karachi 29000.00
4 Wajiha 31 Faislabad 100000.00

52
Views in RDBMS (View SQL
Statement)
CREATE VIEW CUSTOMER_DATA AS
SELECT name, age
FROM
CUSTOMER;

53
Views in RDBMS (View SQL
Statement)
SELECT * FROM CUSTOMER_DATA

54
View in RDBMS (View
CUSTOMER_DATA)

55
Operations on
Views
Any operations on the view are automatically translated
into operations on the relations from which it is derived
Views are dynamic, meaning that changes made to the base
relations that affect the view are immediately reflected in
the view

56
Importance of
Views
Provides security mechanism by hiding parts of the
database from certain users
Users are not aware of the existence of any attributes or
tuples that are missing from the view
Users can access data in a way that is customized to their
needs
simplify complex operations on the base relations

57
Updating
Views
if a view is updated, then the underlying base relation
should reflect the change
there are restrictions on the types of modification that can
be made through views

58
Updating Views
Conditions
Updates are allowed through a view defined using a simple
query involving a single base relation and containing either
the primary key or a candidate key of the base relation.
Updates are not allowed through views involving multiple
base relations
Updates are not allowed through views involving
aggregation or grouping operations

59

Potrebbero piacerti anche