The Relational Database Model
– some relations you might want to avoid!!!
2
Logical vs.
Physical
• Relational Database
• Designer focuses on logical representation rather than physical
• Use of table advantageous
• Structural and data independence
• Related records stored in independent tables
• Logical simplicity
• Allows for more effective design strategies
3
• Entities and Attributes
• Entity is a person, place, event, or thing about which data is collected
• Attributes are characteristics of the entity
• Tables
• Holds related entities or entity set
• Also called relations
• Comprised of rows and columns
4
• Two-dimensional structure with rows and columns
• Rows (tuples) represent single entity
• Columns represent attributes
• Row/column intersection represents single value
• Tables must have an attribute to uniquely identify each row
• Column values all have same data format
• Each column has range of values called attribute domain
• Order of the rows and columns is immaterial to the DBMS
5
• One or more attributes that determine other attributes
• Key attribute
• Composite key
• Full functional dependence
• Entity integrity
• Uniqueness
• No ‘null’ value in key
6
Superkey
Candidate key
Primary key
Secondary key
Foreign key
Uniquely identifies each entity
Minimal superkey
Candidate key to uniquely identify all other attributes in a given row – used to uniquely identify each record
Used only for data retrieval
Values must match primary key in another table
7
Figure 2.1
8
Comparison Operators …
A and B - Intersect
A OR B –UNION: all of A (including yellow, gray and purple) all of
B (including aqua, and purple and gray)
C and B
9
Figure 2.2
10
• Entity integrity
• Ensures all entities are unique
• Each entity has unique key
• Referential integrity
• Foreign key must have null value or match primary key values
• Makes it impossible to delete row whose primary key has mandatory matching foreign key values in another table
11
• Relationship classifications
• 1:1
• 1:M
• M:N
• E-R Model
• ERD Maps E-R model
• Chen
• Crow’s Feet
12
• Rectangles represent 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
13
Define Relationship
• Determine relationship using this terminology: (i.e. relationship between student and dorm rooms)
• 1 of A is related to X (1 or many) of B
• i.e. 1 student is assigned to 1 dorm room
• 1 of B is related to X (1 or many) of A
• i.e. 1 dorm room is assigned to many students
• The decision will be as follows:
• 1:1
• 1 of A is related to 1 of B
• 1 of B is related to 1 of A
• 1:M
• 1 of A is related to many of B
• 1 of B is related to 1 of A
• M:N
• 1 of A is related to many of B
• 1 of B is related to many of A
14
Relationship Resolution 1 to 1 (1:1)
• Assumed that the entity is just another attribute for that table.
• Add entity as another attribute to existing table
15
Relationship Resolution 1 to Many
(1:M)
• The primary key of the one side is duplicated as the foreign key on the many side .
• RULE!!!! foreign key ALWAYS goes on Many side.
• Names of the primary key and the foreign key do not need to match - only the data type needs to be the same.
• Of course, the values of the data stored in the field must match as well or there can not be a join.
16
Relationship Resolution M:N
1. Resolve the M:N relationship into two 1:M relationships
• Create an associative entity (AKA composite entity or bridge entity) with primary keys (PK) of two entities as foreign keys
(FK)
• Associative entity is many side of both 1:M relationships.
• FK ALWAYS goes on many side of relationship ->
Associative entity ALWAYS many side of the relationship
2. If combination of 2 FKs unique, can use as PK of the associative entity.
• In this case, since PK be composed of 2 PKs, called composite key.
3. If combination of 2 FKs NOT unique, leave 2 FKs in associative entity. Create new PK for associative entity.
17
Comparison of Modeling
Techniques 1:1 relationship
Chen
Infinity
Crow’s
Feet
Car
Car
Car
1 1
Steering
Wheel
Steering
Wheel
1 1
1 1
Steering
Wheel
18
Comparison of Modeling
Techniques 1:M relationship
Chen
Infinity
Crow’s
Feet
Car Tire
1 M
Car
1
∞
Tire
Car
1
Tire
19
Figure 2.20
20
Comparison of Modeling
Techniques M:N relationship (yes it seems it should be M:M but…)
Chen
Infinity
Crow’s
Feet
Class
M N Student
Class ∞ ∞
Student
Class Student
21
Figure 2.24
22
• Foreign keys can reduce redundancy
• Some redundancy is desirable
• Called controlled redundancy
• Speed
• Information requirements
23
• Points to location
• Makes retrieval of data faster
Figure 2.31
24