Download presentation
Presentation is loading. Please wait.
Published byJayson Green Modified over 6 years ago
1
CMPE 226 Database Systems February 21 Class Meeting
Department of Computer Engineering San Jose State University Spring 2017 Instructor: Ron Mak
2
Entity Integrity Constraint
No primary key column of a relational table can have null (empty) values. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
3
Entity Integrity Constraint, cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
4
Foreign Keys A foreign key is a column in a table that refers to a primary key column in another table. In a relational schema, draw an arrow from the foreign key to the corresponding primary key.
5
Mapping 1:M Relationships
Mandatory participation on both sides. The foreign key on the M side of the 1:M relationship corresponds to the primary key on the 1 side. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
6
Mapping 1:M Relationships, cont’d
Optional participation on the 1 side. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
7
Mapping 1:M Relationships, cont’d
Optional participation on the M side. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
8
Mapping 1:M Relationships, cont’d
Rename a foreign key to better reflect the role of a relationship. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
9
Mapping M:N Relationships
Use the bridge relation BELONGSTO with two foreign keys. AKA: linking table or join table Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
10
Mapping M:N Relationships, cont’d
Optional participation on both sides. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
11
Mapping M:N Relationships, cont’d
with an attribute. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
12
Mapping 1:1 Relationships
Map 1:1 relationships similarly to 1:M relationships. One table will have a foreign key pointing to the primary key of the other table. It can be an arbitrary choice of which table has the foreign key. Make the choice that is most intuitive or efficient.
13
Mapping 1:1 Relationships, cont’d
Table VEHICLE has the foreign key. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
14
Referential Integrity Constraint
The value of a foreign key must either: Match one of the values of the primary key in the referred table. Be null. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
15
Mapping Example #1: ER Diagram
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
16
Mapping Example #1: Relational Schema
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
17
Mapping Example #1: Sample Data
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
18
Mapping Candidate Keys
Choose one of the candidate keys to be the primary key. Map the other as non-primary. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
19
Mapping Candidate Keys, cont’d
Generally choose a non-composite candidate key as the primary key. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
20
Mapping Multivalued Attributes
Map the multivalued attribute as a new table. This becomes a 1:M relationship with the new table on the M side. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
21
Mapping Derived Attributes
Do not map derived attributes. Sample data records. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN As seen by the front-end application.
22
Mapping Example #2: Attributes
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
23
Mapping Unary 1:M Relationships
The table contains a foreign key that corresponds to its own primary key. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
24
Mapping Unary M:N Relationships
Use a bridge relation where both foreign keys refer to the primary key of the same table. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
25
Mapping Unary 1:1 Relationships
Map similarly to a unary 1:M relationship. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
26
Mapping Multiple Relationships
Map each relationship. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
27
Mapping Weak Entities Map weak entities the same way you map regular entities. The resulting table has a composite primary key that is composed of: The partial identifier of the table. The foreign key corresponding to the primary key of the owner table.
28
Mapping Weak Entities, cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN The APARTMENT table’s composite primary key consists of AptNo (the partial key) and BuildingID (the foreign key corresponding the the primary key of the owner BUILDING table).
29
Mapping Example #3: ER Diagram
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
30
Mapping Example #3: Relational Schema
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
31
Mapping Example #3: Sample Data
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
32
Mapping Example #3: Sample Data, cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
33
Relational Database Constraints
A constraint is a rule that a relational database must satisfy in order to be valid. Two types of constraints: implicit constraints user-defined constraints
34
Implicit RDB Constraints
Each relation (table) in a relational schema must have a unique name. For each relation: Each column name must be unique. Each row must be unique. Each column of each row must be single-valued. Domain constraint: All values in a column must be from the same predefined domain. The column order is irrelevant. The row order is irrelevant.
35
Implicit RDB Constraints, cont’d
Primary key constraint: Each relation must have a primary key (a column or set of columns) whose value is unique for each row. Entity integrity constraint: No primary key column can have a null value. Referential integrity constraint: In each row containing a foreign key, either the value of the foreign key must match one of the values of the primary key of the referred table, or the foreign key is null.
36
User-Defined RDB Constraints
Optional attributes Mandatory foreign key Example: Each employee must report to a department. Exact cardinalities Example: A student can take at most 5 classes. Business rules Usually enforced by front-end applications. Example: Each organization must have both male and female students.
37
User-Defined RDB Constraints, cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
38
ER Modeling and Relational Modeling
Why not skip ER modeling and go directly to logical modeling (creating relational schemas)? ER modeling is better for visualizing requirements. Certain concepts can be visualized graphically only in an ER diagram. Every attribute appears only once in an ER diagram. A conceptual model (ER diagram) is better for communication and documentation.
39
Break
40
Database Update Operations
Insert operation Enter new data into a table. Delete operation Remove data from a table. Modify operation Change existing data in a table.
41
Update Anomalies Insertion anomaly Deletion anomaly
Modification anomaly
42
A Table Containing Redundant Data
Can you spot the data redundancies? Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
43
A Table Containing Redundant Data, cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
44
Update Anomalies, cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
45
Normalization Normalize tables to eliminate update anomalies.
Normalization is based on the concept of functional dependencies.
46
Functional Dependencies
Functional dependency: The value of one or more columns in each row of a table determines the value of another column in the same row. Write A B Column(s) A functionally determines column(s) B. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN ClientId ClientName
47
Functional Dependencies, cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
48
Functional Dependencies, cont’d
(Set 1) CampaignMgrID CampaignMgrName But not the reverse! Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
49
Functional Dependencies, cont’d
(Set 2) ModeID Media, Range But neither Media nor Range determine ModeID. Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
50
Functional Dependencies, cont’d
(Set 3) AdCampaignID AdCampaignName, StartDate, Duration, CampaignMgrId, CampaignMgrName Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
51
Functional Dependencies, cont’d
(Set 4) AdCampaignName AdCampaignID, StartDate, Duration, CampaignMgrID, CampaignMgrName Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
52
Functional Dependencies, cont’d
(Set 5) AdCampaignID, ModeID AdCampaignName, StartDate, Duration, CampaignMgrID, CampaignMgrName, Media, Range, BudgetPctg Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
53
Functional Dependencies, cont’d
(Set 6) AdCampaignName, ModeID AdCampaignID, StartDate, Duration, CampaignMgrID, CampaignMgrName, Media, Range, BudgetPctg Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
54
Trivial Functional Dependencies
Remove trivial function dependencies (FDs): A A A, B A, B A, B A
55
Augmented Functional Dependencies
If A B, then remove augmented FDs such as A, C B Because replace with (Set 2) ModeID Media, Range (Set 3) AdCampaignID AdCampaignName, StartDate, Duration, CampaignMgrId, CampaignMgrName (Set 5) AdCampaignID, ModeID AdCampaignName, StartDate, Duration, CampaignMgrID, CampaignMgrName, Media, Range, BudgetPctg (Set 5) AdCampaignID, ModeID BudgetPctg
56
Equivalent Functional Dependencies
Equivalent FDs: A B B A A B, X B A, X Y, A B, X Y, B A, X Remove all but one from each equivalence set.
57
Equivalent Functional Dependencies
Because are equivalent: FD Sets 3 and 4 are equivalent: Remove Set 4 FD Sets 5 and 6 are equivalent: Remove Set 6 AdCampaignID AdCampaignName AdCampaignName AdCampaignID Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
58
Streamlined Functional Dependencies
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
59
Partial Functional Dependency
A table column is functionally dependent on a component of a composite primary key. (Set 2) ModeID Media, Range (Set 3) AdCampaignID AdCampaignName, StartDate, Duration, CampaignMgrId, CampaignMgrName Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
60
Full Key Functional Dependency
A table column is functionally dependent on the primary key and not partially dependent on any separate component of the primary key. (Set 5) AdCampaignID, ModeID BudgetPctg Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
61
Transitive Functional Dependency
A nonkey column is functionally dependent on another nonkey column. CampaignMgrID CampaignMgrName Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
62
Another Functional Dependencies Example
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
63
Normalization Improve the design of database tables.
Eliminate update anomalies. Three normal forms. First normal form (1NF) Second normal form (2NF) Third normal form (3NF) From lower to higher, each normal form has increasingly stricter conditions. Even higher normal forms mostly of theoretical value. Boyce-Codd (BCNF), 4NF, 5NF, domain key (DKNF).
64
First Normal Form (1NF) A table is in 1NF if:
Each row is unique. All values in a column must be from the same predefined domain. No column in any row contains multiple values. In other words, any valid relational table is, by definition, in 1NF.
65
First Normal Form (1NF), cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
66
Second Normal Form (2NF)
A table is in 2NF if: It is in 1NF. It does not contain partial functional dependencies.
67
Second Normal Form (2NF), cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
68
Third Normal Form (3NF) A table is in 3NF if: It is in 2NF.
It does not contain transitive functional dependencies.
69
Third Normal Form (3NF), cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
70
Third Normal Form (3NF), cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
71
Third Normal Form (3NF), cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
72
Third Normal Form (3NF), cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
73
Another Normalization Example
Original table Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
74
Another Normalization Example, cont’d
2NF Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
75
Another Normalization Example, cont’d
3NF Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
76
Another Normalization Example, cont’d
Normalized tables Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
77
Normalization vs. Denormalization
Normalization spreads data out over more tables. The result is slower performance. Sometimes it make sense to denormalize in order to improve performance.
78
Normalization vs. Denormalization, cont’d
Original table Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
79
Normalization vs. Denormalization, cont’d
Suppose the query is to retrieve for each campaign: AdCampaignID, AdCampaignName, CampaignMgrID, CampaignMgrName, ModeID, Media, Range, and BudgetPctg. It is more efficient to retrieve this data from the original table than from the several normalized tables.
80
Normalization vs. Denormalization, cont’d
Database Systems by Jukić, Vrbsky, & Nestorov Pearson 2014 ISBN
81
Assignment #3 Create the first draft of the logical data model (relational schema) for your project. Map your ER diagram from Assignment #2. You can modify the diagram or create a new one. Implement your relational model as a physical model by creating a MariaDB database. Normalize your tables to 3NF. Populate the tables with some sample data.
82
Assignment #3, cont’d Create a zip file named after your team that contains: Latest requirements. Latest ER diagram. Relational schema (created using ERDPlus). Dump of your implemented MariaDB database. Submit to Canvas: Assignment #3 Due Tuesday, February 28 at 11:59 PM
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.