File - Malak AL

Download Report

Transcript File - Malak AL

Database Systems:
Design, Implementation, and
Management
Ninth Edition
Chapter 4
The Relational Model Charactristics
Objectives
• In this chapter, students will learn:
– That the relational database model offers a
logical view of data
– About the relational model’s basic component:
relations
– That relations are logical constructs composed
of rows (tuples) and columns (attributes)
– That relations are implemented as tables in a
relational DBMS
Database Systems, 9th Edition
2
Objectives (cont’d.)
– About relational database operators, the data
dictionary, and the system catalog
– How data redundancy is handled in the
relational database model
– Why indexing is important
Database Systems, 9th Edition
3
A Logical View of Data
• Relational model
– View data logically rather than physically
• Table
– Structural and data independence
– Resembles a file conceptually
• Relational database model is easier to
understand than hierarchical and network
models
Database Systems, 9th Edition
4
Tables and Their Characteristics
• Logical view of relational database is based on
relation
– Relation thought of as a table
• Table: two-dimensional structure composed of
rows and columns
– Persistent representation of logical relation
• Contains group of related entity occurrences
(entity set)
Database Systems, 9th Edition
5
Database Systems, 9th Edition
6
Database Systems, 9th Edition
7
Keys
• Each row in a table must be uniquely
identifiable
• Key is one or more attributes that determine
other attributes
• Key’s role is based on determination
– If you know the value of attribute A, you can
determine the value of attribute B
• Functional dependence
– Attribute B is functionally dependent on A if
each value in column A determines one and
only one value in column B
Database Systems, 9th Edition
8
Database Systems, 9th Edition
9
Keys (cont’d.)
• Composite key
– Any determinant Composed of more than one
attribute
• Key attribute
– Any attribute that is part of a key
• Candidate key
– Any determinant that determines ALL other
attributes in the relation ( table )
Database Systems, 9th Edition
10
Keys (cont’d.)
• Nulls
– No data entry at all .It does not mean zero or space
– Not permitted in primary key to maintain entity
integrity
– Should be avoided in other attributes
– If they are used improperly they Can represent:
• An unknown attribute value
• A known, but missing, attribute value
• A “not applicable” condition
Database Systems, 9th Edition
11
Keys (cont’d.)
• Nulls (cont’d.)
– Can create problems when functions such as
COUNT, AVERAGE, and SUM are used
– Can create logical problems when relational tables
are linked
Database Systems, 9th Edition
12
Keys (cont’d.)
• Controlled redundancy makes the relational
database work
• Tables within the database share common
attributes that enables them to be linked
together
– Multiple occurrences of values not redundant
when required to make the relationship work
– Redundancy exists only when there is
unnecessary duplication of attribute values
Database Systems, 9th Edition
13
Database Systems, 9th Edition
14
Keys (cont’d.)
• Foreign key (FK)
– An attribute whose values match primary key
values in the related table
• Secondary key
– Key used strictly for data retrieval purposes
Database Systems, 9th Edition
15
Database Systems, 9th Edition
16
Integrity Rules
• Many RDBMs enforce integrity rules
automatically but t is much safer to ensure that
application design conforms to integrity rules
We have 2 integrity rules :
1) Entity integrity :
ALL primary key values must be unique and does not
contain null values
2) Referential integrity:
FK values should refer to an existing valid tuple ( raw ) in
another relation ( table )
Database Systems, 9th Edition
17
Database Systems, 9th Edition
18
Database Systems, 9th Edition
19
• Designers use flags to avoid nulls
Flags indicate absence of some value
Database Systems, 9th Edition
20
Relational Set Operators
• Relational algebra
– Defines theoretical way of manipulating table
contents using relational operators
– Closure :the use of relational algebra operators
on existing relations produces new relations:
• SELECT
• PROJECT
• DIFFERENCE
• JOIN
• UNION
• INTERSECT
• PRODUCT
• DIVIDE
Database Systems, 9th Edition
21
Database Systems, 9th Edition
22
Database Systems, 9th Edition
23
Database Systems, 9th Edition
24
Give an example of using UNION /INTERSECT/ DIFFERENCE
Database Systems, 9th Edition
25
Relational Set Operators (cont’d.)
• Natural Join
– Links tables by selecting rows with common
values in common attribute(s)
• Equijoin
– Links tables on the basis of an equality
condition that compares specified columns
• Theta join
– Any other comparison operator is used
• Outer join
– Matched pairs are retained, and any
unmatched values in other table are left null
Database Systems, 9th Edition
26
Database Systems, 9th Edition
27
Database Systems, 9th Edition
28
Database Systems, 9th Edition
29
Database Systems, 9th Edition
30
ROOM #
TEACHER
411
Malak
411
Anwar
410
Malak
410
Amal
410
Masheal
Database Systems, 9th Edition
Who is using Room # 410 and 411
together this semester?
ROOM #
TEACHER
410
Malak
411
31
The Data Dictionary and System Catalog
• Data dictionary
– Provides detailed description of all tables found within the
user/designer-created database
– Contains (at least) all the attribute names and characteristics for
each table in the system
– Contains metadata: data about data
• System catalog
– Contains metadata
– Detailed system data dictionary that describes all objects within
the database
– Is a system-created database whose tables store the
user/designer-created database characteristics and contents.
therefore, the system catalog tables can be queried just like any
user/designer-created table
– Automatically produces database documentation which allows
the RDBMS to check for and eliminate homonyms & synonyms 32
Database Systems, 9th Edition
33
Relationships within the Relational
Database
• 1:M relationship
– Relational modeling ideal
– Should be the norm in any relational database
design
• 1:1 relationship
– Should be rare in any relational database design
Database Systems, 9th Edition
34
Relationships within the Relational
Database (cont’d.)
• M:N relationships
– Cannot be implemented as such in the relational
model
– M:N relationships can be changed into two1:M
relationships
Database Systems, 9th Edition
35
The 1:M Relationship
• Relational database norm
• Found in any database environment
Database Systems, 9th Edition
36
Another EX: page 77 / 123
Each course can generate many classes
Each class refers to only one course
Database Systems, 9th Edition
37
The 1:1 Relationship
• One entity related to only one other entity, and
vice versa
• Sometimes means that entity components were
not defined properly
• Could indicate that two entities actually belong
in the same table
• Certain conditions absolutely require their use
Database Systems, 9th Edition
38
Optional
Look at the figure 3.23 /Page 79 /125
Another relationship: department employs professor
Database Systems, 9th Edition
39
The M:N Relationship
• M:N relationship is not supported directly in the
relational model
• Can be implemented by creating a new entity
(composite entity/bridge entity/associative
entity) ---linking table witch include the
primary keys of the tables that are to be linked
Database Systems, 9th Edition
40
Look at figure 3.2 page 81
Database Systems, 9th Edition
41
Or you can create
new primary key
as ENROLL_LINE
What is the
appropriate data
type for this key?
Database Systems, 9th Edition
Database Systems, 9th Edition
43
Database Systems, 9th Edition
44
Database Systems, 9th Edition
45
Data Redundancy Revisited
• Data redundancy leads to data anomalies
– Can destroy the effectiveness of the database
• Foreign keys
– Control data redundancies by using common
attributes shared by tables
– minimize data redundancies
• Sometimes, data redundancy is necessary
Look at figure 3.30 /page 85
Database Systems, 9th Edition
46
Information
requirements
Processing speed
Database Systems, 9th Edition
Design
elegance
47
Indexes
• Orderly arrangement to logically access rows in a
table
• Is composed of an index key & set of pointers
• Index key
– Index’s reference point
– Points to data location identified by the key
• Unique index
– Index in which the index key can have only one
pointer value (row) associated with it
• A table can have many indexes, but each index is
associated with only one table
Database Systems, 9th Edition
48
Database Systems, 9th Edition
49
Codd’s Relational Database Rules
• In 1985, Codd published a list of 12 rules to
define a relational database system
– Products marketed as “relational” that did not
meet minimum relational standards
• Even dominant database vendors do not fully
support all 12 rules
Database Systems, 9th Edition
50
Summary
• Tables are basic building blocks of a
relational database
• Keys are central to the use of relational tables
• Keys define functional dependencies
–
–
–
–
–
Superkey
Candidate key
Primary key
Secondary key
Foreign key
Database Systems, 9th Edition
51
Summary (cont’d.)
• Each table row must have a primary key that
uniquely identifies all attributes
• Tables are linked by common attributes
• The relational model supports relational algebra
functions
– SELECT, PROJECT, JOIN, INTERSECT
UNION, DIFFERENCE, PRODUCT, DIVIDE
• Good design begins by identifying entities,
attributes, and relationships
– 1:1, 1:M, M:N
Database Systems, 9th Edition
52
Q8 ,9,10
Natural JOIN
STU_CODE
128569
512272
531235
553427
PROF_CODE
2
4
2
1
STU_CODE
128569
512272
531235
553427
Database Systems, 9th Edition
1
PROFESSOR
PROF_CODE
2
4
2
1
PROF_CODE
2
4
2
1
Chen ERD (generated with PowerPoint)
DEPT_CODE
6
4
6
2
DEPT_CODE
6
4
6
2
M
advises
STUDENT
Crow’s Foot ERD (generated with PowerPoint)
PROFESSOR
advises
STUDENT
Chen ERD (generated with Visio Professional)
53
Q11,12,13,14
BOOTH_PRODUCT
BOOTH_PRICE
Chips
1.5
Cola
1.25
Energy Drink
2
Chips
1.25
Chocolate Bar
BOOTH_PRODUCT
1
BOOTH_PRICE
Energy Drink
MACHINE_PRODUCT
2
MACHINE_PRICE
Chips
Chocolate Bar
Database Systems, 9th Edition
1.25
1
54