SlideShare a Scribd company logo
Gandhinagar institute of technology
• I.T Department
• Database Management System
(2130703)
• Title of topic:-
Relational Model
• Group_ID :- IT_B1_02
• STUDENTS NAME:-
 KRUNAL PATEL (140120116078)
 MILAN PATEL (140120116080)
• Name of faculty:- Prof. Krupali Patel
CONTENTS
 Structure of Relational Database
 Domains
 Relation
 Relational Algebra
 Fundamental Operators and Syntax
 Relational Algebra queries
 Tuple Relational Calculus
Database
• A database consists of multiple relations
• Information about an enterprise is broken up into parts, with each
relation storing one part of the information
E.g.: account : stores information about accounts
depositor : stores information about which customer
owns which account
customer : stores information about customers
• Storing all information as a single relation such as
bank(account-number, balance, customer-name, ..)
results in
• repetition of information (e.g. two customers own an account)
• the need for null values (e.g. represent a customer without an
account)
Basic Structure
• Formally, given sets D1, D2, …. Dn a relation r is a subset of
D1 x D2 x … x Dn
Thus a relation is a set of n-tuples (a1, a2, …, an) where
each ai ∈ Di
• Example: if
customer-name = {Jones, Smith, Curry, Lindsay}
customer-street = {Main, North, Park}
customer-city = {Harrison, Rye, Pittsfield}
Then r = { (Jones, Main, Harrison),
(Smith, North, Rye),
(Curry, North, Rye),
(Lindsay, Park, Pittsfield)}
is a relation over customer-name x customer-street x customer-city
Example of a Relation
Attribute Types
• Each attribute of a relation has a name
• The set of allowed values for each attribute is called the domain of the attribute
• Attribute values are (normally) required to be atomic, that is, indivisible
• E.g. multivalued attribute values are not atomic
• E.g. composite attribute values are not atomic
• The special value null is a member of every domain
• The null value causes complications in the definition of many operations
• we shall ignore the effect of null values in our main presentation and consider their
effect later
Domain Relational Calculus
• A nonprocedural query language equivalent in power to the tuple relational calculus
• Each query is an expression of the form:
{ < x1, x2, …, xn > | P(x1, x2, …, xn)}
• x1, x2, …, xn represent domain variables
• P represents a formula similar to that of the predicate calculus
Tuple Relational Calculus
• A nonprocedural query language, where each query is of the form
{t | P (t) }
• It is the set of all tuples t such that predicate P is true for t
• t is a tuple variable, t[A] denotes the value of tuple t on attribute A
• t ∈ r denotes that tuple t is in relation r
• P is a formula similar to that of the predicate calculus
Relation Schema
• A1, A2, …, An are attributes
• R = (A1, A2, …, An ) is a relation schema
E.g. Customer-schema =
(customer-name, customer-street, customer-city)
• r(R) is a relation on the relation schema R
E.g.customer (Customer-schema)
Relations are Unordered
Order of tuples is irrelevant (tuples may be stored in an arbitrary order)
E.g. account relation with unordered tuples
E-R Diagram for the Banking Enterprise
Schema Diagram for the Banking Enterprise
Query Languages
• Language in which user requests information from the database.
• Categories of languages
• procedural
• non-procedural
• “Pure” languages:
• Relational Algebra
• Tuple Relational Calculus
• Domain Relational Calculus
• Pure languages form underlying basis of query languages that people use.
Relational Algebra
• Procedural language
• Six basic operators
• select
• project
• union
• set difference
• Cartesian product
• rename
• The operators take two or more relations as inputs and give a new relation as a result.
Select Operation
• Notation: σ p(r)
• p is called the selection predicate
• Defined as:
σp(r) = {t | t ∈ r and p(t)}
Where p is a formula in propositional calculus
consisting of terms connected by : ∧ (and), ∨ (or), ¬ (not)
Each term is one of:
<attribute> op <attribute> or <constant>
where op is one of: =, ≠, >, ≥. <. ≤
• Example of selection:
σ branch-name=“Perryridge”(account)
Result of σ branch-name = “Perryridge” (loan)
Select Operation – Example
• Relation r A B C D
α
α
β
β
α
β
β
β
1
5
12
23
7
7
3
10
• σA=B ^ D > 5 (r)
A B C D
α
β
α
β
1
23
7
10
Project Operation
• Notation:
∏A1, A2, …, Ak (r)
where A1, A2 are attribute names and r is a relation name.
• The result is defined as the relation of k columns obtained by erasing the columns that
are not listed
• Duplicate rows removed from result, since relations are sets
• E.g. To eliminate the branch-name attribute of account
∏account-number, balance (account)
Loan Number and the Amount of the Loan
Project Operation – Example
• Relation r: A B C
α
α
β
β
10
20
30
40
1
1
1
2
A C
α
α
β
β
1
1
1
2
=
A C
α
β
β
1
1
2
∏A,C (r)
Union Operation
• Notation: r ∪ s
• Defined as:
r ∪ s = {t | t ∈ r or t ∈ s}
• For r ∪ s to be valid.
1. r, s must have the same arity (same number of attributes)
2. The attribute domains must be compatible (e.g., 2nd column
of r deals with the same type of values as does the 2nd
column of s)
• E.g. to find all customers with either an account or a loan
∏customer-name (depositor) ∪ ∏customer-name (borrower)
Names of All Customers Who Have Either a Loan or an Account
Union Operation – Example
• Relations r, s:
r ∪ s:
A B
α
α
β
1
2
1
A B
α
β
2
3
r
s
A B
α
α
β
β
1
2
1
3
Set Difference Operation
• Notation r – s
• Defined as:
r – s = {t | t ∈ r and t ∉ s}
• Set differences must be taken between compatible relations.
• r and s must have the same arity
• attribute domains of r and s must be compatible
Set Difference Operation – Example
• Relations r, s:
r – s:
A B
α
α
β
1
2
1
A B
α
β
2
3
r
s
A B
α
β
1
1
Cartesian-Product Operation
• Notation r x s
• Defined as:
r x s = {t q | t ∈ r and q ∈ s}
• Assume that attributes of r(R) and s(S) are disjoint. (That is,
R ∩ S = ∅).
• If attributes of r(R) and s(S) are not disjoint, then renaming must be used.
Cartesian-Product Operation-Example
Relations r, s:
r x s:
A B
α
β
1
2
A B
α
α
α
α
β
β
β
β
1
1
1
1
2
2
2
2
C D
α
β
β
γ
α
β
β
γ
10
10
20
10
10
10
20
10
E
a
a
b
b
a
a
b
b
C D
α
β
β
γ
10
10
20
10
E
a
a
b
br
s
Composition of Operations
• Can build expressions using multiple operations
• Example: σA=C(r x s)
• r x s
• σA=C(r x s)
A B
α
α
α
α
β
β
β
β
1
1
1
1
2
2
2
2
C D
α
β
β
γ
α
β
β
γ
10
10
20
10
10
10
20
10
E
a
a
b
b
a
a
b
b
A B C D E
α
β
β
1
2
2
α
β
β
10
20
20
a
a
b
Rename Operation
• Allows us to name, and therefore to refer to, the results of relational-algebra expressions.
• Allows us to refer to a relation by more than one name.
Example:
ρ x (E)
returns the expression E under the name X
If a relational-algebra expression E has arity n, then
ρx (A1, A2, …, An) (E)
returns the result of expression E under the name X, and with the
attributes renamed to A1, A2, …., An.
Example Queries
• Find the names of all customers who have a loan at the Perryridge
branch.
Find the names of all customers who have a loan at the
Perryridge branch but do not have an account at any branch of
the bank.
∏customer-name (σbranch-name = “Perryridge”)
(σborrower.loan-number = loan.loan-
number(borrower x loan))) –
∏customer-name(depositor)
∏customer-name (σbranch-name=“Perryridge”
(σborrower.loan-number = loan.loan-number(borrower x loan)))
Result of σ branch-name = “Perryridge” (borrower × loan)
Result of Πcustomer-name
Example Queries
• Find the names of all customers who have a loan at the Perryridge branch.
− Query 1
∏customer-name(σbranch-name = “Perryridge” (
σborrower.loan-number = loan.loan-number(borrower x
loan)))
Result of σ branch-name = “Perryridge” (borrower × loan)
Formal Definition
• A basic expression in the relational algebra consists of either one of the following:
• A relation in the database
• A constant relation
• Let E1 and E2 be relational-algebra expressions; the following are all relational-algebra expressions:
• E1 ∪ E2
• E1 - E2
• E1 x E2
• σp (E1), P is a predicate on attributes in E1
• ∏s(E1), S is a list consisting of some of the attributes in E1
• ρ x (E1), x is the new name for the result of E1
Additional Operations
We define additional operations that do not add any power to the
relational algebra, but that simplify common queries.
• Set intersection
• Natural join
• Division
• Assignment
Set-Intersection Operation
• Notation: r ∩ s
• Defined as:
• r ∩ s ={ t | t ∈ r and t ∈ s }
• Assume:
• r, s have the same arity
• attributes of r and s are compatible
• Note: r ∩ s = r - (r - s)
Set-Intersection Operation - Example
• Relation r, s:
• r ∩ s
A B
α
α
β
1
2
1
A B
α
β
2
3
r s
A B
α 2
Notation: r s
Natural-Join Operation
• Let r and s be relations on schemas R and S respectively.
Then, r s is a relation on schema R ∪ S obtained as follows:
• Consider each pair of tuples tr from r and ts from s.
• If tr and ts have the same value on each of the attributes in R ∩ S,
add a tuple t to the result, where
• t has the same value as tr on r
• t has the same value as ts on s
• Example:
R = (A, B, C, D)
S = (E, B, D)
• Result schema = (A, B, C, D, E)
• r s is defined as:
∏r.A, r.B, r.C, r.D, s.E (σr.B = s.B ∧ r.D = s.D (r x s))
Natural Join Operation – Example
• Relations r, s:
A B
α
β
γ
α
δ
1
2
4
1
2
C D
α
γ
β
γ
β
a
a
b
a
b
B
1
3
1
2
3
D
a
a
a
b
b
E
α
β
γ
δ
∈
r
A B
α
α
α
α
δ
1
1
1
1
2
C D
α
α
γ
γ
β
a
a
a
a
b
E
α
γ
α
γ
δ
s
r s
Division Operation
• Suited to queries that include the phrase “for all”.
• Let r and s be relations on schemas R and S respectively where
• R = (A1, …, Am, B1, …, Bn)
• S = (B1, …, Bn)
The result of r ÷ s is a relation on schema
R – S = (A1, …, Am)
r ÷ s = { t | t ∈ ∏ R-S(r) ∧ ∀ u ∈ s ( tu ∈ r ) }
r ÷ s
Division Operation – Example
Relations r, s:
r ÷ s: A
B
α
β
1
2
A B
α
α
α
β
γ
δ
δ
δ
∈
∈
β
1
2
3
1
1
1
3
4
6
1
2
r
s
Assignment Operation
• The assignment operation (←) provides a convenient way to express complex
queries.
• Write query as a sequential program consisting of
• a series of assignments
• followed by an expression whose value is displayed as a result of the query.
• Assignment must always be made to a temporary relation variable.
• Example: Write r ÷ s as
temp1 ← ∏R-S (r)
temp2 ← ∏R-S ((temp1 x s) – ∏R-S,S (r))
result = temp1 – temp2
• The result to the right of the ← is assigned to the relation variable on the
left of the ←.
• May use variable in subsequent expressions.
Null Values
• It is possible for tuples to have a null value, denoted by null, for some of their attributes
• null signifies an unknown value or that a value does not exist.
• The result of any arithmetic expression involving null is null.
• Aggregate functions simply ignore null values
• Is an arbitrary decision. Could have returned null as result instead.
• We follow the semantics of SQL in its handling of null values
• For duplicate elimination and grouping, null is treated like any other value, and two nulls are assumed to be
the same
• Alternative: assume each null is different from each other
• Both are arbitrary decisions, so we simply follow SQL
Null Values
• Comparisons with null values return the special truth value unknown
• If false was used instead of unknown, then not (A < 5)
would not be equivalent to A >= 5
• Three-valued logic using the truth value unknown:
• OR: (unknown or true) = true,
(unknown or false) = unknown
(unknown or unknown) = unknown
• AND: (true and unknown) = unknown,
(false and unknown) = false,
(unknown and unknown) = unknown
• NOT: (not unknown) = unknown
• In SQL “P is unknown” evaluates to true if predicate P evaluates to
unknown
• Result of select predicate is treated as false if it evaluates to unknown
Modification of the Database
• The content of the database may be modified using the following operations:
• Deletion
• Insertion
• Updating
• All these operations are expressed using the assignment operator.
Deletion
• A delete request is expressed similarly to a query, except instead of displaying tuples
to the user, the selected tuples are removed from the database.
• Can delete only whole tuples; cannot delete values on only particular attributes
• A deletion is expressed in relational algebra by:
r ← r – E
where r is a relation and E is a relational algebra query.
Insertion
• To insert data into a relation, we either:
• specify a tuple to be inserted
• write a query whose result is a set of tuples to be inserted
• in relational algebra, an insertion is expressed by:
r ← r ∪ E
where r is a relation and E is a relational algebra expression.
• The insertion of a single tuple is expressed by letting E be a constant relation containing
one tuple.
Updating
• A mechanism to change a value in a tuple without charging all values in the tuple
• Use the generalized projection operator to do this task
r ← ∏ F1, F2, …, FI, (r)
• Each Fi is either
• the ith attribute of r, if the ith attribute is not updated, or,
• if the attribute is to be updated Fi is an expression, involving only constants and the
attributes of r, which gives the new value for the attribute
Views
• In some cases, it is not desirable for all users to see the entire logical
model (i.e., all the actual relations stored in the database.)
• Consider a person who needs to know a customer’s loan number
but has no need to see the loan amount. This person should see a
relation described, in the relational algebra, by
∏customer-name, loan-number
(borrower loan)
• Any relation that is not of the conceptual model but is made visible
to a user as a “virtual relation” is called a view.
View Definition
• A view is defined using the create view statement which has the form
create view v as <query expression
where <query expression> is any legal relational algebra query expression. The view name is
represented by v.
• Once a view is defined, the view name can be used to refer to the virtual relation that the view
generates.
• View definition is not the same as creating a new relation by evaluating the query expression
• Rather, a view definition causes the saving of an expression; the expression is substituted into
queries using the view.
Views Defined Using Other Views
• One view may be used in the expression defining another view
• A view relation v1 is said to depend directly on a view relation v2 if v2 is used in the
expression defining v1
• A view relation v1 is said to depend on view relation v2 if either v1 depends directly to v2
or there is a path of dependencies from v1 to v2
• A view relation v is said to be recursive if it depends on itself.
View Expansion
• A way to define the meaning of views defined in terms of other views.
• Let view v1 be defined by an expression e1 that may itself contain uses of view relations.
• View expansion of an expression repeats the following replacement step:
repeat
Find any view relation vi in e1
Replace the view relation vi by the expression defining vi
until no more view relations are present in e1
• As long as the view definitions are not recursive, this loop will terminate
CHAPTER 2 DBMS IN EASY WAY BY  MILAN PATEL

