Relational Model (cont d) & Entity Relational Model Lecture 2
Relational Database Operators Relational algebra Defines theoretical way of manipulating table contents using relational operators: SELECT PROJECT JOIN INTERSECT UNION DIFFERENCE PRODUCT Use of relational algebra operators on existing tables (relations) produces new relations 2
Relational Algebra Operators Union: Combines all rows from two tables, excluding duplicate rows Tables must have the same attribute characteristics Intersect: Yields only the rows that appear in both tables 3
Union 4
Intersect 5
Relational Algebra Operators Difference Yields all rows in one table not found in the other table that is, it subtracts one table from the other 6
Venn Diagrams for Traditional Set Operators Union Intersection Differences 7
Product: Yields all possible pairs of rows from two tables 8
Relational Algebra Operators Select Yields values for all rows found in a table Can be used to list either all row values or it can yield only those row values that match a specified criterion Yields a horizontal subset of a table Project Yields all values for selected attributes Yields a vertical subset of a table 9
Select 10
Project 11
Join Relational Algebra Operators Allows us to combine information from two or more tables Real power behind the relational database, allowing the use of independent tables linked by common attributes 12
Natural Join Process Links tables by selecting rows with common values in common attribute(s) Three-stage process Product creates one table Select yields appropriate rows Project yields single copy of each attribute to eliminate duplicate columns 13
Natural Join Final outcome yields table that Does not include unmatched pairs Provides only copies of matches If no match is made between the table rows, no rows will be produced in the resultant table the new table does not include the unmatched row 14
Entity Relationship (ER) Model ER model forms the basis of an ER diagram ERD represents the conceptual database as viewed by end user ERDs depict the ER model s three main components: Entities Attributes Relationships 16
Entities Refers to the entity set and not to a single entity occurrence Corresponds to a table and not to a row in the relational environment In both the Chen and Crow s Foot models, an entity is represented by a rectangle containing the entity s name Entity name, a noun, is usually written in capital letters 17
Attributes Characteristics of entities Domain is set of possible values Primary keys underlined 18
Examples EMPLOYEE (EMPLOYEE _ID, EMPLOYEE _NAME, ADDRESS, DATE-EMPLOYED) EMPLOYEE _NAME EMPLOYEE _ID EMPLOYEE ADDRESS DATE- EMPLOYED EMPLOYEE EMPLOYEE _ID EMPLOYEE _NAME ADDRESS DATE-EMPLOYED 19
Simple Cannot be subdivided Age, sex, marital status Composite Can be subdivided into additional attributes Address into street, city, zip Single-valued Can have only a single value Person has one social security number Attributes Multi-valued Can have many values Person may have several college degrees In the Chen E-R model, the multivalued attributes are shown by a double line connecting the attributes to the entity Derived Can be derived with algorithm Age can be derived from date of birth Versus stored attribute 20
An attribute broken into component parts Attributes Address Street_Address City State Post_Code 21
Attributes Entity with a multivalued attribute (Skill) and derived attribute (Years_Employed) Employee_ID Employee_Name Address Years_Employed EMPLOYEE Skills Date_Employed 22
How to Deal with Multivalued Attributes With the original entity, create several new attributes, one for each of the original multivalued attribute s components. Create a new entity composed of the original multivalued attribute s components. 23
An Example Mod_code Car_Year Car_Vin CAR Car_Color 24
Relationships Association between entities Connected entities are called participants Operate in both directions Connectivity describes relationship classification 1:1, 1:M, M:N Cardinality Expresses number of entity occurrences associated with one occurrence of related entity 27
ERD Symbols Rectangles represent entities Diamonds represent the relationship(s) between the entities 1 side of relationship Number 1 in Chen Model Bar crossing line in Crow s Feet Model Many relationships Letter M and N in Chen Model Three pronged Crow s foot in Crow s Feet Model 28
Connectivity and Cardinality in an ERD (1,1) (1,4) (1,1) (1,4) 29
Relationship Strength Existence dependence Entity s existence depends on existence of related entities Weak entity Existence-independent entities can exist apart from related entities Strong entity or regular entity EMPLOYEE claims DEPENDENT (a mandatory foreign key) Weak (non-identifying) relation PK of related entity doesn t contain PK component of parent entity Strong (identifying) relation PK of related entity contains PK component of parent entity 30
Weak Entity Existence-dependent on another entity Foreign keys should be on many side (1,1) (0,N) Mandatory foreign keys from parent entity 31
Weak Relationship
Strong Relationship
Optional Relationship Participation Entity occurrence does not require a corresponding occurrence in related entity Shown by drawing a small circle on side of optional entity on ERD Mandatory Entity occurrence requires corresponding occurrence in related entity If no optionality symbol is shown on ERD, it is mandatory 34
Relationship Types Indicates number of associated entities Unary Single entity Exists between occurrences of same entity set Binary Two entities associated Most common To simplify the conceptual design, most higher-order relationships are decomposed into appropriate equivalent relationships when possible Ternary Three entities associated 35
Three Types of Relationships 36
Recursive Relationship Definition: A relationship can exist between occurrences of the same entity set 1 1 PERSON 1 M EMPLOYEE is married to manages 37
Composite Entities Also known as bridge entities Composed of the primary keys of each of the entities to be connected May also contain additional attributes that play no role in the connective process 38
A Composite Entity in an ERD (1,1) (0,N) (0,N) (1,1) 39
Example M:N Relationship 40
Converting M:N Relationship to Two 1:M Relationships 41
ERD design steps General narrative description of operations Identify entities from description Locate relationships among entities If many to many, create bridge entity Repeat above 3 steps until completion
An Example 1 M M 1 STORE ORDER PRODUCT employs M 1 EMPLOYEE claims M DEPENDENT 43
Comparison of E-R Modeling Symbols 44
Developing an E-R Diagram Iterative Process Step1: General narrative of organizational operations developed Step2: Basic E-R Model graphically depicted and reviewed Step3: Modifications made to incorporate newly discovered E-R components Repeat process until designers and users agree E-R Diagram complete 45
Example Create an ERD using the following business rules: A company operates four departments Each department employs employees Each of the employees may or may not have one or more dependents Each employee may or may not have an employment history 46
Exercise Design an E-R diagram for a real estate firm that lists property for sale. The firm has a number of sales offices in several states. Each sales office is assigned one or more employees. Attributes of employees include ID and name. An employee must be assigned to only one sales office. For each sales office, there is always one employee assigned to manage that office. An employee may manage only the sales office to which he is assigned. The firm lists property for sale. Attributes of property include ID and location. Components of location include address, city, state, and Zip_code. Each unit of property must be listed with at least one of the sales offices. A sales office may have any number of properties listed, or may have no properties listed. Each unit of property has one or more owners. An owner may own one or more units of property. An attribute of the relationship between property and owner is Percent_Owned. 47