Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 405G: Introduction to Database Systems

Similar presentations


Presentation on theme: "CS 405G: Introduction to Database Systems"— Presentation transcript:

1 CS 405G: Introduction to Database Systems
Relations 1

2 Topics Next Case study on ER Model Conversion of ER models to Schemas
Reading Assignment Chapter 5.1, 5.2 10/28/2019 10/28/2019 2 2 2

3 ER Case study Design a database representing cities, counties, and states For states, record name and capital (city) For counties, record name, area, and location (state) For cities, record name, population, and location (county and state) Assume the following: Names of states are unique Names of counties are only unique within a state Names of cities are only unique within a county A city is always located in a single county A county is always located in a single state 10/28/2019 10/28/2019 3 3

4 Case study : first design
County area information is repeated for every city in the county Redundancy is bad. What else? State capital should really be a city Should “reference” entities through explicit relationships name name In Cities States population capital county_name county_area 10/28/2019 10/28/2019 4 4 4

5 Case study : second design
Technically, nothing in this design could prevent a city in state X from being the capital of another state Y, but oh well… name Cities population In IsCapitalOf name In Counties States name area 10/28/2019 10/28/2019 5 5 5

6 Review A data model is a group of concepts for describing data. What are the two terms used by ER model to describe a miniworld? Entity Relationship What makes a good database design Student (sid: string, name: string, login: string, age: integer, gpa:real) 10/28/2019 10/28/2019 6 6 6

7 Database Design 10/28/2019 10/28/2019 7 7 7

8 A Relation is a Table name manf Winterbrew Pete’s Bud Lite Anheuser-Busch Beers Attributes (column headers) Tuples (rows)

9 Schemas Relation schema = relation name + attributes, in order (+ types of attributes). Example: Beers(name, manf) or Beers(name: string, manf: string) Database = collection of relations. Database schema = set of all relation schemas in the database.

10 Why Relations? Very simple model.
Often matches how we think about data. Abstract model that underlies SQL, the most important database language today. But SQL uses bags, while the relational model is a set-based model.

11 From E/R Diagrams to Relations
Entity sets become relations with the same set of attributes. Relationships become relations whose attributes are only: The keys of the connected entity sets. Attributes of the relationship itself.

12 Entity Set -> Relation
Relation: Beers(name, manf) name manf Beers

13 Relationship -> Relation
name name addr manf Drinkers Likes Likes(drinker, beer) Beers Married husband wife Married(husband, wife) Buddies 1 2 Buddies(name1, name2) Favorite Favorite(drinker, beer)

14 Combining Relations It is OK to combine the relation for an entity-set E with the relation R for a many-one relationship from E to another entity set. Example: Drinkers(name, addr) and Favorite(drinker, beer) combine to make Drinker1(name, addr, favBeer).

15 Risk with Many-Many Relationships
Combining Drinkers with Likes would be a mistake. It leads to redundancy, as: name addr beer Sally 123 Maple Bud Sally 123 Maple Miller Redundancy

16 Handling Weak Entity Sets
Relation for a weak entity set must include attributes for its complete key (including those belonging to other entity sets), as well as its own, nonkey attributes. A supporting (double-diamond) relationship is redundant and yields no relation.

17 Example name name Logins At Hosts time

18 Example name name Logins At Hosts time Hosts(hostName)
Logins(loginName, hostName, time) At(loginName, hostName, hostName2) At becomes part of Logins Must be the same

19 A (Slightly) Formal Definition
A database is a collection of relations (or tables) Each relation is identified by a name and a list of attributes (or columns) Each attribute has a name and a domain (or type) Set-valued attributes not allowed 19 19 19

20 Schema versus instance
Schema (metadata) Specification of how data is to be structured logically Defined at set-up Rarely changes Instance Content Changes rapidly, but always conforms to the schema Compare to type and objects of type in a programming language 10/28/2019 10/28/2019 20 20 20

21 Example Schema Instance
Student (SID integer, name string, age integer, GPA float) Course (CID string, title string) Enroll (SID integer, CID integer) Instance { h142, Bart, 10, 2.3i, h123, Milhouse, 10, 3.1i, ...} { hCPS116, Intro. to Database Systemsi, ...} { h142, CPS116i, h142, CPS114i, ...} 10/28/2019 10/28/2019 21 21 21


Download ppt "CS 405G: Introduction to Database Systems"

Similar presentations


Ads by Google