L2 Relations
L2 Relations
Attribute
names
Terms:
● Tables • Relations
● Columns • Attributes
● Rows • Tuples
● Schema (e.g.: Acct_Schema = (bname, acct_no,
balance))
CSCI1270, Fall 2008, Lecture 2
Mathematical
relations
Given sets: R = {1, 2, 3}, S = {3, 4}
● R S = { (1, 3), (1, 4), (2, 3), (2, 4), (3, 3), (3, 4) }
● A relation on R, S is any subset () of R S (e.g: { (1, 4), (3, 4)})
Database
Given attribute domains
relations
Branches = { Downtown, Brighton, … }
Accounts = { A-101, A-201, A-217, … }
Balances = R – real numbers
Account Branches Accounts Balances
{ (Downtown, A-101, 500),
(Brighton, A-201, 900),
(Brighton, A-217, 500) }
CSCI1270, Fall 2008, Lecture 2
bname acct_no balance
Downtown A-101 500
Account =
Brighton A-201 900
Brighton A-217 500
Depositor
cname acct_no Borrower
cname lno
Customer
cname cstreet ccity
Loan
bname lno amt
Act as Integrity
i.e., guard against illegal/invalid instance of given
Constraints
schema
e.g., Branch
bname = (bname, assets
bcity bcity, assets)
Brighton Brooklyn 5M
Brighton Boston 3M
Invalid!!
●Closure Property
Relatio
n Relational Relatio
n Relational
Operator Operator
Relatio
n
2. Complex
○ predicate AND predicate
○ predicate OR predicate
○ NOT predicate
Idea
: Select rows from a relation based on a
predicate
bcity
bcity (σassets > 5M (branch))
Brooklyn
= Horseneck
Example:
cname
Johnson
(cname (depositor)) (cname (borrower)) = Smith
Depositor Borrower Hayes
cname acct_no cname lno Turner
Jones
Lindsay
Jackson
Curry
Williams
Adams
Example:
( bname (σamount ≥ 1000 (loan))) – (bname (σ balance < 800 (account)))
Loan Account
Example:
( bname (σamount ≥ 1000 (loan))) – (bname (σ balance < 800 (account)))
bname lno amount
=
bname acct_no balance
bname
Downtown L-17 1000 Mianus A-215 700
Downtown
Redwood L-23 –
2000 Brighton A-201 900
Perry L-15 1500 Redwood
=
A-222 700
Perry
Use:
massage relations to make , – valid, or more readable
5. Project on lno
T2 • depositor T1
T3 • σcname = cname2 (T2)
Result
Above sequence • π cname (ρ,
of operators (T3,
) σ) very
common.
Motivates additional (redundant) RA operators.
r s
deposito borrower
r
≡
πcname,acct_no,lno (σcname=cname2 (depositor ρt(cname2,lno) (borrower)))
5 that: i 3 ≤ 17
Relational
A B
Division α 1
α 23 B A
α 1 1 α
=
β 1 2 δ
γ 3
s t
γ 4
γ 6
γ 1 The largest value of t such
δ 2 that:
δ
r (tsr)
CSCI1270, Fall 2008, Lecture 2
A More Complex Example
A B C D E
α a α a 1
α a γ a 1 A B C
D E
α a γ b 1 = α ?a γ
β a γ a 1 a 1
γ a γ
β a γ b 3 b 1
γ a γ a 1 s t
γ a γ b 1
γ a β b 1
r
7
7
3
10
sum-C
g sum(c) (r) 27
=
bname lno amt cname
loan borrower = Downtown L-170 3000 Jones
Redwood L-230 4000 Smith