Relational Databases - PowerPoint PPT Presentation

About This Presentation
Title:

Relational Databases

Description:

Relational Databases CPSC 315 Programming Studio Slides adapted from those used by Jeffrey Ullman, via Jennifer Welch, via Yoonsuck Choe ... – PowerPoint PPT presentation

Number of Views:167
Avg rating:3.0/5.0
Slides: 23
Provided by: Johnan46
Category:

less

Transcript and Presenter's Notes

Title: Relational Databases


1
Relational Databases
CPSC 315 Programming Studio
Slides adapted from those used by Jeffrey Ullman,
via Jennifer Welch, via Yoonsuck Choe
2
Relational Data Model
  • Relations are stored in tables
  • e.g. Sponsor(Senator,Bill)

Atrributes
Sponsor Sponsor
Senator Bill
Smith Tax
Jones Defense
Smith Defense
Adams Commerce
Tuples
3
Schemas
  • A relation schema is a relation name and a list
    of attributes
  • Sponsor(Senator,Bill)
  • A database is a collection of relations
  • A database schema is the set of all the relation
    schemas in the database

4
Converting from Entity-Relationship Model
  • ER Entity set -gt relation
  • ER Attributes become Relational attributes
  • ER Relationship -gt relation
  • Keys of connected ER entity sets become
    Relational attributes

5
ER Entity Sets
Name
Party
Organization
Senator
Lobbyist
State
Name
Years
Bill
Name
Text
6
Relations
  • Senator(Name,Party,State,Years)
  • Bill(Name,Text)
  • Lobbyist(Name,Organization)

7
ER Relationships
Name
Contributed
Party
Organization
Senator
Lobbyist
State
Sponsored
Name
Years
Wrote
Bill
Name
Text
8
Relations
  • Sponsored(Senator,Bill)
  • Wrote(Bill,Lobbyist)
  • Contributed(Senator,Lobbyist)
  • Remember, each of these is expressed as a table
    (with the columns given by the parameters)
  • Notice that columns can refer to bigger items,
    with even more attributes

9
Combining Relations
  • Relations can sometimes be combined.
  • Assume a base entity set with its relation.
  • If there is a many-to-one relation, that can be
    combined with the base entity set.
  • Should not combine many-to-many
  • Redundancy each of the many stored

10
Combining Relations
  • Example (many-to-one) (Good)
  • Person(Name, Birthdate, Height, Weight, Eye
    Color, Hair Color)
  • BornIn(Person,Town)
  • Person(Name, Birthdate, Height, Weight, Eye
    Color, Hair Color, Town)
  • Example(many-to-many) (Bad)
  • Senator(Name, Party, State, Years)
  • Sponsored(Senator, Bill)
  • Senator(Name, Party, State, Years, Bill)

11
Weak Entity Sets
  • The relation for a weak entity set must contain
    all the elements of its key
  • Supporting relationships are usually redundant
    (unless possibly multi-way)

12
Weak Entity Set Example
First Name
Last Name
Number
Note arrrow indicates many to one.
Baseball Player
Position
Birthdate
Plays On
Team
Nationality
Salary
Name
City
13
Weak Entity Set Example
  • Team(Name, City)
  • Baseball Player(Number, TeamName, First Name,
    Last Name, Position, Birthdate, Nationality,
    Salary)

14
Weak Entity Set Example
  • Team(Name, City)
  • Baseball Player(Number, TeamName, First Name,
    Last Name, Position, Birthdate, Nationality,
    Salary)
  • Note that we dont need PlaysOn(BaseballPlayer.Num
    ber, BaseballPlayer.TeamName, Team.Name)

15
Weak Entity Set Example
  • Team(Name, City)
  • Baseball Player(Number, TeamName, First Name,
    Last Name, Position, Birthdate, Nationality,
    Salary)
  • Note that we dont need PlaysOn(BaseballPlayer.Num
    ber, BaseballPlayer.TeamName, Team.Name)

Redundant (same)
16
Weak Entity Set Example
  • Team(Name, City)
  • Baseball Player(Number, TeamName, First Name,
    Last Name, Position, Birthdate, Nationality,
    Salary)
  • Note that we dont need PlaysOn(BaseballPlayer.Num
    ber, BaseballPlayer.Team.Name)

17
Weak Entity Set Example
  • Team(Name, City)
  • Baseball Player(Number, TeamName, First Name,
    Last Name, Position, Birthdate, Nationality,
    Salary)
  • Note that we dont need PlaysOn(BaseballPlayer.Num
    ber, BaseballPlayer.Team.Name)

Already Included
18
SubclassesDifferent Options
  • Different ways to represent subclasses

Name
Elected Official
Party
isa
U.S. Representative
District
19
Object-Oriented Style
  • One relation for each subset, including all
    inherited attributes

Elected Official Elected Official
Name Party
Chet Edwards Democrat
John Cornyn Republican
John Adams Federalist
Ron Paul Republican
U.S. Representative U.S. Representative U.S. Representative
Name Party District
Chet Edwards Democrat 17
Ron Paul Republican 14
20
Entity-Relationship Style
  • One relation for each subclass (including key)

Elected Official Elected Official
Name Party
Chet Edwards Democrat
John Cornyn Republican
John Adams Federalist
Ron Paul Republican
U.S. Representative U.S. Representative
Name District
Chet Edwards 17
Ron Paul 14
21
Using Nulls Style
  • One relation total, with nulls for unknown
    information
  • Can save space, but problematic if multiple
    subclasses or lots of NULLs

U.S. Representative U.S. Representative U.S. Representative
Name Party District
Chet Edwards Democrat 17
John Cornyn Republican NULL
John Adams Federalist NULL
Ron Paul Republican 14
22
Keys
  • A Key functionally determines all other
    attributes of the relation
  • Given a relation and a key, there is only one
    tuple that corresponds to it
  • There are subtle differences from an E-R key,
    which we wont go into.
Write a Comment
User Comments (0)
About PowerShow.com