More Related Content

What's hot

Relation model part 1
Relation model part 1Relation model part 1
Relation model part 1
Siti Ismail
 
4. SQL in DBMS
4. SQL in DBMS4. SQL in DBMS
4. SQL in DBMS
koolkampus
 
Module 2 - part i
Module   2 - part iModule   2 - part i
Module 2 - part i
ParthNavale
 
Chapter 2 Relational Data Model-part 2
Chapter 2 Relational Data Model-part 2Chapter 2 Relational Data Model-part 2
Chapter 2 Relational Data Model-part 2
Eddyzulham Mahluzydde
 
1643 y є r relational calculus-1
1643 y є r  relational calculus-11643 y є r  relational calculus-1
1643 y є r relational calculus-1
Dr Fereidoun Dejahang
 
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
Raj vardhan
 
Relational Model and Relational Algebra - Lecture 3 - Introduction to Databas...
Relational Model and Relational Algebra - Lecture 3 - Introduction to Databas...Relational Model and Relational Algebra - Lecture 3 - Introduction to Databas...
Relational Model and Relational Algebra - Lecture 3 - Introduction to Databas...
Beat Signer
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraints
Kumar
 
Chapter 2 Relational Data Model-part1
Chapter 2 Relational Data Model-part1Chapter 2 Relational Data Model-part1
Chapter 2 Relational Data Model-part1
Eddyzulham Mahluzydde
 
