Advanced Database Management Systems
Database Management Systems Alvaro A A Fernandes
School of Computer Science, University of Manchester
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 1 / 144
Advanced Database Management Systems Database Management Systems - - PowerPoint PPT Presentation
Advanced Database Management Systems Database Management Systems Alvaro A A Fernandes School of Computer Science, University of Manchester AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 1 / 144 Outline Database Management Systems:
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 1 / 144
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 2 / 144
DBMSs Defined
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 3 / 144
DBMSs Defined
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 4 / 144
DBMSs Defined
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 5 / 144
DBMSs Defined
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 6 / 144
DBMSs Defined
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 7 / 144
DBMSs Defined
CREATE TABLE Employee (id CHAR(3),name VARCHAR(30),branch VARCHAR(10))
INSERT INTO Employee VALUES (’123’,’Jane’,’Manchester’) INSERT INTO Employee VALUES (’456’,’John’,’Edinburgh’)
SELECT id FROM Employee WHERE branch = ’Manchester’
CREATE VIEW ManchesterEmployees AS SELECT id FROM Employee WHERE branch = ’Manchester’ AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 8 / 144
DBMS Languages
◮ DDL statements update the stored metadata schema-level concepts
◮ DML statements update the database, i.e., change (equivalently, cause
◮ DQL expressions do not have side-effects, and correspond to (pure)
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 9 / 144
DBMS Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 10 / 144
DBMS Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 11 / 144
DBMS Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 12 / 144
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 13 / 144
The Classical Case
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 14 / 144
The Classical Case
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 15 / 144
The Classical Case
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 16 / 144
The Classical Case
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 17 / 144
The Classical Case
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 18 / 144
The Classical Case
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 19 / 144
Strengths and Weaknesses
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 20 / 144
Strengths and Weaknesses
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 21 / 144
Strengths and Weaknesses
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 22 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 23 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 24 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 25 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 26 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 27 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 28 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 29 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 30 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 31 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 32 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 33 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 34 / 144
Variations
◮ modern functional and non-functional application requirements ◮ the availability of advanced computing and networking infrastructures
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 35 / 144
Variations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 36 / 144
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 37 / 144
Relational Model
◮ one single, collection-valued, domain-independent type
◮ a very constrained system of first-order logic with both a model- and a
◮ gives rise to (formally equivalent) declarative and procedural languages,
◮ underlies SQL ◮ possible to implement efficiently ◮ has been so implemented many times
◮ often accommodates useful extensions AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 38 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 39 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 40 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 41 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 42 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 43 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 44 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 45 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 46 / 144
Relational Databases
◮ appears as the primary key in another relation ◮ can be used to refer to tuples in that other relation ◮ by acting like a logical pointer ◮ it expresses a relationship between two entities
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 47 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 48 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 49 / 144
Relational Databases
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 50 / 144
Relational Query Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 51 / 144
Relational Query Languages
◮ the definition of a pair of query languages, one declarative and one
◮ being given a formal semantics that ◮ allows their equivalence to be proved ◮ the mapping from one to other to be formalized ◮ with closure properties (i.e., any expression evaluates to an output of
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 52 / 144
Relational Query Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 53 / 144
Relational Query Languages
◮ the domain relational calculus (DRC) ◮ the tuple relational calculus (TRC) ◮ the relational algebra (RA)
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 54 / 144
Relational Query Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 55 / 144
Relational Query Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 56 / 144
Relational Query Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 57 / 144
Relational Query Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 58 / 144
Relational Query Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 59 / 144
Relational Query Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 60 / 144
Relational Query Languages
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 61 / 144
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 62 / 144
Preliminaries
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 63 / 144
Example Relation Instances
Sailors (sid: integer, sname: string, rating: integer, age: real) Boats (bid: integer, bname: string, colour: string) Reservations (sid: integer, bid: integer, day: date) AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 64 / 144
Example Relation Instances
S1 = sid sname rating age 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 S2 = sid sname rating age 28 yuppy 9 35.0 31 lubber 8 55.5 44 guppy 5 35.0 58 rusty 10 35.0 R1 = sid bid day 22 101 10/10/96 58 103 12/11/96 AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 65 / 144
Primitive and Derived Operations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 66 / 144
Primitive and Derived Operations
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 67 / 144
Extensions
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 68 / 144
Extensions
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 69 / 144
Definitions
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 70 / 144
Definitions
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 71 / 144
Definitions
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 72 / 144
Definitions
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 73 / 144
Definitions
sid1 sname rating age sid2 bid day 22 dustin 7 45.0 22 101 10/10/96 22 dustin 7 45.0 58 103 12/11/96 31 lubber 8 55.5 22 101 10/10/96 31 lubber 8 55.5 58 103 12/11/96 58 rusty 10 35.0 22 101 10/10/96 58 rusty 10 35.0 58 103 12/11/96 AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 74 / 144
Definitions
sid1 sname rating age sid2 bid day 22 dustin 7 45.0 58 103 12/11/96 31 lubber 8 55.5 58 103 12/11/96 AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 75 / 144
Definitions
sid sname rating age bid day 22 dustin 7 45.0 101 10/10/96 58 rusty 10 35.0 103 12/11/96 AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 76 / 144
Definitions
A = sno pno s1 p1 s1 p2 s1 p3 s1 p4 s2 p1 s2 p2 s3 p2 s4 p2 s4 p4
B1 = pno p2 B2 = pno p2 p4 B3 = pno p1 p2 p4
A ÷ B1 = sno s1 s2 s3 s4 A ÷ B2 = sno s1 s4 A ÷ B3 = sno s1 AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 77 / 144
Definitions
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 78 / 144
Definitions
◮ T1 ← πR−S(r) × s computes the Cartesian product of πR−S(r) and s
◮ T2 ← πR−S,S(r) merely reorders the attributes of r in preparation for
◮ T3 ← πR−S(T1 − T2) only retains those tuples t ∈ πR−S(r) such that
◮ r ÷ s ← πR−S(r) − T3 only retains those tuples t ∈ πR−S(r) such that
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 79 / 144
Definitions
πsname,rating∗3(S2) = sname rating yuppy 27 lubber 24 guppy 15 rusty 30 πsname,rating∗3→triplerating (S2) ≡ ρ2→triplerating (πsname,rating∗3(S2)) = sname triplerating yuppy 27 lubber 24 guppy 15 rusty 30 AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 80 / 144
Definitions
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 81 / 144
Examples
S3 = sid sname rating age 22 dustin 7 45.0 29 brutus 1 33.0 31 lubber 8 55.5 32 andy 8 25.5 58 rusty 10 35.0 64 horatio 7 35.0 71 zorba 10 16.0 74 horatio 9 35.0 85 art 3 25.5 95 bob 3 63.5
R2 = sid bid day 22 101 10/10/98 22 102 10/10/98 22 103 08/10/98 22 104 07/10/98 31 102 10/11/98 31 103 06/11/98 31 104 12/11/98 64 101 05/09/98 64 102 08/09/98 64 103 08/09/98 B1 = bid bname colour 101 interlake blue 102 interlake red 103 clipper green 104 marine red AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 82 / 144
Examples
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 83 / 144
Examples
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 84 / 144
Examples
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 85 / 144
Examples
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 86 / 144
Examples
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 87 / 144
Examples
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 88 / 144
Examples
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 89 / 144
Examples
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 90 / 144
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 91 / 144
Example Relation Instances Again
S1 = sid sname rating age 22 dustin 7 45.0 31 lubber 8 55.5 58 rusty 10 35.0 S2 = sid sname rating age 28 yuppy 9 35.0 31 lubber 8 55.5 44 guppy 5 35.0 58 rusty 10 35.0 R1 = sid bid day 22 101 10/10/96 58 103 12/11/96 AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 92 / 144
Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 93 / 144
Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 94 / 144
Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 95 / 144
Syntax and Semantics
SELECT S.sname FROM Sailors S, Reservations R WHERE S.sid = R.sid AND R.bid = 103
Assume the database state contains {S1, R1}. Then, in Step 1, S1 × R1 = sid1 sname rating age sid2 bid day 22 dustin 7 45.0 22 101 10/10/96 22 dustin 7 45.0 58 103 12/11/96 31 lubber 8 55.5 22 101 10/10/96 31 lubber 8 55.5 58 103 12/11/96 58 rusty 10 35.0 22 101 10/10/96 58 rusty 10 35.0 58 103 12/11/96 In Step 2, σS.sid=R.sid∧R.bid=103(S1 × R1) sid1 sname rating age sid2 bid day 58 rusty 10 35.0 58 103 12/11/96 In Step 3, πsname(σS.sid=R.sid∧R.bid=103(S1 × R1)) sname rusty No DISTINCT implies no Step 4. AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 96 / 144
Syntax and Semantics
SELECT S.sid FROM Sailors S, Reservations R WHERE S.sid = R.sid
Assume the database state contains {S1, R1}. Then, Step 1, S1 × R1 produces the same results as in the previous example. In Step 2, σS.sid=R.sid (S1 × R1) sid1 sname rating age sid2 bid day 22 dustin 7 45.0 22 101 10/10/96 58 rusty 10 35.0 58 103 12/11/96 In Step 3, πsid (σS.sid=R.sid (S1 × R1)) sid 22 58 No DISTINCT implies no Step 4. AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 97 / 144
Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 98 / 144
Example SQL Queries
S3 = sid sname rating age 22 dustin 7 45.0 29 brutus 1 33.0 31 lubber 8 55.5 32 andy 8 25.5 58 rusty 10 35.0 64 horatio 7 35.0 71 zorba 10 16.0 74 horatio 9 35.0 85 art 3 25.5 95 bob 3 63.5
R2 = sid bid day 22 101 10/10/98 22 102 10/10/98 22 103 08/10/98 22 104 07/10/98 31 102 10/11/98 31 103 06/11/98 31 104 12/11/98 64 101 05/09/98 64 102 08/09/98 64 103 08/09/98 B1 = bid bname colour 101 interlake blue 102 interlake red 103 clipper green 104 marine red AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 99 / 144
Example SQL Queries
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 100 / 144
Example SQL Queries
Either: SELECT S.sid FROM Sailors S, Boats B, Reservations R WHERE S.sid = R.sid AND R.bid = B.bid AND (B.colour = ’red’ OR B.colour = ’green’) Or: SELECT S1.sid FROM Sailors S1, Boats B1, Reservations R1 WHERE S1.sid = R1.sid AND R1.bid = B1.bid AND B1.colour = ’red’ UNION SELECT S2.sid FROM Sailors S2, Boats B2, Reservations R2 WHERE S2.sid = R2.sid AND R2.bid = B2.bid AND B2.colour = ’green’
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 101 / 144
Example SQL Queries
Contrast this query: SELECT S.sid FROM Sailors S, Boats B, Reservations R WHERE S.sid = R.sid AND R.bid = B.bid AND (B.colour = ’red’ AND B.colour = ’green’) with this one: SELECT S.sid FROM Sailors S, Boats B, Reservations R WHERE S.sid = R.sid AND R.bid = B.bid AND B.colour = ’red’ INTERSECT SELECT S.sid FROM Sailors S, Boats B, Reservations R WHERE S.sid = R.sid AND R.bid = B.bid AND B.colour = ’green’ and this one: SELECT S.sid FROM Sailors S, Boats B1, Reservations R1, Boats B2, Reservations R2, WHERE S.sid = R1.sid AND S.sid=R2.Sid AND R1.bid = B1.bid AND R2.Bid = B2.Bid AND (B1.colour = ’red’ AND B2.colour = ’green’) AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 102 / 144
More Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 103 / 144
More Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 104 / 144
More Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 105 / 144
More Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 106 / 144
More Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 107 / 144
More Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 108 / 144
More Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 109 / 144
More Syntax and Semantics
SELECT S.rating, MIN(S.age) AS minage FROM Sailors S WHERE S.age >= 18 GROUP BY S.rating HAVING COUNT(*) >= 2 Assume the database state contains {S3}. Then, in Step 1, S3 = sid sname rating age 22 dustin 7 45.0 29 brutus 1 33.0 31 lubber 8 55.5 32 andy 8 25.5 58 rusty 10 35.0 64 horatio 7 35.0 71 zorba 10 16.0 74 horatio 9 35.0 85 art 3 25.5 95 bob 3 63.5
After Steps 2 and 3, we have: rating age 7 45.0 1 33.0 8 55.5 8 25.5 10 35.0 7 35.0 9 35.0 3 25.5 3 63.5 AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 110 / 144
More Syntax and Semantics
After Step 4, we have: rating age 1 33.0 3 25.5 3 63.5 7 45.0 7 35.0 8 55.5 8 25.5 9 35.0 10 35.0
After Step 5, we have: rating age 3 25.5 3 63.5 7 45.0 7 35.0 8 55.5 8 25.5 After Steps 6 and 7, we have: rating minage 3 25.5 7 35.0 8 25.5 AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 111 / 144
More Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 112 / 144
More Syntax and Semantics
◮ Special operators are needed to check if value is/is not null. ◮ Is rating > 8 true or false when rating is equal to null? What about
◮ We need a 3-valued logic (true, false and unknown). ◮ The meaning of many constructs must be defined carefully (e.g.,
◮ New operators (in particular, outer joins) become possible and are
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 113 / 144
More Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 114 / 144
More Syntax and Semantics
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 115 / 144
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 116 / 144
Query Processing in a Nutshell
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 117 / 144
Query Processing in a Nutshell
Flights (fltno: string, from: string, to: string, dep: date, arr: date) UsedFor (planeid:string, fltid: string, weekday: string) Usable (flid:string, pltype: string) Certified (pilid:string, planetype: string) AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 118 / 144
Query Processing in a Nutshell
πU.planeid,F.from(σF.fltno=U.fltid (Flights × UsedFor)) AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 119 / 144
Query Processing in a Nutshell
πU.planeid,F.from(σF.fltno=U.fltid (Flights × UsedFor)) AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 120 / 144
Query Processing in a Nutshell
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 121 / 144
Query Processing in a Nutshell
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 122 / 144
Query Processing in a Nutshell
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 123 / 144
Query Processing in a Nutshell
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 124 / 144
Query Processing in a Nutshell
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 125 / 144
Equivalence-Based Rewriting of Logical QEPs
◮ to break down complex predicates in selections and long attribute lists
◮ to move selections (which are cardinality-reducing) and projections
◮ to enable entire subtrees to be implemented by a single efficient
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 126 / 144
Equivalence-Based Rewriting of Logical QEPs
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 127 / 144
Equivalence-Based Rewriting of Logical QEPs
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 128 / 144
Equivalence-Based Rewriting of Logical QEPs
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 129 / 144
Equivalence-Based Rewriting of Logical QEPs
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 130 / 144
Equivalence-Based Rewriting of Logical QEPs
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 131 / 144
Equivalence-Based Rewriting of Logical QEPs
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 132 / 144
Equivalence-Based Rewriting of Logical QEPs
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 133 / 144
Equivalence-Based Rewriting of Logical QEPs
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 134 / 144
Equivalence-Based Rewriting of Logical QEPs
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 135 / 144
Rewriting
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 136 / 144
Rewriting
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 137 / 144
Rewriting
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 138 / 144
Rewriting
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 139 / 144
Rewriting
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 140 / 144
Rewriting
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 141 / 144
Rewriting
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 142 / 144
Rewriting
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 143 / 144
Rewriting
AAAF (School of CS, Manchester) Advanced DBMSs 2011-2012 144 / 144