Session 3 Welcome: To session 3-the second learning sequence “ Relational algebra “ Recap : In the previous learning sequences, we discussed the relational model. Present learning: We shall explore the following topics: - Relational algebra. - Some operators.
Relational Algebra
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 Four basic operators select project union Intersection The operators take one 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)
Select Operation – Example Account
Select Operation – Example The result is the relation: Account-number Branch-name balance A-102 Perryridge 400 7
Select Operation – Example Balance >“700” (account) Account-number Branch-name balance A-201 Brighton 900 A-217 750 8
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
Project Operation E.g. To eliminate the branch-name attribute of account account-number, balance (account) The result relation is:
Project Operation Account-number Balance A-101 500 A102 400 A-201 900 700 A-217 750 A-222 A-305 350 11
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)
Union Operation E.g. to find all customers with either an account or a loan customer-name (depositor) customer-name (borrower) Customer-name Account-no. Ali A-101 Mahmood A-201 Ahmid A-217 Linda A-222 Rana A-305 Customer-name Loan-no. Ali L-11 Kasim Ahmid L-25 Linda Rana L-34 depositor borrower
Union Operation Customer-name Ali Mahmood Ahmid Linda Rana …. customer-name (depositor) customer-name (borrower) Customer-name Ali Mahmood Ahmid Linda Rana …. Customer-name Ali Kasim Ahmid Linda Rana …..
Union Operation Customer-name Ali Mahmood Ahmid Linda Rana Kasim The result relation is: Customer-name Ali Mahmood Ahmid Linda Rana Kasim
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)
Intersection Operation E.g. to find all customers with an account and a loan customer-name (depositor) customer-name (borrower) Customer-name Account-no. Ali A-101 Mahmood A-201 Ahmid A-217 Linda A-222 Rana A-305 Customer-name Loan-no. Ali L-11 Kasim Ahmid L-25 Linda Rana L-34 depositor borrower
Intersection Operation customer-name (depositor) customer-name (borrower) Customer-name Ali Mahmood Ahmid Linda Rana …. Customer-name Ali Kasim Ahmid Linda Rana …..
Intersection Operation The result relation is: Customer-name Ali Ahmid Linda Rana
Relational Algebra Summary: In this learning sequence, we discussed Four basic operators of the topic relational algebra.
END