relational algebra
relational algebrarelational algebra
relational algebra
Shashank Singh
 
Dbms ii mca-ch5-ch6-relational algebra-2013
Dbms ii mca-ch5-ch6-relational algebra-2013Dbms ii mca-ch5-ch6-relational algebra-2013
Dbms ii mca-ch5-ch6-relational algebra-2013
Prosanta Ghosh
 
7. Relational Database Design in DBMS
7. Relational Database Design in DBMS7. Relational Database Design in DBMS
7. Relational Database Design in DBMS
koolkampus
 
Intro to relational model
Intro to relational modelIntro to relational model
Intro to relational model
ATS SBGI MIRAJ
 
dbms first unit
dbms first unitdbms first unit
dbms first unit
Raghu Bright
 
Lecture 06 relational algebra and calculus
Lecture 06 relational algebra and calculusLecture 06 relational algebra and calculus
Lecture 06 relational algebra and calculus
emailharmeet
 
Relational model
Relational modelRelational model
Relational model
Dabbal Singh Mahara
 
Dbms ii mca-ch7-sql-2013
Dbms ii mca-ch7-sql-2013Dbms ii mca-ch7-sql-2013
Dbms ii mca-ch7-sql-2013
Prosanta Ghosh
 
14285 lecture2
14285 lecture214285 lecture2
Relational Model - An Introduction
Relational Model - An IntroductionRelational Model - An Introduction
Relational Model - An Introduction
Rajeev Srivastava
 
