today collection of unrelated stuff questions? hw –4 -5 & drop lowest –emphasize project...

15
Today • Collection of unrelated stuff • Questions? • HW – 4 -5 & drop lowest – emphasize project • Projects • Functional Dependencies? – Someone asked why: Keys, Normal forms • Relational Algebra/SQL

Upload: leona-osborne

Post on 01-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Today• Collection of unrelated stuff

• Questions?

• HW– 4 -5 & drop lowest– emphasize project

• Projects

• Functional Dependencies?– Someone asked why: Keys, Normal forms

• Relational Algebra/SQL

Page 2: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Projects• SQL Server (more on SQL later)

– Implement Database (in ms visual studio)

• ODBC– Control Panel; Establish data source

• Visual Interdev– Connect to database; make pages; VBScript

• Microsoft Front Page– c:\programfiles\microsoft front page

Page 3: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

How do we get info out of a

Database?

• Customers(CustID ,LastName,FirstName)

• Inventory(TapeID, MovieName)

• Rentals(CustomerID,TapeID,CkoutDate,Duration)

Page 4: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

DBApplications & Theory

• Need a way to grab data interested in– Query

• SQL, VHLL-you’ll need it in your projects

• Relational Algebra- underlying principles– Set of operators to extract info– Doesn’t allow us to form any question we want,

but can construct most that we want– Chapter 4.1

Page 5: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

SQL• Quick example: we’ll see this again• Three basic clauses: SELECT, FROM,

WHERE

SELECT Lastname, MovieName

FROM Customers, Rentals

WHERE Customers.CustId = Rentals.CustomerID and Rentals.Duration > 30

Page 6: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Quick Look: Relational Algebra• Operators: sets as input, new set as output

• Basic Set Operators– union, intersection, difference, but no complement. (watch

comparable sets)

• Selection

• Projection

• Division(not in text)

• Cartesian Product

• Joins, combination of cart product/selection

• Unofficially aggregate functions(not in text)

Page 7: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Set Operations• Binary operations

– Result is table(set) with same attributes

• Sets must be compatible!– R1(A1,A2,A3)&R2(B1,B2,B3)

– Domain(Ai)=Domain(Bi)

• Union: all tuples in R1 or R2

• Intersection: all tuples in R1 and R2

• Difference: all tuples in R1 and not in R2

• No complement… what’s the universe?

Page 8: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Selection

• Grab a subset of the tuples in a relation which satisfy a given condition

• Unary operation… returns set with same attributes, but ‘selects’ rows

• Use and, or, not, >, <… to build condition

• Example

Page 9: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Selection Example

EmployeeSSN Name DepartmentID Salary999999999 John 1 30,000777777777 Tony 1 32,000888888888 Alice 2 45,000

SSN Name DepartmentID Salary888888888 Alice 2 45,000

Page 10: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Projection

• Unary operation, selects columns

• Returned schema is different, so returned tuples are not subset of original set, like they are in selection

• Eliminates duplicate tuples

• Example

Page 11: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Projection Example

EmployeeSSN Name DepartmentID Salary999999999 John 1 30,000777777777 Tony 1 32,000888888888 Alice 2 45,000

SSN Name999999999 John777777777 Tony888888888 Alice

Page 12: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Cartesian Product

• Binary Operation

• Result is tuples combining any element of R1 with any element of R2, for R1XR2

• Schema is union of Schema(R1) & Schema(R2)

• Example

• Notice we could do selection on result to get meaningful info!

Page 13: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Cartesion Product Example

EmployeeName SSNJohn 999999999Tony 777777777

DependentsEmployeeSSN Dname999999999 Emily777777777 Joe

Employee_DependentsName SSN EmployeeSSN DnameJohn 999999999 999999999 EmilyJohn 999999999 777777777 JoeTony 777777777 999999999 EmilyTony 777777777 777777777 Joe

Page 14: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Join• Most often used…

• Combines two relations, selecting only related tuples

• Equivalent to a cross product followed by selection

• Resulting schema has all attributes of the two relations, but one copy of join condition attributes

• Example

Page 15: Today Collection of unrelated stuff Questions? HW –4 -5 & drop lowest –emphasize project Projects Functional Dependencies? –Someone asked why: Keys, Normal

Join Example

EmployeeName SSNJohn 999999999Tony 777777777

DependentsEmployeeSSN Dname999999999 Emily777777777 Joe

Employee_DependentsName SSN DnameJohn 999999999 EmilyTony 777777777 Joe