SlideShare a Scribd company logo
Database System Concepts, 6th Ed.
©Silberschatz, Korth and Sudarshan
See www.db-book.com for conditions on re-use
Chapter 6: Formal Relational Query
Languages
©Silberschatz, Korth and Sudarshan
6.2
Database System Concepts - 6th Edition
Outline
 Relational Algebra
 Tuple Relational Calculus
 Domain Relational Calculus
©Silberschatz, Korth and Sudarshan
6.3
Database System Concepts - 6th Edition
Relational Algebra
 Procedural language
 Six basic operators
 select: 
 project: 
 union: 
 set difference: –
 Cartesian product: x
 rename: 
 The operators take one or two relations as inputs and produce a new
relation as a result.
©Silberschatz, Korth and Sudarshan
6.4
Database System Concepts - 6th Edition
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:
 dept_name=“Physics”(instructor)
©Silberschatz, Korth and Sudarshan
6.5
Database System Concepts - 6th Edition
Project Operation
 Notation:
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
 Example: To eliminate the dept_name attribute of instructor
ID, name, salary (instructor)
)
(
,
,
2
,
1
r
k
A
A
A 

©Silberschatz, Korth and Sudarshan
6.6
Database System Concepts - 6th Edition
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 (example: 2nd column
of r deals with the same type of values as does the 2nd
column of s)
 Example: to find all courses taught in the Fall 2009 semester, or in the
Spring 2010 semester, or in both
course_id ( semester=“Fall” Λ year=2009 (section)) 
course_id ( semester=“Spring” Λ year=2010 (section))
©Silberschatz, Korth and Sudarshan
6.7
Database System Concepts - 6th Edition
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
 Example: to find all courses taught in the Fall 2009 semester, but
not in the Spring 2010 semester
course_id ( semester=“Fall” Λ year=2009 (section)) −
course_id ( semester=“Spring” Λ year=2010 (section))
©Silberschatz, Korth and Sudarshan
6.8
Database System Concepts - 6th Edition
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)
©Silberschatz, Korth and Sudarshan
6.9
Database System Concepts - 6th Edition
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.
©Silberschatz, Korth and Sudarshan
6.10
Database System Concepts - 6th Edition
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
returns the result of expression E under the name X, and with the
attributes renamed to A1 , A2 , …., An .
)
(
)
,...,
2
,
1
( E
n
A
A
A
x

©Silberschatz, Korth and Sudarshan
6.11
Database System Concepts - 6th Edition
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
©Silberschatz, Korth and Sudarshan
6.12
Database System Concepts - 6th Edition
Tuple Relational Calculus
©Silberschatz, Korth and Sudarshan
6.13
Database System Concepts - 6th Edition
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
©Silberschatz, Korth and Sudarshan
6.14
Database System Concepts - 6th Edition
Predicate Calculus Formula
1. Set of attributes and constants
2. Set of comparison operators: (e.g., , , , , , )
3. Set of connectives: and (), or (v)‚ not ()
4. Implication (): x  y, if x if true, then y is true
x  y x v y
5. Set of quantifiers:
  t  r (Q (t ))  ”there exists” a tuple in t in relation r
such that predicate Q (t ) is true
 t r (Q (t )) Q is true “for all” tuples t in relation r
©Silberschatz, Korth and Sudarshan
6.15
Database System Concepts - 6th Edition
Example Queries
 Find the ID, name, dept_name, salary for instructors whose salary
is greater than $80,000
 As in the previous query, but output only the ID attribute value
{t |  s instructor (t [ID ] = s [ID ]  s [salary ]  80000)}
{t | t  instructor  t [salary ]  80000}
Notice that a relation on schema (ID) is implicitly defined by
the query
Notice that a relation on schema (ID, name, dept_name, salary) is
implicitly defined by the query
©Silberschatz, Korth and Sudarshan
6.16
Database System Concepts - 6th Edition
Example Queries
 Find the names of all instructors whose department is in the Watson
building
{t | s  section (t [course_id ] = s [course_id ] 
s [semester] = “Fall”  s [year] = 2009
v u  section (t [course_id ] = u [course_id ] 
u [semester] = “Spring”  u [year] = 2010 )}
 Find the set of all courses taught in the Fall 2009 semester, or in
the Spring 2010 semester, or both
{t | s  instructor (t [name ] = s [name ]
 u  department (u [dept_name ] = s[dept_name] “
 u [building] = “Watson” ))}
©Silberschatz, Korth and Sudarshan
6.17
Database System Concepts - 6th Edition
Example Queries
{t | s  section (t [course_id ] = s [course_id ] 
s [semester] = “Fall”  s [year] = 2009
 u  section (t [course_id ] = u [course_id ] 
u [semester] = “Spring”  u [year] = 2010 )}
 Find the set of all courses taught in the Fall 2009 semester, and in
the Spring 2010 semester
{t | s  section (t [course_id ] = s [course_id ] 
s [semester] = “Fall”  s [year] = 2009
  u  section (t [course_id ] = u [course_id ] 
u [semester] = “Spring”  u [year] = 2010 )}
 Find the set of all courses taught in the Fall 2009 semester, but not in
the Spring 2010 semester
©Silberschatz, Korth and Sudarshan
6.18
Database System Concepts - 6th Edition
Universal Quantification
 Find those students who have taken all courses offered in the
Biology department
 {t |  r  student (t [ID] = r [ID]) 
( u  course (u [dept_name]=“Biology” 
 s  takes (t [ID] = s [ID ] 
s [course_id] = u [course_id]))}
©Silberschatz, Korth and Sudarshan
6.19
Database System Concepts - 6th Edition
Safety of Expressions
 It is possible to write tuple calculus expressions that generate
infinite relations.
 For example, { t |  t r } results in an infinite relation if the domain
of any attribute of relation r is infinite
 To guard against the problem, we restrict the set of allowable
expressions to safe expressions.
 An expression {t | P (t )} in the tuple relational calculus is safe if
every component of t appears in one of the relations, tuples, or
constants that appear in P
 NOTE: this is more than just a syntax condition.
 E.g. { t | t [A] = 5  true } is not safe --- it defines an infinite
set with attribute values that do not appear in any relation or
tuples or constants in P.
©Silberschatz, Korth and Sudarshan
6.20
Database System Concepts - 6th Edition
Safety of Expressions (Cont.)
 Consider again that query to find all students who have taken
all courses offered in the Biology department
 {t |  r  student (t [ID] = r [ID]) 
( u  course (u [dept_name]=“Biology” 
 s  takes (t [ID] = s [ID ] 
s [course_id] = u [course_id]))}
 Without the existential quantification on student, the above
query would be unsafe if the Biology department has not
offered any courses.
©Silberschatz, Korth and Sudarshan
6.21
Database System Concepts - 6th Edition
Domain Relational Calculus
©Silberschatz, Korth and Sudarshan
6.22
Database System Concepts - 6th Edition
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
©Silberschatz, Korth and Sudarshan
6.23
Database System Concepts - 6th Edition
Example Queries
 Find the ID, name, dept_name, salary for instructors whose salary is
greater than $80,000
 {< i, n, d, s> | < i, n, d, s>  instructor  s  80000}
 As in the previous query, but output only the ID attribute value
 {< i> | < i, n, d, s>  instructor  s  80000}
 Find the names of all instructors whose department is in the Watson
building
{< n > |  i, d, s (< i, n, d, s >  instructor
  b, a (< d, b, a>  department  b = “Watson” ))}
©Silberschatz, Korth and Sudarshan
6.24
Database System Concepts - 6th Edition
Example Queries
{<c> |  a, s, y, b, r, t ( <c, a, s, y, b, r, t >  section 
s = “Fall”  y = 2009 )
v  a, s, y, b, r, t ( <c, a, s, y, b, r, t >  section ] 
s = “Spring”  y = 2010)}
 Find the set of all courses taught in the Fall 2009 semester, or in
the Spring 2010 semester, or both
This case can also be written as
{<c> |  a, s, y, b, r, t ( <c, a, s, y, b, r, t >  section 
( (s = “Fall”  y = 2009 ) v (s = “Spring”  y = 2010))}
 Find the set of all courses taught in the Fall 2009 semester, and in
the Spring 2010 semester
{<c> |  a, s, y, b, r, t ( <c, a, s, y, b, r, t >  section 
s = “Fall”  y = 2009 )
  a, s, y, b, r, t ( <c, a, s, y, b, r, t >  section ] 
s = “Spring”  y = 2010)}
©Silberschatz, Korth and Sudarshan
6.25
Database System Concepts - 6th Edition
Safety of Expressions
The expression:
{  x1, x2, …, xn  | P (x1, x2, …, xn )}
is safe if all of the following hold:
1. All values that appear in tuples of the expression are values
from dom (P ) (that is, the values appear either in P or in a tuple of a
relation mentioned in P ).
2. For every “there exists” subformula of the form  x (P1(x )), the
subformula is true if and only if there is a value of x in dom (P1)
such that P1(x ) is true.
3. For every “for all” subformula of the form x (P1 (x )), the subformula is
true if and only if P1(x ) is true for all values x from dom (P1).
©Silberschatz, Korth and Sudarshan
6.26
Database System Concepts - 6th Edition
Universal Quantification
 Find all students who have taken all courses offered in the Biology
department
 {< i > |  n, d, tc ( < i, n, d, tc >  student 
( ci, ti, dn, cr ( < ci, ti, dn, cr >  course  dn =“Biology”
  si, se, y, g ( <i, ci, si, se, y, g>  takes ))}
 Note that without the existential quantification on student, the
above query would be unsafe if the Biology department has not
offered any courses.
Database System Concepts, 6th Ed.
©Silberschatz, Korth and Sudarshan
See www.db-book.com for conditions on re-use
End of Chapter 6

More Related Content

Similar to ch6.ppt

ch3.ppt
ch3.pptch3.ppt
ch3.ppt
pradnyamulay
 
ch3.ppt
ch3.pptch3.ppt
Ch 3.pdf
Ch 3.pdfCh 3.pdf
Database System Concepts, 6th Ed.©Silberschatz, Korth and .docx
Database System Concepts, 6th Ed.©Silberschatz, Korth and .docxDatabase System Concepts, 6th Ed.©Silberschatz, Korth and .docx
Database System Concepts, 6th Ed.©Silberschatz, Korth and .docx
randyburney60861
 
Database systems-Formal relational query languages
Database systems-Formal relational query languagesDatabase systems-Formal relational query languages
Database systems-Formal relational query languages
jamunaashok
 
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybbjhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
WrushabhShirsat3
 
ch2.ppt
ch2.pptch2.ppt
ch3.ppt
ch3.pptch3.ppt
ch3.ppt
Ashwini Rao
 
Relational Model
Relational ModelRelational Model
Relational Model
alifmuhammad35
 
03 Relational Databases.ppt
03 Relational Databases.ppt03 Relational Databases.ppt
03 Relational Databases.ppt
Amitpatil226799
 
Relational database concept
Relational database conceptRelational database concept
Relational database concept
fikirabc
 
Sql.pptx
Sql.pptxSql.pptx
Sql.pptx
TanishaKochak
 
DBMS_INTRODUCTION OF SQL
DBMS_INTRODUCTION OF SQLDBMS_INTRODUCTION OF SQL
DBMS_INTRODUCTION OF SQL
Azizul Mamun
 
Ch3
Ch3Ch3
Ch14
Ch14Ch14
Ch5
Ch5Ch5
Ch 2.pdf
Ch 2.pdfCh 2.pdf
Functional dependency.pptx
Functional dependency.pptxFunctional dependency.pptx
Functional dependency.pptx
ssuser7e9b941
 
Ch3
Ch3Ch3
Ch3 a
Ch3 aCh3 a

Similar to ch6.ppt (20)

ch3.ppt
ch3.pptch3.ppt
ch3.ppt
 
ch3.ppt
ch3.pptch3.ppt
ch3.ppt
 
Ch 3.pdf
Ch 3.pdfCh 3.pdf
Ch 3.pdf
 
Database System Concepts, 6th Ed.©Silberschatz, Korth and .docx
Database System Concepts, 6th Ed.©Silberschatz, Korth and .docxDatabase System Concepts, 6th Ed.©Silberschatz, Korth and .docx
Database System Concepts, 6th Ed.©Silberschatz, Korth and .docx
 
Database systems-Formal relational query languages
Database systems-Formal relational query languagesDatabase systems-Formal relational query languages
Database systems-Formal relational query languages
 
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybbjhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
ch3.ppt
ch3.pptch3.ppt
ch3.ppt
 
Relational Model
Relational ModelRelational Model
Relational Model
 
03 Relational Databases.ppt
03 Relational Databases.ppt03 Relational Databases.ppt
03 Relational Databases.ppt
 
Relational database concept
Relational database conceptRelational database concept
Relational database concept
 
Sql.pptx
Sql.pptxSql.pptx
Sql.pptx
 
DBMS_INTRODUCTION OF SQL
DBMS_INTRODUCTION OF SQLDBMS_INTRODUCTION OF SQL
DBMS_INTRODUCTION OF SQL
 
Ch3
Ch3Ch3
Ch3
 
Ch14
Ch14Ch14
Ch14
 
Ch5
Ch5Ch5
Ch5
 
Ch 2.pdf
Ch 2.pdfCh 2.pdf
Ch 2.pdf
 
Functional dependency.pptx
Functional dependency.pptxFunctional dependency.pptx
Functional dependency.pptx
 
Ch3
Ch3Ch3
Ch3
 
Ch3 a
Ch3 aCh3 a
Ch3 a
 

Recently uploaded

1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
MadhavJungKarki
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
ijaia
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
bjmsejournal
 
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
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
RamonNovais6
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
aryanpankaj78
 
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
PIMR BHOPAL
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
bijceesjournal
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
PriyankaKilaniya
 
morris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdfmorris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdf
ycwu0509
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
AjmalKhan50578
 
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
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
CVCSOfficial
 

Recently uploaded (20)

1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
Design and optimization of ion propulsion drone
Design and optimization of ion propulsion droneDesign and optimization of ion propulsion drone
Design and optimization of ion propulsion drone
 
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
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
 
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
VARIABLE FREQUENCY DRIVE. VFDs are widely used in industrial applications for...
 
Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...Rainfall intensity duration frequency curve statistical analysis and modeling...
Rainfall intensity duration frequency curve statistical analysis and modeling...
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
 
morris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdfmorris_worm_intro_and_source_code_analysis_.pdf
morris_worm_intro_and_source_code_analysis_.pdf
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
Welding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdfWelding Metallurgy Ferrous Materials.pdf
Welding Metallurgy Ferrous Materials.pdf
 
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
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
 

ch6.ppt

  • 1. Database System Concepts, 6th Ed. ©Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use Chapter 6: Formal Relational Query Languages
  • 2. ©Silberschatz, Korth and Sudarshan 6.2 Database System Concepts - 6th Edition Outline  Relational Algebra  Tuple Relational Calculus  Domain Relational Calculus
  • 3. ©Silberschatz, Korth and Sudarshan 6.3 Database System Concepts - 6th Edition Relational Algebra  Procedural language  Six basic operators  select:   project:   union:   set difference: –  Cartesian product: x  rename:   The operators take one or two relations as inputs and produce a new relation as a result.
  • 4. ©Silberschatz, Korth and Sudarshan 6.4 Database System Concepts - 6th Edition 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:  dept_name=“Physics”(instructor)
  • 5. ©Silberschatz, Korth and Sudarshan 6.5 Database System Concepts - 6th Edition Project Operation  Notation: 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  Example: To eliminate the dept_name attribute of instructor ID, name, salary (instructor) ) ( , , 2 , 1 r k A A A  
  • 6. ©Silberschatz, Korth and Sudarshan 6.6 Database System Concepts - 6th Edition 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 (example: 2nd column of r deals with the same type of values as does the 2nd column of s)  Example: to find all courses taught in the Fall 2009 semester, or in the Spring 2010 semester, or in both course_id ( semester=“Fall” Λ year=2009 (section))  course_id ( semester=“Spring” Λ year=2010 (section))
  • 7. ©Silberschatz, Korth and Sudarshan 6.7 Database System Concepts - 6th Edition 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  Example: to find all courses taught in the Fall 2009 semester, but not in the Spring 2010 semester course_id ( semester=“Fall” Λ year=2009 (section)) − course_id ( semester=“Spring” Λ year=2010 (section))
  • 8. ©Silberschatz, Korth and Sudarshan 6.8 Database System Concepts - 6th Edition 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)
  • 9. ©Silberschatz, Korth and Sudarshan 6.9 Database System Concepts - 6th Edition 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.
  • 10. ©Silberschatz, Korth and Sudarshan 6.10 Database System Concepts - 6th Edition 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 returns the result of expression E under the name X, and with the attributes renamed to A1 , A2 , …., An . ) ( ) ,..., 2 , 1 ( E n A A A x 
  • 11. ©Silberschatz, Korth and Sudarshan 6.11 Database System Concepts - 6th Edition 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
  • 12. ©Silberschatz, Korth and Sudarshan 6.12 Database System Concepts - 6th Edition Tuple Relational Calculus
  • 13. ©Silberschatz, Korth and Sudarshan 6.13 Database System Concepts - 6th Edition 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
  • 14. ©Silberschatz, Korth and Sudarshan 6.14 Database System Concepts - 6th Edition Predicate Calculus Formula 1. Set of attributes and constants 2. Set of comparison operators: (e.g., , , , , , ) 3. Set of connectives: and (), or (v)‚ not () 4. Implication (): x  y, if x if true, then y is true x  y x v y 5. Set of quantifiers:   t  r (Q (t ))  ”there exists” a tuple in t in relation r such that predicate Q (t ) is true  t r (Q (t )) Q is true “for all” tuples t in relation r
  • 15. ©Silberschatz, Korth and Sudarshan 6.15 Database System Concepts - 6th Edition Example Queries  Find the ID, name, dept_name, salary for instructors whose salary is greater than $80,000  As in the previous query, but output only the ID attribute value {t |  s instructor (t [ID ] = s [ID ]  s [salary ]  80000)} {t | t  instructor  t [salary ]  80000} Notice that a relation on schema (ID) is implicitly defined by the query Notice that a relation on schema (ID, name, dept_name, salary) is implicitly defined by the query
  • 16. ©Silberschatz, Korth and Sudarshan 6.16 Database System Concepts - 6th Edition Example Queries  Find the names of all instructors whose department is in the Watson building {t | s  section (t [course_id ] = s [course_id ]  s [semester] = “Fall”  s [year] = 2009 v u  section (t [course_id ] = u [course_id ]  u [semester] = “Spring”  u [year] = 2010 )}  Find the set of all courses taught in the Fall 2009 semester, or in the Spring 2010 semester, or both {t | s  instructor (t [name ] = s [name ]  u  department (u [dept_name ] = s[dept_name] “  u [building] = “Watson” ))}
  • 17. ©Silberschatz, Korth and Sudarshan 6.17 Database System Concepts - 6th Edition Example Queries {t | s  section (t [course_id ] = s [course_id ]  s [semester] = “Fall”  s [year] = 2009  u  section (t [course_id ] = u [course_id ]  u [semester] = “Spring”  u [year] = 2010 )}  Find the set of all courses taught in the Fall 2009 semester, and in the Spring 2010 semester {t | s  section (t [course_id ] = s [course_id ]  s [semester] = “Fall”  s [year] = 2009   u  section (t [course_id ] = u [course_id ]  u [semester] = “Spring”  u [year] = 2010 )}  Find the set of all courses taught in the Fall 2009 semester, but not in the Spring 2010 semester
  • 18. ©Silberschatz, Korth and Sudarshan 6.18 Database System Concepts - 6th Edition Universal Quantification  Find those students who have taken all courses offered in the Biology department  {t |  r  student (t [ID] = r [ID])  ( u  course (u [dept_name]=“Biology”   s  takes (t [ID] = s [ID ]  s [course_id] = u [course_id]))}
  • 19. ©Silberschatz, Korth and Sudarshan 6.19 Database System Concepts - 6th Edition Safety of Expressions  It is possible to write tuple calculus expressions that generate infinite relations.  For example, { t |  t r } results in an infinite relation if the domain of any attribute of relation r is infinite  To guard against the problem, we restrict the set of allowable expressions to safe expressions.  An expression {t | P (t )} in the tuple relational calculus is safe if every component of t appears in one of the relations, tuples, or constants that appear in P  NOTE: this is more than just a syntax condition.  E.g. { t | t [A] = 5  true } is not safe --- it defines an infinite set with attribute values that do not appear in any relation or tuples or constants in P.
  • 20. ©Silberschatz, Korth and Sudarshan 6.20 Database System Concepts - 6th Edition Safety of Expressions (Cont.)  Consider again that query to find all students who have taken all courses offered in the Biology department  {t |  r  student (t [ID] = r [ID])  ( u  course (u [dept_name]=“Biology”   s  takes (t [ID] = s [ID ]  s [course_id] = u [course_id]))}  Without the existential quantification on student, the above query would be unsafe if the Biology department has not offered any courses.
  • 21. ©Silberschatz, Korth and Sudarshan 6.21 Database System Concepts - 6th Edition Domain Relational Calculus
  • 22. ©Silberschatz, Korth and Sudarshan 6.22 Database System Concepts - 6th Edition 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
  • 23. ©Silberschatz, Korth and Sudarshan 6.23 Database System Concepts - 6th Edition Example Queries  Find the ID, name, dept_name, salary for instructors whose salary is greater than $80,000  {< i, n, d, s> | < i, n, d, s>  instructor  s  80000}  As in the previous query, but output only the ID attribute value  {< i> | < i, n, d, s>  instructor  s  80000}  Find the names of all instructors whose department is in the Watson building {< n > |  i, d, s (< i, n, d, s >  instructor   b, a (< d, b, a>  department  b = “Watson” ))}
  • 24. ©Silberschatz, Korth and Sudarshan 6.24 Database System Concepts - 6th Edition Example Queries {<c> |  a, s, y, b, r, t ( <c, a, s, y, b, r, t >  section  s = “Fall”  y = 2009 ) v  a, s, y, b, r, t ( <c, a, s, y, b, r, t >  section ]  s = “Spring”  y = 2010)}  Find the set of all courses taught in the Fall 2009 semester, or in the Spring 2010 semester, or both This case can also be written as {<c> |  a, s, y, b, r, t ( <c, a, s, y, b, r, t >  section  ( (s = “Fall”  y = 2009 ) v (s = “Spring”  y = 2010))}  Find the set of all courses taught in the Fall 2009 semester, and in the Spring 2010 semester {<c> |  a, s, y, b, r, t ( <c, a, s, y, b, r, t >  section  s = “Fall”  y = 2009 )   a, s, y, b, r, t ( <c, a, s, y, b, r, t >  section ]  s = “Spring”  y = 2010)}
  • 25. ©Silberschatz, Korth and Sudarshan 6.25 Database System Concepts - 6th Edition Safety of Expressions The expression: {  x1, x2, …, xn  | P (x1, x2, …, xn )} is safe if all of the following hold: 1. All values that appear in tuples of the expression are values from dom (P ) (that is, the values appear either in P or in a tuple of a relation mentioned in P ). 2. For every “there exists” subformula of the form  x (P1(x )), the subformula is true if and only if there is a value of x in dom (P1) such that P1(x ) is true. 3. For every “for all” subformula of the form x (P1 (x )), the subformula is true if and only if P1(x ) is true for all values x from dom (P1).
  • 26. ©Silberschatz, Korth and Sudarshan 6.26 Database System Concepts - 6th Edition Universal Quantification  Find all students who have taken all courses offered in the Biology department  {< i > |  n, d, tc ( < i, n, d, tc >  student  ( ci, ti, dn, cr ( < ci, ti, dn, cr >  course  dn =“Biology”   si, se, y, g ( <i, ci, si, se, y, g>  takes ))}  Note that without the existential quantification on student, the above query would be unsafe if the Biology department has not offered any courses.
  • 27. Database System Concepts, 6th Ed. ©Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use End of Chapter 6