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

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

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

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

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 N Student

Class ∞ ∞

Student

Class 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