Top Banner
The Relational Database Model – some relations you might want to avoid!!!
24

The Relational Database Model – some relations you might want to avoid!!!

Dec 17, 2015

Download

Documents

Malcolm Andrews
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Relational Database Model – some relations you might want to avoid!!!

The Relational Database Model– some relations you might want to avoid!!!

Page 2: The Relational Database Model – some relations you might want to avoid!!!

2

Our HERO!!!

Page 3: The Relational Database Model – some relations you might want to avoid!!!

3

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

Page 4: The Relational Database Model – some relations you might want to avoid!!!

4

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

Page 5: The Relational Database Model – some relations you might want to avoid!!!

5

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

Page 6: The Relational Database Model – some relations you might want to avoid!!!

6

Keys• One or more attributes that

determine other attributes• Key attribute• Composite key

• Full functional dependence• Entity integrity

• Uniqueness• No ‘null’ value in key

Page 7: The Relational Database Model – some relations you might want to avoid!!!

7

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

Page 8: The Relational Database Model – some relations you might want to avoid!!!

8

Example Tables

Figure 2.1

Page 9: The Relational Database Model – some relations you might want to avoid!!!

9

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

Page 10: The Relational Database Model – some relations you might want to avoid!!!

10

Simple Relational Database

Figure 2.2

Page 11: The Relational Database Model – some relations you might want to avoid!!!

11

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

Page 12: The Relational Database Model – some relations you might want to avoid!!!

12

Relationships within Relational Database

• Relationship classifications• 1:1• 1:M• M:N

• E-R Model • ERD Maps E-R model• Chen• Crow’s Feet

Page 13: The Relational Database Model – some relations you might want to avoid!!!

13

ERD SymbolsERD 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

Page 14: The Relational Database Model – some relations you might want to avoid!!!

14

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

Page 15: The Relational Database Model – some relations you might want to avoid!!!

15

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

Page 16: The Relational Database Model – some relations you might want to avoid!!!

16

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.

Page 17: The Relational Database Model – some relations you might want to avoid!!!

17

Relationship Resolution M:N1. 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.

Page 18: The Relational Database Model – some relations you might want to avoid!!!

18

Comparison of Modeling Techniques 1:1 relationship

Chen

Infinity

Crow’s Feet

Car SteeringWheel

1 1

Car SteeringWheel

1 1

Car SteeringWheel1 1

Page 19: The Relational Database Model – some relations you might want to avoid!!!

19

Comparison of Modeling Techniques 1:M relationship

Chen

Infinity

Crow’s Feet

Car Tire

1 ∞Car Tire

1

Car Tire1 M

Page 20: The Relational Database Model – some relations you might want to avoid!!!

20

Example 1:M Relationship

Figure 2.20

Page 21: The Relational Database Model – some relations you might want to avoid!!!

21

Comparison of Modeling Techniques M:N relationship (yes it seems it should be M:M but…)

Chen

Infinity

Crow’s Feet Class Student

∞Class Student

Class StudentM

N

Page 22: The Relational Database Model – some relations you might want to avoid!!!

22

Example M:N Relationship

Figure 2.24

Page 23: The Relational Database Model – some relations you might want to avoid!!!

23

Data Redundancy Revisited• Foreign keys can reduce redundancy• Some redundancy is desirable

• Called controlled redundancy• Speed• Information requirements

Page 24: The Relational Database Model – some relations you might want to avoid!!!

24

• Points to location• Makes retrieval of data faster

Indexes

Figure 2.31