Download presentation
Presentation is loading. Please wait.
1
From ER Diagrams to the Relational Model Rose-Hulman Institute of Technology Curt Clifton
2
Review – Entity Sets and Attributes Entity set: collection of “things” in the DB Attribute: property of an entity Soda name calories
3
Kinds of Attributes Simple – single atomic value Soda name, calories Composite – several sub-attributes PersonName(First,Middle,Last) Multi-valued – set of values for one attribute Car color, Degrees earned (Somewhat rare, makes some searches harder)
4
Review – Keys Let us tell entities apart The key for an entity set is a subset of the attributes for that entity set, such that no two entities agree on all the attributes Soda name calories
5
Review – Relationships Associate 2 or more entity sets Constraints Maximums shown with numbers Read like: a subject-verb-number-object Participation shown with double line Read like: a subject-has to-verb… PersonSoda Most Likes N 1
6
ER Design Techniques Avoid redundancy and don’t duplicate data Don’t use entity set when attribute will do Limit use of weak entity sets
7
N 1 Redundancy Wastes space Leads to inconsistency For example: Soda name manf Manf name addr Made by
8
Failed Attempt At Fix Soda name manfManf addr Delete Manf entity set Add address to Soda
9
Successful Fix Eliminate manf attribute from Soda Use relationship to find manufacturer info. N 1 Soda name Manf name addr Made by
10
Don’t Use Unnecessary Entity Sets Entity set should… Have at least one non-key attribute OR Be the “many” in a many-one or many-many relationship N 1 Soda name Manf name addr Made by
11
Bad Entity Set Suppose we didn’t have manufacturer address N 1 Soda name Manf name Made by
12
Avoid Weak Entity Sets Don’t try to be too clever Can usually just add a unique ID Government has done this for their databases: Social Security Numbers Vehicle Identification Numbers But… Don’t trust uniqueness of IDs assigned by others
13
Why Use Weak Entity Sets At All? Federated Databases, for example… All students in Indiana receiving state aid All players on FIFA soccer teams One query sent to multiple DB Still want a Conceptual DB Schema But no global authority to assign unique IDs
14
The Relational Model Originated as theoretical idea “A Relational Model of Data for Large Shared Data Banks”, E. F. Codd, Comm. of the ACM, 13(6), June 1970 http://www.acm.org/classics/nov95/s1p3.html Revolutionized databases Led to 1981 ACM Turing Award The “Nobel Prize of computing”
15
Relations (Semi-) Formally Tuple: an ordered list n-tuple: an ordered list of length n Relation: a set of n-tuples Informally: Relation: a table with unique rows Rows = tuples; Columns = attributes; Values in column = domain Database: a collection of relations
16
Some Other Terms Relation schema Describes a relation RelationName (AttrName1, AttrName2,…) Or RelationName (AttrName1:type, …) Database schema Set of all the relation schema for the DB’s relations
17
Why is the Relational Model Dominant? Very simple – just one data structure Matches a “list the items” mentality Easy to manipulate tables with UI Forms basic foundation for SQL Relational model based on sets SQL based on bags (a.k.a., multi-sets)
18
From ER Diagrams to Relations Entity sets become relations Columns are attributes of entity set Relationships also become relations Columns are keys of participating entity sets
19
Example: Basic Entity Sets Soda name calories Customer name addr
20
Example: Basic Relationship Soda name calories Likes Most Likes Customer name addr Buddy With 1 Naming buddy Named buddy since
21
Simplifying! Can avoid relations for many-one relationships Just add key of the one to the relation of the many Soda Most Likes Customer 1 name addr name calories
22
Over Simplifying! What happens if we try to eliminate relation for a many-many relationship? Consider treating Likes as we did Most Likes Redundancy Data loss
23
Weak Entity Sets Need enough columns to make rows unique! So… All attributes of weak entity set + Key from supporting relationship Player Team Plays on name number 1 city
24
Entity Sets with Subclasses Use nulls, or Use multiple relations “ER Style” How should we choose which to use? Soda namecalories Diet Soda sweetener isa
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.