The Relational Database Model

advertisement
The Relational Database Model
– some relations you might want to avoid!!!
Our HERO!!!
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
Logical View of Data
• 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
Table Characteristics
• 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
Keys
• One or more attributes that
determine other attributes
• Key attribute
• Composite key
• Full functional dependence
• Entity integrity
• Uniqueness
• No ‘null’ value in key
6
Keys
Superkey
Uniquely identifies each entity
Candidate key
Minimal superkey
Primary key
Candidate key to uniquely identify all other
attributes in a given row – used to uniquely
identify each record
Secondary key
Used only for data retrieval
Foreign key
Values must match primary key in another
table
7
Example Tables
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
Simple Relational
Database
Figure 2.2
10
Integrity Rules
• 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
Relationships within
Relational Database
• Relationship classifications
• 1:1
• 1:M
• M:N
• E-R Model
• ERD Maps E-R model
• Chen
• Crow’s Feet
12
ERD Symbols
• 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
Car
1
Infinity
Steering
Wheel
Car
1
Crow’s
Feet
Steering
1 Wheel
1
Car
1
1
Steering
Wheel
18
Comparison of Modeling
Techniques 1:M relationship
Chen
Car
1 M
Infinity
Car
1
Crow’s
Feet
Car
∞
Tire
Tire
Tire
1
19
Example 1:M Relationship
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
Class
Class
N Student
∞ ∞
Student
Student
21
Example M:N Relationship
Figure 2.24
22
Data Redundancy Revisited
• Foreign keys can reduce redundancy
• Some redundancy is desirable
• Called controlled redundancy
• Speed
• Information requirements
23
Indexes
• Points to location
• Makes retrieval of data faster
Figure 2.31
24
Download