Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
07.01 relational algebra
1.
2. Relational Algebra Operations
Basic operations
◦ Selection ( )
Selects a subset of rows from relation.
◦ Projection ( )
Deletes unwanted columns from relation.
◦ Cartesian product ( )
Combine two relations.
◦ Set-difference ( )
Tuples in relation 1, but not in relation 2.
◦ Union ( )
Tuples in relation 1 or in relation 2.
3. Select Operator
5
Produce table containing subset of rows of argument
table satisfying condition
condition (relation)
Person
SELECT * FROM Person WHERE Hobby='stamps';
Id Name Address Hobby
1123 Anita Damauli stamps
1123 Anita Damauli coins
5556 Binod
Kathmand
u
hiking
9876 Barsha
Kathmand
u
stamps
Id Name Address Hobby
1123 Anita Damauli stamps
9876 Barsha
Kathmand
u
stamps
Hobby=‘stamps’(Person)
5. Selection Condition -
Examples
Id>3000 OR Hobby=‘hiking’ (Person)
SELECT * FROM Person WHERE Person.Hobby='hiking' OR Person.ID>3000;
Id>3000 AND Id <5999 (Person)
SELECT * FROM Person WHERE Person.ID>3000 AND Person.ID<5999;
NOT(Hobby=‘hiking’) (Person)
SELECT * FROM Person WHERE Not (Person.Hobby)="hiking";
Hobby‘hiking’ (Person)
7
6. 8
Project Operator
Produces table containing subset of
columns of argument table
attribute list(relation)
Person
Id Name Address Hobby
1123 Anita Damauli stamps
1123 Anita Damauli coins
5556 Binod
Kathmand
u
hiking
9876 Barsha
Kathmand
u
stamps
Name Hobby
Anita stamps
Anita coins
Binod hiking
Barsha stamps
Name,Hobby (Person)
SELECT Name, Hobby FROM Person;
7. 9
Project Operator
Result is a table (no duplicates);
can have fewer tuples than the original
• Example:
Person
Id Name Address Hobby
1123 Anita Damauli stamps
1123 Anita Damauli coins
5556 Binod
Kathmand
u
hiking
9876 Barsha
Kathmand
u
stamps
Name Address
Anita Damauli
Binod
Kathmand
u
Barsha
Kathmand
u
Name,Address(Person)
SELECT Person.PName, Person.Address FROM
Person;
8. 10
Expressions
Person Result
Id, Name ( Hobby=’stamps’ OR Hobby=’coins’ (Person) )
Id Name Address Hobby
1123 Anita Damauli stamps
1123 Anita Damauli coins
5556 Binod
Kathmand
u
hiking
9876 Barsha
Kathmand
u
stamps
Id Name
1123 Anita
9876 Barsha