Dbms module ii
Dbms module iiDbms module ii
Dbms module ii
SANTOSH RATH
 

What's hot (20)

Relation model part 1
Relation model part 1Relation model part 1
Relation model part 1
 
4. SQL in DBMS
4. SQL in DBMS4. SQL in DBMS
4. SQL in DBMS
 
Module 2 - part i
Module   2 - part iModule   2 - part i
Module 2 - part i
 
Chapter 2 Relational Data Model-part 2
Chapter 2 Relational Data Model-part 2Chapter 2 Relational Data Model-part 2
Chapter 2 Relational Data Model-part 2
 
1643 y є r relational calculus-1
1643 y є r  relational calculus-11643 y є r  relational calculus-1
1643 y є r relational calculus-1
 
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
The Relational Data Model and Relational Database Constraints Ch5 (Navathe 4t...
 
Relational Model and Relational Algebra - Lecture 3 - Introduction to Databas...
Relational Model and Relational Algebra - Lecture 3 - Introduction to Databas...Relational Model and Relational Algebra - Lecture 3 - Introduction to Databas...
Relational Model and Relational Algebra - Lecture 3 - Introduction to Databas...
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraints
 
Chapter 2 Relational Data Model-part1
Chapter 2 Relational Data Model-part1Chapter 2 Relational Data Model-part1
Chapter 2 Relational Data Model-part1
 
relational algebra
relational algebrarelational algebra
relational algebra
 
Dbms ii mca-ch5-ch6-relational algebra-2013
Dbms ii mca-ch5-ch6-relational algebra-2013Dbms ii mca-ch5-ch6-relational algebra-2013
Dbms ii mca-ch5-ch6-relational algebra-2013
 
7. Relational Database Design in DBMS
7. Relational Database Design in DBMS7. Relational Database Design in DBMS
7. Relational Database Design in DBMS
 
Intro to relational model
Intro to relational modelIntro to relational model
Intro to relational model
 
dbms first unit
dbms first unitdbms first unit
dbms first unit
 
Lecture 06 relational algebra and calculus
Lecture 06 relational algebra and calculusLecture 06 relational algebra and calculus
Lecture 06 relational algebra and calculus
 
Relational model
Relational modelRelational model
Relational model
 
Dbms ii mca-ch7-sql-2013
Dbms ii mca-ch7-sql-2013Dbms ii mca-ch7-sql-2013
Dbms ii mca-ch7-sql-2013
 
14285 lecture2
14285 lecture214285 lecture2
14285 lecture2
 
Relational Model - An Introduction
Relational Model - An IntroductionRelational Model - An Introduction
Relational Model - An Introduction
 
Dbms module ii
Dbms module iiDbms module ii
Dbms module ii
 

Viewers also liked

Entity Relationship Model
Entity Relationship ModelEntity Relationship Model
Entity Relationship Model
Neil Neelesh
 
M.sc. engg (ict) admission guide database management system 4
M.sc. engg (ict) admission guide   database management system 4M.sc. engg (ict) admission guide   database management system 4
M.sc. engg (ict) admission guide database management system 4
Syed Ariful Islam Emon
 
Er Model Nandha&Mani
Er Model Nandha&ManiEr Model Nandha&Mani
Er Model Nandha&Mani
guest1e0229a
 
Entity relationship(er) model
Entity relationship(er) modelEntity relationship(er) model
Entity relationship(er) model
Rahul Khanwani
 
03 Ch3 Notes Revised
03 Ch3 Notes Revised03 Ch3 Notes Revised
03 Ch3 Notes Revised
guest6f408c
 
The entity relationship model
The entity relationship modelThe entity relationship model
The entity relationship model
yash patel
 
Desigining of Database - ER Model
Desigining of Database - ER ModelDesigining of Database - ER Model
Desigining of Database - ER Model
Ajay Chhimpa
 
The entity relationship model
The entity relationship modelThe entity relationship model
The entity relationship model
Jane Garay
 
MS SQL Server
MS SQL ServerMS SQL Server
MS SQL Server
Md. Mahedee Hasan
 
View of data DBMS
View of data DBMSView of data DBMS
View of data DBMS
Rahul Narang
 
Chapter 3 Entity Relationship Model
Chapter 3 Entity Relationship ModelChapter 3 Entity Relationship Model
Chapter 3 Entity Relationship Model
Eddyzulham Mahluzydde
 
Review of SQL
Review of SQLReview of SQL
Review of SQL
Information Technology
 
Lecture 4. MS SQL. DML Triggers
Lecture 4. MS SQL. DML TriggersLecture 4. MS SQL. DML Triggers
Lecture 4. MS SQL. DML Triggers
Alexey Furmanov
 
Entity relationship diagram
Entity relationship diagramEntity relationship diagram
Entity relationship diagram
Haseeb
 
Oracle Database Trigger
Oracle Database TriggerOracle Database Trigger
Oracle Database Trigger
Eryk Budi Pratama
 
Erd chapter 3
Erd chapter 3Erd chapter 3
Erd chapter 3
Nargis Ehsan
 
Trigger
TriggerTrigger
Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbms
shekhar1991
 
Introduction to triggers
Introduction to triggersIntroduction to triggers
Introduction to triggers
Command Prompt., Inc
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
Kabindra Koirala
 

Viewers also liked (20)

Entity Relationship Model
Entity Relationship ModelEntity Relationship Model
Entity Relationship Model
 
M.sc. engg (ict) admission guide database management system 4
M.sc. engg (ict) admission guide   database management system 4M.sc. engg (ict) admission guide   database management system 4
M.sc. engg (ict) admission guide database management system 4
 
Er Model Nandha&Mani
Er Model Nandha&ManiEr Model Nandha&Mani
Er Model Nandha&Mani
 
Entity relationship(er) model
Entity relationship(er) modelEntity relationship(er) model
Entity relationship(er) model
 
03 Ch3 Notes Revised
03 Ch3 Notes Revised03 Ch3 Notes Revised
03 Ch3 Notes Revised
 
The entity relationship model
The entity relationship modelThe entity relationship model
The entity relationship model
 
Desigining of Database - ER Model
Desigining of Database - ER ModelDesigining of Database - ER Model
Desigining of Database - ER Model
 
The entity relationship model
The entity relationship modelThe entity relationship model
The entity relationship model
 
MS SQL Server
MS SQL ServerMS SQL Server
MS SQL Server
 
View of data DBMS
View of data DBMSView of data DBMS
View of data DBMS
 
Chapter 3 Entity Relationship Model
Chapter 3 Entity Relationship ModelChapter 3 Entity Relationship Model
Chapter 3 Entity Relationship Model
 
Review of SQL
Review of SQLReview of SQL
Review of SQL
 
Lecture 4. MS SQL. DML Triggers
Lecture 4. MS SQL. DML TriggersLecture 4. MS SQL. DML Triggers
Lecture 4. MS SQL. DML Triggers
 
Entity relationship diagram
Entity relationship diagramEntity relationship diagram
Entity relationship diagram
 
Oracle Database Trigger
Oracle Database TriggerOracle Database Trigger
Oracle Database Trigger
 
Erd chapter 3
Erd chapter 3Erd chapter 3
Erd chapter 3
 
Trigger
TriggerTrigger
Trigger
 
Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbms
 
Introduction to triggers
Introduction to triggersIntroduction to triggers
Introduction to triggers
 
ER Model in DBMS
ER Model in DBMSER Model in DBMS
ER Model in DBMS
 

Similar to CHAPTER 2 DBMS IN EASY WAY BY MILAN PATEL

Data Base Management system relation algebra ER diageam Sql Query -nested qu...
Data Base Management system relation algebra ER diageam Sql Query -nested  qu...Data Base Management system relation algebra ER diageam Sql Query -nested  qu...
Data Base Management system relation algebra ER diageam Sql Query -nested qu...
kudiyarc
 
3.ppt
3.ppt3.ppt
Sql server select queries ppt 18
Sql server select queries ppt 18Sql server select queries ppt 18
Sql server select queries ppt 18
Vibrant Technologies & Computers
 
Relational algebra operations
Relational algebra operationsRelational algebra operations
Relational algebra operations
SanthiNivas
 
Details of RDBMS.ppt
Details of RDBMS.pptDetails of RDBMS.ppt
Details of RDBMS.ppt
ShivareddyGangam
 
relational model in Database Management.ppt.ppt
relational model in Database Management.ppt.pptrelational model in Database Management.ppt.ppt
relational model in Database Management.ppt.ppt
Roshni814224
 
DBMS ppt (1).pptx
DBMS ppt (1).pptxDBMS ppt (1).pptx
DBMS ppt (1).pptx
spresentskava
 
relational algebra and it's implementation
relational algebra and it's implementationrelational algebra and it's implementation
relational algebra and it's implementation
dbmscse61
 
Relational Algebra
Relational AlgebraRelational Algebra
Relational Algebra
Amin Omi
 
Bab 5
Bab 5Bab 5
Relational Database and Relational Algebra
Relational Database and Relational AlgebraRelational Database and Relational Algebra
Relational Database and Relational Algebra
Pyingkodi Maran
 
Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbms
Vignesh Saravanan
 
Relational Algebra.ppt
Relational Algebra.pptRelational Algebra.ppt
Relational Algebra.ppt
MabelNirmalaJoseph
 
7.relational model
7.relational model7.relational model
7.relational model
raghuinfo
 
RDBMS
RDBMSRDBMS
RDBMS
NilaNila16
 
hgvgvhbhv hvh h h h h h h h h h h h h .ppt
hgvgvhbhv hvh h h h h h h h h h h h h .ppthgvgvhbhv hvh h h h h h h h h h h h h .ppt
hgvgvhbhv hvh h h h h h h h h h h h h .ppt
ShahidSultan24
 
Relational Algebra1.ppt
Relational Algebra1.pptRelational Algebra1.ppt
Relational Algebra1.ppt
20DCE031RAJGANATRA
 
R Algebra.ppt
R Algebra.pptR Algebra.ppt
R Algebra.ppt
Faisal143524
 
Cs501 rel algebra
Cs501 rel algebraCs501 rel algebra
Cs501 rel algebra
Kamal Singh Lodhi
 
Relational operation final
Relational operation finalRelational operation final
Relational operation final
Student
 

Similar to CHAPTER 2 DBMS IN EASY WAY BY MILAN PATEL (20)

Data Base Management system relation algebra ER diageam Sql Query -nested qu...
Data Base Management system relation algebra ER diageam Sql Query -nested  qu...Data Base Management system relation algebra ER diageam Sql Query -nested  qu...
Data Base Management system relation algebra ER diageam Sql Query -nested qu...
 
3.ppt
3.ppt3.ppt
3.ppt
 
Sql server select queries ppt 18
Sql server select queries ppt 18Sql server select queries ppt 18
Sql server select queries ppt 18
 
Relational algebra operations
Relational algebra operationsRelational algebra operations
Relational algebra operations
 
Details of RDBMS.ppt
Details of RDBMS.pptDetails of RDBMS.ppt
Details of RDBMS.ppt
 
relational model in Database Management.ppt.ppt
relational model in Database Management.ppt.pptrelational model in Database Management.ppt.ppt
relational model in Database Management.ppt.ppt
 
DBMS ppt (1).pptx
DBMS ppt (1).pptxDBMS ppt (1).pptx
DBMS ppt (1).pptx
 
relational algebra and it's implementation
relational algebra and it's implementationrelational algebra and it's implementation
relational algebra and it's implementation
 
Relational Algebra
Relational AlgebraRelational Algebra
Relational Algebra
 
Bab 5
Bab 5Bab 5
Bab 5
 
Relational Database and Relational Algebra
Relational Database and Relational AlgebraRelational Database and Relational Algebra
Relational Database and Relational Algebra
 
Relational algebra in dbms
Relational algebra in dbmsRelational algebra in dbms
Relational algebra in dbms
 
Relational Algebra.ppt
Relational Algebra.pptRelational Algebra.ppt
Relational Algebra.ppt
 
7.relational model
7.relational model7.relational model
7.relational model
 
RDBMS
RDBMSRDBMS
RDBMS
 
hgvgvhbhv hvh h h h h h h h h h h h h .ppt
hgvgvhbhv hvh h h h h h h h h h h h h .ppthgvgvhbhv hvh h h h h h h h h h h h h .ppt
hgvgvhbhv hvh h h h h h h h h h h h h .ppt
 
Relational Algebra1.ppt
Relational Algebra1.pptRelational Algebra1.ppt
Relational Algebra1.ppt
 
R Algebra.ppt
R Algebra.pptR Algebra.ppt
R Algebra.ppt
 
Cs501 rel algebra
Cs501 rel algebraCs501 rel algebra
Cs501 rel algebra
 
Relational operation final
Relational operation finalRelational operation final
Relational operation final
 

Recently uploaded

2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdfIron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
RadiNasr
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
zubairahmad848137
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
ihlasbinance2003
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
Las Vegas Warehouse
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 

Recently uploaded (20)

2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdfIron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 

CHAPTER 2 DBMS IN EASY WAY BY MILAN PATEL

  • 1. Gandhinagar institute of technology • I.T Department • Database Management System (2130703) • Title of topic:- Relational Model • Group_ID :- IT_B1_02 • STUDENTS NAME:-  KRUNAL PATEL (140120116078)  MILAN PATEL (140120116080) • Name of faculty:- Prof. Krupali Patel
  • 2. CONTENTS  Structure of Relational Database  Domains  Relation  Relational Algebra  Fundamental Operators and Syntax  Relational Algebra queries  Tuple Relational Calculus
  • 3. Database • A database consists of multiple relations • Information about an enterprise is broken up into parts, with each relation storing one part of the information E.g.: account : stores information about accounts depositor : stores information about which customer owns which account customer : stores information about customers • Storing all information as a single relation such as bank(account-number, balance, customer-name, ..) results in • repetition of information (e.g. two customers own an account) • the need for null values (e.g. represent a customer without an account)
  • 4. Basic Structure • Formally, given sets D1, D2, …. Dn a relation r is a subset of D1 x D2 x … x Dn Thus a relation is a set of n-tuples (a1, a2, …, an) where each ai ∈ Di • Example: if customer-name = {Jones, Smith, Curry, Lindsay} customer-street = {Main, North, Park} customer-city = {Harrison, Rye, Pittsfield} Then r = { (Jones, Main, Harrison), (Smith, North, Rye), (Curry, North, Rye), (Lindsay, Park, Pittsfield)} is a relation over customer-name x customer-street x customer-city
  • 5. Example of a Relation
  • 6. Attribute Types • Each attribute of a relation has a name • The set of allowed values for each attribute is called the domain of the attribute • Attribute values are (normally) required to be atomic, that is, indivisible • E.g. multivalued attribute values are not atomic • E.g. composite attribute values are not atomic • The special value null is a member of every domain • The null value causes complications in the definition of many operations • we shall ignore the effect of null values in our main presentation and consider their effect later
  • 7. Domain Relational Calculus • A nonprocedural query language equivalent in power to the tuple relational calculus • Each query is an expression of the form: { < x1, x2, …, xn > | P(x1, x2, …, xn)} • x1, x2, …, xn represent domain variables • P represents a formula similar to that of the predicate calculus
  • 8. Tuple Relational Calculus • A nonprocedural query language, where each query is of the form {t | P (t) } • It is the set of all tuples t such that predicate P is true for t • t is a tuple variable, t[A] denotes the value of tuple t on attribute A • t ∈ r denotes that tuple t is in relation r • P is a formula similar to that of the predicate calculus
  • 9. Relation Schema • A1, A2, …, An are attributes • R = (A1, A2, …, An ) is a relation schema E.g. Customer-schema = (customer-name, customer-street, customer-city) • r(R) is a relation on the relation schema R E.g.customer (Customer-schema)
  • 10. Relations are Unordered Order of tuples is irrelevant (tuples may be stored in an arbitrary order) E.g. account relation with unordered tuples
  • 11. E-R Diagram for the Banking Enterprise
  • 12. Schema Diagram for the Banking Enterprise
  • 13. Query Languages • Language in which user requests information from the database. • Categories of languages • procedural • non-procedural • “Pure” languages: • Relational Algebra • Tuple Relational Calculus • Domain Relational Calculus • Pure languages form underlying basis of query languages that people use.
  • 14. Relational Algebra • Procedural language • Six basic operators • select • project • union • set difference • Cartesian product • rename • The operators take two or more relations as inputs and give a new relation as a result.
  • 15. Select Operation • Notation: σ p(r) • p is called the selection predicate • Defined as: σp(r) = {t | t ∈ r and p(t)} Where p is a formula in propositional calculus consisting of terms connected by : ∧ (and), ∨ (or), ¬ (not) Each term is one of: <attribute> op <attribute> or <constant> where op is one of: =, ≠, >, ≥. <. ≤ • Example of selection: σ branch-name=“Perryridge”(account)
  • 16. Result of σ branch-name = “Perryridge” (loan)
  • 17. Select Operation – Example • Relation r A B C D α α β β α β β β 1 5 12 23 7 7 3 10 • σA=B ^ D > 5 (r) A B C D α β α β 1 23 7 10
  • 18. Project Operation • Notation: ∏A1, A2, …, Ak (r) where A1, A2 are attribute names and r is a relation name. • The result is defined as the relation of k columns obtained by erasing the columns that are not listed • Duplicate rows removed from result, since relations are sets • E.g. To eliminate the branch-name attribute of account ∏account-number, balance (account)
  • 19. Loan Number and the Amount of the Loan
  • 20. Project Operation – Example • Relation r: A B C α α β β 10 20 30 40 1 1 1 2 A C α α β β 1 1 1 2 = A C α β β 1 1 2 ∏A,C (r)
  • 21. Union Operation • Notation: r ∪ s • Defined as: r ∪ s = {t | t ∈ r or t ∈ s} • For r ∪ s to be valid. 1. r, s must have the same arity (same number of attributes) 2. The attribute domains must be compatible (e.g., 2nd column of r deals with the same type of values as does the 2nd column of s) • E.g. to find all customers with either an account or a loan ∏customer-name (depositor) ∪ ∏customer-name (borrower)
  • 22. Names of All Customers Who Have Either a Loan or an Account
  • 23. Union Operation – Example • Relations r, s: r ∪ s: A B α α β 1 2 1 A B α β 2 3 r s A B α α β β 1 2 1 3
  • 24. Set Difference Operation • Notation r – s • Defined as: r – s = {t | t ∈ r and t ∉ s} • Set differences must be taken between compatible relations. • r and s must have the same arity • attribute domains of r and s must be compatible
  • 25. Set Difference Operation – Example • Relations r, s: r – s: A B α α β 1 2 1 A B α β 2 3 r s A B α β 1 1
  • 26. Cartesian-Product Operation • Notation r x s • Defined as: r x s = {t q | t ∈ r and q ∈ s} • Assume that attributes of r(R) and s(S) are disjoint. (That is, R ∩ S = ∅). • If attributes of r(R) and s(S) are not disjoint, then renaming must be used.
  • 27. Cartesian-Product Operation-Example Relations r, s: r x s: A B α β 1 2 A B α α α α β β β β 1 1 1 1 2 2 2 2 C D α β β γ α β β γ 10 10 20 10 10 10 20 10 E a a b b a a b b C D α β β γ 10 10 20 10 E a a b br s
  • 28. Composition of Operations • Can build expressions using multiple operations • Example: σA=C(r x s) • r x s • σA=C(r x s) A B α α α α β β β β 1 1 1 1 2 2 2 2 C D α β β γ α β β γ 10 10 20 10 10 10 20 10 E a a b b a a b b A B C D E α β β 1 2 2 α β β 10 20 20 a a b
  • 29. Rename Operation • Allows us to name, and therefore to refer to, the results of relational-algebra expressions. • Allows us to refer to a relation by more than one name. Example: ρ x (E) returns the expression E under the name X If a relational-algebra expression E has arity n, then ρx (A1, A2, …, An) (E) returns the result of expression E under the name X, and with the attributes renamed to A1, A2, …., An.
  • 30. Example Queries • Find the names of all customers who have a loan at the Perryridge branch. Find the names of all customers who have a loan at the Perryridge branch but do not have an account at any branch of the bank. ∏customer-name (σbranch-name = “Perryridge”) (σborrower.loan-number = loan.loan- number(borrower x loan))) – ∏customer-name(depositor) ∏customer-name (σbranch-name=“Perryridge” (σborrower.loan-number = loan.loan-number(borrower x loan)))
  • 31. Result of σ branch-name = “Perryridge” (borrower × loan)
  • 33. Example Queries • Find the names of all customers who have a loan at the Perryridge branch. − Query 1 ∏customer-name(σbranch-name = “Perryridge” ( σborrower.loan-number = loan.loan-number(borrower x loan)))
  • 34. Result of σ branch-name = “Perryridge” (borrower × loan)
  • 35. Formal Definition • A basic expression in the relational algebra consists of either one of the following: • A relation in the database • A constant relation • Let E1 and E2 be relational-algebra expressions; the following are all relational-algebra expressions: • E1 ∪ E2 • E1 - E2 • E1 x E2 • σp (E1), P is a predicate on attributes in E1 • ∏s(E1), S is a list consisting of some of the attributes in E1 • ρ x (E1), x is the new name for the result of E1
  • 36. Additional Operations We define additional operations that do not add any power to the relational algebra, but that simplify common queries. • Set intersection • Natural join • Division • Assignment
  • 37. Set-Intersection Operation • Notation: r ∩ s • Defined as: • r ∩ s ={ t | t ∈ r and t ∈ s } • Assume: • r, s have the same arity • attributes of r and s are compatible • Note: r ∩ s = r - (r - s)
  • 38. Set-Intersection Operation - Example • Relation r, s: • r ∩ s A B α α β 1 2 1 A B α β 2 3 r s A B α 2
  • 39. Notation: r s Natural-Join Operation • Let r and s be relations on schemas R and S respectively. Then, r s is a relation on schema R ∪ S obtained as follows: • Consider each pair of tuples tr from r and ts from s. • If tr and ts have the same value on each of the attributes in R ∩ S, add a tuple t to the result, where • t has the same value as tr on r • t has the same value as ts on s • Example: R = (A, B, C, D) S = (E, B, D) • Result schema = (A, B, C, D, E) • r s is defined as: ∏r.A, r.B, r.C, r.D, s.E (σr.B = s.B ∧ r.D = s.D (r x s))
  • 40. Natural Join Operation – Example • Relations r, s: A B α β γ α δ 1 2 4 1 2 C D α γ β γ β a a b a b B 1 3 1 2 3 D a a a b b E α β γ δ ∈ r A B α α α α δ 1 1 1 1 2 C D α α γ γ β a a a a b E α γ α γ δ s r s
  • 41. Division Operation • Suited to queries that include the phrase “for all”. • Let r and s be relations on schemas R and S respectively where • R = (A1, …, Am, B1, …, Bn) • S = (B1, …, Bn) The result of r ÷ s is a relation on schema R – S = (A1, …, Am) r ÷ s = { t | t ∈ ∏ R-S(r) ∧ ∀ u ∈ s ( tu ∈ r ) } r ÷ s
  • 42. Division Operation – Example Relations r, s: r ÷ s: A B α β 1 2 A B α α α β γ δ δ δ ∈ ∈ β 1 2 3 1 1 1 3 4 6 1 2 r s
  • 43. Assignment Operation • The assignment operation (←) provides a convenient way to express complex queries. • Write query as a sequential program consisting of • a series of assignments • followed by an expression whose value is displayed as a result of the query. • Assignment must always be made to a temporary relation variable. • Example: Write r ÷ s as temp1 ← ∏R-S (r) temp2 ← ∏R-S ((temp1 x s) – ∏R-S,S (r)) result = temp1 – temp2 • The result to the right of the ← is assigned to the relation variable on the left of the ←. • May use variable in subsequent expressions.
  • 44. Null Values • It is possible for tuples to have a null value, denoted by null, for some of their attributes • null signifies an unknown value or that a value does not exist. • The result of any arithmetic expression involving null is null. • Aggregate functions simply ignore null values • Is an arbitrary decision. Could have returned null as result instead. • We follow the semantics of SQL in its handling of null values • For duplicate elimination and grouping, null is treated like any other value, and two nulls are assumed to be the same • Alternative: assume each null is different from each other • Both are arbitrary decisions, so we simply follow SQL
  • 45. Null Values • Comparisons with null values return the special truth value unknown • If false was used instead of unknown, then not (A < 5) would not be equivalent to A >= 5 • Three-valued logic using the truth value unknown: • OR: (unknown or true) = true, (unknown or false) = unknown (unknown or unknown) = unknown • AND: (true and unknown) = unknown, (false and unknown) = false, (unknown and unknown) = unknown • NOT: (not unknown) = unknown • In SQL “P is unknown” evaluates to true if predicate P evaluates to unknown • Result of select predicate is treated as false if it evaluates to unknown
  • 46. Modification of the Database • The content of the database may be modified using the following operations: • Deletion • Insertion • Updating • All these operations are expressed using the assignment operator.
  • 47. Deletion • A delete request is expressed similarly to a query, except instead of displaying tuples to the user, the selected tuples are removed from the database. • Can delete only whole tuples; cannot delete values on only particular attributes • A deletion is expressed in relational algebra by: r ← r – E where r is a relation and E is a relational algebra query.
  • 48. Insertion • To insert data into a relation, we either: • specify a tuple to be inserted • write a query whose result is a set of tuples to be inserted • in relational algebra, an insertion is expressed by: r ← r ∪ E where r is a relation and E is a relational algebra expression. • The insertion of a single tuple is expressed by letting E be a constant relation containing one tuple.
  • 49. Updating • A mechanism to change a value in a tuple without charging all values in the tuple • Use the generalized projection operator to do this task r ← ∏ F1, F2, …, FI, (r) • Each Fi is either • the ith attribute of r, if the ith attribute is not updated, or, • if the attribute is to be updated Fi is an expression, involving only constants and the attributes of r, which gives the new value for the attribute
  • 50. Views • In some cases, it is not desirable for all users to see the entire logical model (i.e., all the actual relations stored in the database.) • Consider a person who needs to know a customer’s loan number but has no need to see the loan amount. This person should see a relation described, in the relational algebra, by ∏customer-name, loan-number (borrower loan) • Any relation that is not of the conceptual model but is made visible to a user as a “virtual relation” is called a view.
  • 51. View Definition • A view is defined using the create view statement which has the form create view v as <query expression where <query expression> is any legal relational algebra query expression. The view name is represented by v. • Once a view is defined, the view name can be used to refer to the virtual relation that the view generates. • View definition is not the same as creating a new relation by evaluating the query expression • Rather, a view definition causes the saving of an expression; the expression is substituted into queries using the view.
  • 52. Views Defined Using Other Views • One view may be used in the expression defining another view • A view relation v1 is said to depend directly on a view relation v2 if v2 is used in the expression defining v1 • A view relation v1 is said to depend on view relation v2 if either v1 depends directly to v2 or there is a path of dependencies from v1 to v2 • A view relation v is said to be recursive if it depends on itself.
  • 53. View Expansion • A way to define the meaning of views defined in terms of other views. • Let view v1 be defined by an expression e1 that may itself contain uses of view relations. • View expansion of an expression repeats the following replacement step: repeat Find any view relation vi in e1 Replace the view relation vi by the expression defining vi until no more view relations are present in e1 • As long as the view definitions are not recursive, this loop will terminate

Editor's Notes

  1. &amp;lt;number&amp;gt;