Download presentation

Presentation is loading. Please wait.

Published byEzra Prebble Modified over 2 years ago

1
1 Problem Session 1 Products and Joins

2
2 Outline uAnnouncements uSynopsis of Last Week uProducts and Joins – formal expressions, examples uProducts and Joins – sample problems uQ&A

3
3 Announcements uMake sure you’re on the CS145 Coursework site by today uGradiance - one due Mon 10/8, two due Wed 10/10 uChallenge Problems #1 due Mon 10/8 wCorrection: #2 – can use union, intersection, difference as well wSubmit directly through Coursework (text in Assignments preferred, though.doc or.pdf in Drop Box acceptable) uAlways email your questions to the staff list!

4
4 Synopsis of Last Week uData model: general conceptual way of structuring data wRelational model = tables (e.g., SQL) wSemistructured model = trees/graphs (e.g., XML) uSchema: structure of a particular relation or database under a certain data model uXML: language for semistructured model. DTD describes the structure. uRelational Algebra: algebra operating on relations. Prelude to SQL. uSQL: select-from-where

5
5 Products and Joins uProduct: R1 X R2 = {(t1, t2) : t1 in R1 and t2 in R2} Theta Join: R1 ⋈ C R2 = σ C (R1 X R2) Natural Join: R1 ⋈ R2 = π schema(R1) SETUNION schema(R2) (R1 ⋈ R1.A=R2.A and R1.B=R2.B and… R2)

6
6 Example: Product R1(A,B ) 12 34 R2(B,C ) 56 48 210 R3(A,R1.B,R2.B,C ) 1256 1248 12210 3456 3448 34210 R3 := R1 X R2

7
7 Example: Theta Join R1(A,B ) 12 34 R2(B,C ) 56 48 210 R3 := R1 ⋈ R1.B=R2.B R2 R3(A,R1.B,R2.B,C ) 1256 1248 12210 3456 3448 34210

8
8 Example: Natural Join R1(A,B ) 12 34 R2(B,C ) 56 48 210 R3 := R1 ⋈ R2 R3(A,R1.B,R2.B,C ) 1256 1248 12210 3456 3448 34210

9
9 Sample Problem #1 Drinkers(name, addr, phone) Likes(drinker, beer) Find names and addresses of all drinkers who like Bud.

10
10 Sample Problem #1 Drinkers(name, addr, phone) Likes(drinker, beer) Find names and addresses of all drinkers who like Bud. Drinkers Likes σ name=drinker σ beer=‘Bud’ π name, addr X uMethod 1: filter, then concatenate uQuestion: how would you write this in SQL? uOne Possible Answer: SELECT name, addr FROM Drinkers, ( SELECT * FROM Likes WHERE beer = ‘Bud’) WHERE name = drinker;

11
11 Sample Problem #1 Drinkers(name, addr, phone) Likes(drinker, beer) Find names and addresses of all drinkers who like Bud. Drinkers Likes σ name=drinker π name, addr X uMethod 2: concatenate, then filter uQuestion: how would you write this in SQL? uOne Possible Answer: SELECT name, addr FROM Drinkers, Likes WHERE name = drinker AND beer = ‘Bud’; AND beer=‘Bud’

12
12 Sample Problem #2 Drinkers(name, addr, phone) Find names of all pairs of drinkers who live at the same address.

13
13 Sample Problem #2 Drinkers(name, addr, phone) Find names of all pairs of drinkers who live at the same address. Drinkers σ name

14
14 Q&A uWhat’s the difference between the relational and semistructured models? wSee first lecture. Basically, relational = rigid tables and semistructured = flexible graphs. uThe semistructured model is supposed to be flexible, but can’t you represent everything in relational algebra if you plan far enough ahead? wWell, in reality there are a lot of things that you can’t possibly plan ahead for, so you need the semistructured model for that.

Similar presentations

OK

Relational Algebra BASIC OPERATIONS 1 DATABASE SYSTEMS AND CONCEPTS, CSCI 3030U, UOIT, COURSE INSTRUCTOR: JAREK SZLICHTA.

Relational Algebra BASIC OPERATIONS 1 DATABASE SYSTEMS AND CONCEPTS, CSCI 3030U, UOIT, COURSE INSTRUCTOR: JAREK SZLICHTA.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on bionics definition Ppt on network devices used in wireless communication Ppt on networking related topics on meteorology Free download ppt on surface chemistry Ppt on social media strategy Seven segment display ppt on tv Ppt on conservation of momentum and energy Ppt on electricity for class 10th roll Ppt on resources utilization and development Ppt on power system restructuring