Download presentation
Presentation is loading. Please wait.
Published byClare Phyllis Cox Modified over 9 years ago
1
CS 157B Database Systems Dr. T Y Lin
2
Updates 1.Red color denotes updated data (ppt) 2.Class participation will be part of “extra” credits to to “quiz category grade” 3.Upload DB3(Section 2.2.8),DB2, DB3 (will explain in class) into Oracle 4.Home work Exercise 2.2.1 and Exercise 2.2.3 a), pp 28-29
3
1.1 The Evolution of Database Systems 1.1.1 Early Database Management Systems –Banking Systems –Airline Reservation Systems –Corporate Record Keeping Systems
4
1.1 The Evolution of Database Systems 1.1.2 Relational Database Systems –Illustrated by Examples
5
1.1 The Evolution of Database Systems 1.1.3 Smaller and Smaller Systems 1.1.4 Bigger and Bigger Systems 1.1.5 Information Integration –Data Warehouse
6
1.1.2 Relational Database Systems See word files three examples
7
Relational Data Model Key Notions Attributes: Name of the Columns Schemas: The name of the relation and the set of attributes Tuples: The rows of the relation other than the header row Domains: the past/present/future data
8
Relational Data Model Key Notions Primary key: Unique value Relation Instances: A relation about suppliers(DB1) and movies (DB3) are not static; relations change over times
10
1.2 Overview of a Database Management System 1.2.1 Data-Definition Language Commands –Illustrated by three examples on the website http://xanadu.cs.sjsu.edu/~drtylin/classes/cs157B/Spring2010/
11
1.2 Overview of a Database Management System 1.2.2 Overview of Query Processing 1.2.3 Storage and Buffer Management 1.2.4 Transaction Processing 1.2.5 The Query Processor
12
1.3 Outline of Database-System Studies Relational Database Modeling Relational Database Programming Semi structured Data Modeling and Programming Database System Implementation Modern Database System Issues
13
2.1 An Overview of Data Models 2.1.1 What is a Data Model? 2.1.2 Important Data Models 2.1.3 The Relational Model in Brief 2.1.4 The Semistructured Model in Brief 2.1.5 Other Data Models 2.1.6 Comparison of Modeling Approaches
14
2.1.1 What is a Data Model? Real World (Math model:) 1.Structure of the Data 2.Operations on the Data 3.Constraints on the Data
15
1.3 Outline of Database-System Studies
16
1.4 References for Chapter 1
17
Chapter 2 Relational Database Modeling
18
Delete this slide The Relational Model of Data Attributes: Name of the Columns Schemas: The name of the relation and the set of attributes Tuples: The rows of the relation other than the header row
19
Delete this slide Relational Data Model Key Notions Attributes: Name of the Columns Schemas: The name of the relation and the set of attributes Tuples: The rows of the relation other than the header row Domains: the past/present/future data
20
Delete this slide Relational Data Model Key Notions Relation Instances: A relation about suppliers(DB1) is not static; relations change over times Primary key: Unique value
21
2.1 An Overview of Data Models 2.1.1 What is a Data Model? 2.1.2 Important Data Models 2.1.3 The Relational Model in Brief 2.1.4 The Semistructured Model in Brief 2.1.5 Other Data Models 2.1.6 Comparison of Modeling Approaches
22
2.1.1 What is a Data Model? Real World (Math model:) 1.Structure of the Data 2.Operations on the Data 3.Constraints on the Data
23
2.1.2 Important Data Models 2.1.3 The Relational Model in Brief See Previous Examples 2.1.4 The Semistructured Model in Brief 2.1.5 Other Data Models 2.1.6 Comparison of Modeling Approaches
24
2.2 Basics of the Relational Model 2.2.1 Attributes 2.2.2 Schemas 2.2.3 Tuples 2.2.4 Domains 2.2.5
25
2.2 Basics of the Relational Model TitleYearLengthgenre Gone with the wind1939231Drama Star Wars1977124SciFi Wayne’s world199295comedy Figure 2.3 The Relation Movies
26
2.2 Basics of the Relational Model 2.2.5 Equivalent Representations of a Relation 2.2.6 Relation Instances 2.2.7 Keys of Relations 2.2.8 An Example Database Schema See the three examples
27
2.2.5 Equivalent Representations of a Relation A relation is a subset (of Cartesian product of Domains), so there is no order among tuples (elements) Every attribute is named, so if data(element) move with names, there is no order; we often say the such data attribute value pair.
28
2.2.5 Equivalent Representations of a Relation YearGenreTitlelength 1977SciFiStar Wars124 1992ComedyWayne’s World95 1939DramaGone With the Wind231 Figure 2.4 Another presentation of the relation Movies
29
2.2.6 Relation Instances All the relation examples given in the web site are Relation Instances Relation is a variable Relation instance is a value in the variable.
30
2.2.7 Keys of Relations Primary Key Secondary Key Alternative Key
31
Database Schema about Movies Moviestar ( name : string, address : string, gender : char, birthdate : date ) Movies( title: string; Year : integer, Length : integer, Genre : string, studioName : string, producerC# : integer )
32
StarsIn ( MovieTitle: string, Movieyear : integer Starname : string ) MovieExec ( name: string, address : string cert# : integer netWorth : integer ) Studio ( name: string, address : string pressC# : integer )
33
2.2.8 An Example Database Schema
34
Two relations of Banking database acctNoTypeBalance 12345Savings12000 23456Checking1000 34567Saving25 firstNameLastNameId noAccount RobbieBanks901-22212345 LennaHand 805-33312345 LennaHand 805-33323456 The relations accounts The relations customers Figure 2.6 Two relations of banking customers
35
2.2.9 Exercises for Section 2.2
36
2.2.8 An Example Database Schema See Three Examples
37
Two relations of Banking database acctNoTypeBalance 12345Savings12000 23456Checking1000 34567Saving25 firstNameLastNameId noAccount RobbieBanks901-22212345 LennaHand 805-33312345 LennaHand 805-33323456 The relations accounts The relations customers Figure 2.6 Two relations of banking customers
38
2.2.9 Exercises for Section 2.2
39
2.3 Defining a Relation Schema in SQL 2.3.1 Relations in SQL 2.3.2 Data Types 2.3.3 Simple Table Declarations 2.3.4 Modifying Relation Schemas 2.3.5 Default Values 2.3.6 Declaring Keys 2.3.7 Exercises for Section 2.3
40
2.3.1 Relations in SQL
41
2.3.2 Data Types
42
2.3.3 Simple Table Declarations
43
2.3.4 Modifying Relation Schemas
44
2.3.5 Default Values
45
2.3.6 Declaring Keys
46
2.3.7 Exercises for Section 2.3
47
2.4 An Algebraic Query Language 2.4.1 Why Do We Need a Special Query Language? 2.4.2 What is an Algebra? 2.4.3 Overview of Relational Algebra 2.4.4 Set Operations on Relations 2.4.5 Projection 2.4.6 Selection 2.4.7 Cartesian Product 2.4.8 Natural Joins 2.4.9 Theta-Joins 2.4.10 Combining Operations to Form Queries 2.4.11 Naming and Renaming 2.4.12 Relationships Among Operations 2.4.13 A Linear Notation for Algebraic Expressions 2.4.14 Exercises for Section 2.4
48
2.4.1 Why Do We Need a Special Query Language?
49
2.4.2 What is an Algebra?
50
2.4.3 Overview of Relational Algebra
51
2.4.4 Set Operations on Relations
52
2.4.5 Projection
53
2.4.6 Selection
54
2.4.7 Cartesian Product
55
2.4.8 Natural Joins
56
2.4.9 Theta-Joins
57
2.4.10 Combining Operations to Form Queries
58
2.4.11 Naming and Renaming
59
2.4.12 Relationships Among Operations
60
2.4.13 A Linear Notation for Algebraic Expressions
61
2.4.14 Exercises for Section 2.4
62
2.5 Constraints on Relations 2.5.1 Relational Algebra as a Constraint Language 2.5.2 Referential Integrity Constraints 2.5.3 Key Constraints 2.5.4 Additional Constraint Examples 2.5.5 Exercises for Section 2.5 2.6 Summary of Chapter 2 2.7 References for Chapter 2
63
2.5.1 Relational Algebra as a Constraint Language
64
2.5.2 Referential Integrity Constraints
65
2.5.3 Key Constraints
66
2.5.4 Additional Constraint Examples
67
2.5.5 Exercises for Section 2.5
68
2.6 Summary of Chapter 2
69
2.7 References for Chapter 2
70
Chapter 3 Design Theory for Relational Databases
71
3.1 Functional Dependencies 3.1.1 Definition of Functional Dependency 3.1.2 Keys of Relations 3.1.3 Superkeys 3.1.4 Exercises for Section 3.1
72
3.1.1 Definition of Functional Dependency
73
3.1.2 Keys of Relations
74
3.1.3 Superkeys
75
3.1.4 Exercises for Section 3.1
76
3.2 Rules About Functional Dependencies 3.2.1 Reasoning About Functional Dependencies 3.2.2 The Splitting/Combining Rule 3.2.3 Trivial Functional Dependencies 3.2.4 Computing the Closure of Attributes 3.2.5 Why the Closure Algorithm Works 3.2.6 The Transitive Rule 3.2.7 Closing Sets of Functional Dependencies 3.2.8 Projecting Functional Dependencies 3.2.9 Exercises for Section 3.2
77
3.2.1 Reasoning About Functional Dependencies
78
3.2.2 The Splitting/Combining Rule
79
3.2.3 Trivial Functional Dependencies
80
3.2.4 Computing the Closure of Attributes
81
3.2.5 Why the Closure Algorithm Works
82
3.2.6 The Transitive Rule
83
3.2.7 Closing Sets of Functional Dependencies
84
3.2.8 Projecting Functional Dependencies
85
3.2.9 Exercises for Section 3.2
86
3.3 Design of Relational Database Schemas 3.3.1 Anomalies 3.3.2 Decomposing Relations 3.3.3 Boyce-Codd Normal Form 3.3.4 Decomposition into BCNF 3.3.5 Exercises for Section 3.3
87
3.3.1 Anomalies
88
3.3.2 Decomposing Relations
89
3.3.3 Boyce-Codd Normal Form
90
3.3.4 Decomposition into BCNF
91
3.3.5 Exercises for Section 3.3
92
3.4 Decomposition: The Good, Bad, and Ugly 3.4.1 Recovering Information from a Decomposition 3.4.2 The Chase Test for Lossless Join 3.4.3 Why the Chase Works 3.4.4 Dependency Preservation 3.4.5 Exercises for Section 3.4
93
3.4.1 Recovering Information from a Decomposition
94
3.4.2 The Chase Test for Lossless Join
95
3.4.3 Why the Chase Works
96
3.4.4 Dependency Preservation
97
3.4.5 Exercises for Section 3.4
98
3.5 Third Normal Form 3.5.1 Definition of Third Normal Form 3.5.2 The Synthesis Algorithm for 3NF Schemas 3.5.3 Why the 3NF Synthesis Algorithm Works 3.5.4 Exercises for Section 3.5
99
3.5.1 Definition of Third Normal Form
100
3.5.2 The Synthesis Algorithm for 3NF Schemas
101
3.5.3 Why the 3NF Synthesis Algorithm Works
102
3.5.4 Exercises for Section 3.5
103
3.6 Multivalued Dependencies 3.6.1 Attribute Independence and Its Consequent Redundancy 3.6.2 Definition of Multivalued Dependencies 3.6.3 Reasoning About Multivalued Dependencies 3.6.4 Fourth Normal Form 3.6.5 Decomposition into Fourth Normal Form 3.6.6 Relationships Among Normal Forms 3.6.7 Exercises for Section 3.6
104
3.6.1 Attribute Independence and Its Consequent Redundancy
105
3.6.2 Definition of Multivalued Dependencies
106
3.6.3 Reasoning About Multivalued Dependencies
107
3.6.4 Fourth Normal Form
108
3.6.5 Decomposition into Fourth Normal Form
109
3.6.6 Relationships Among Normal Forms
110
3.6.7 Exercises for Section 3.6
111
3.7 An Algorithm for Discovering MVD's 3.7.1 The Closure and the Chase 3.7.2 Extending the Chase to MVD's 3.7.3 Why the Chase Works for MVD's 3.7.4 Projecting MVD's 3.7.5 Exercises for Section 3.7 3.8 Summary of Chapter 3 3.9 References for Chapter 3
112
3.7.1 The Closure and the Chase
113
3.7.2 Extending the Chase to MVD's
114
3.7.3 Why the Chase Works for MVD's
115
3.7.4 Projecting MVD's
116
3.7.5 Exercises for Section 3.7
117
3.8 Summary of Chapter 3
118
3.9 References for Chapter 3
119
Chapter 4 High-Level Database Models
120
4.1 The Entity/Relationship Model 4.1.1 Entity Sets 4.1.2 Attributes 4.1.3 Relationships 4.1.4 Entity-Relationship Diagrams 4.1.5 Instances of an E/R Diagram 4.1.6 Multiplicity of Binary E/R Relationships 4.1.7 Multiway Relationships 4.1.8 Roles in Relationships 4.1.9 Attributes on Relationships 4.1.10 Converting Multiway Relationships to Binary 4.1.11 Subclasses in the E/R Model 4.1.12 Exercises for Section 4.1
121
4.1.1 Entity Sets
122
4.1.2 Attributes
123
4.1.3 Relationships
124
4.1.4 Entity-Relationship Diagrams
125
4.1.5 Instances of an E/R Diagram
126
4.1.6 Multiplicity of Binary E/R Relationships
127
4.1.7 Multiway Relationships
128
4.1.8 Roles in Relationships
129
4.1.9 Attributes on Relationships
130
4.1.10 Converting Multiway Relationships to Binary
131
4.1.11 Subclasses in the E/R Model
132
4.1.12 Exercises for Section 4.1
133
4.2 Design Principles 4.2.1 Faithfulness 4.2.2 Avoiding Redundancy 4.2.3 Simplicity Counts 4.2.4 Choosing the Right Relationships 4.2.5 Picking the Right Kind of Element 4.2.6 Exercises for Section 4.2
134
4.2.1 Faithfulness
135
4.2.2 Avoiding Redundancy
136
4.2.3 Simplicity Counts
137
4.2.4 Choosing the Right Relationships
138
4.2.5 Picking the Right Kind of Element
139
4.2.6 Exercises for Section 4.2
140
4.3 Constraints in the E/R Model 4.3.1 Keys in the E/R Model 4.3.2 Representing Keys in the E/R Model 4.3.3 Referential Integrity 4.3.4 Degree Constraints 4.3.5 Exercises for Section 4.3
141
4.3.1 Keys in the E/R Model
142
4.3.2 Representing Keys in the E/R Model
143
4.3.3 Referential Integrity
144
4.3.4 Degree Constraints
145
4.3.5 Exercises for Section 4.3
146
4.4 Weak Entity Sets 4.4.1 Causes of Weak Entity Sets 4.4.2 Requirements for Weak Entity Sets 4.4.3 Weak Entity Set Notation 4.4.4 Exercises for Section 4.4
147
4.4.1 Causes of Weak Entity Sets
148
4.4.2 Requirements for Weak Entity Sets
149
4.4.3 Weak Entity Set Notation
150
4.4.4 Exercises for Section 4.4
151
4.5 From E/R Diagrams to Relational Designs 4.5.1 From Entity Sets to Relations 4.5.2 From E/R Relationships to Relations 4.5.3 Combining Relations 4.5.4 Handling Weak Entity Sets 4.5.5 Exercises for Section 4.5
152
4.5.1 From Entity Sets to Relations
153
4.5.2 From E/R Relationships to Relations
154
4.5.3 Combining Relations
155
4.5.4 Handling Weak Entity Sets
156
4.5.5 Exercises for Section 4.5
157
4.6 Converting Subclass Structures to Relations 4.6.1 E/R-Style Conversion 4.6.2 An Object-Oriented Approach 4.6.3 Using Null Values to Combine Relations 4.6.4 Comparison of Approaches 4.6.5 Exercises for Section 4.6
158
4.6.1 E/R-Style Conversion
159
4.6.2 An Object-Oriented Approach
160
4.6.3 Using Null Values to Combine Relations
161
4.6.4 Comparison of Approaches
162
4.6.5 Exercises for Section 4.6
163
4.7 Unified Modeling Language 4.7.1 UML Classes 4.7.2 Keys for UML classes 4.7.3 Associations 4.7.4 Self-Associations 4.7.5 Association Classes 4.7.6 Subclasses in UML 4.7.7 Aggregations and Compositions 4.7.8 Exercises for Section 4.7
164
4.7.1 UML Classes
165
4.7.2 Keys for UML classes
166
4.7.3 Associations
167
4.7.4 Self-Associations
168
4.7.5 Association Classes
169
4.7.6 Subclasses in UML
170
4.7.7 Aggregations and Compositions
171
4.7.8 Exercises for Section 4.7
172
4.8 From UML Diagrams to Relations 4.8.1 UML-to-Relations Basics 4.8.2 From UML Subclasses to Relations 4.8.3 From Aggregations and Compositions to Relations 4.8.4 The UML Analog of Weak Entity Sets 4.8.5 Exercises for Section 4.8
173
4.8.1 UML-to-Relations Basics
174
4.8.2 From UML Subclasses to Relations
175
4.8.3 From Aggregations and Compositions to Relations
176
4.8.4 The UML Analog of Weak Entity Sets
177
4.8.5 Exercises for Section 4.8
178
4.9 Object Definition Language 4.9.1 Class Declarations 4.9.2 Attributes in ODL 4.9.3 Relationships in ODL 4.9.4 Inverse Relationships 4.9.5 Multiplicity of Relationships 4.9.6 Types in ODL 4.9.7 Subclasses in ODL 4.9.8 Declaring Keys in ODL 4.9.9 Exercises for Section 4.9
179
4.9.1 Class Declarations
180
4.9.2 Attributes in ODL
181
4.9.3 Relationships in ODL
182
4.9.4 Inverse Relationships
183
4.9.5 Multiplicity of Relationships
184
4.9.6 Types in ODL
185
4.9.7 Subclasses in ODL
186
4.9.8 Declaring Keys in ODL
187
4.9.9 Exercises for Section 4.9
188
4.10 From ODL Designs to Relational Designs 4.10.1 From ODL Classes to Relations 4.10.2 Complex Attributes in Classes 4.10.3 Representing Set-Valued Attributes 4.10.4 Representing Other Type Constructors 4.10.5 Representing ODL Relationships 4.10.6 Exercises for Section 4.10 4.11 Summary of Chapter 4 4.12 References for Chapter 4
189
4.10.1 From ODL Classes to Relations
190
4.10.2 Complex Attributes in Classes
191
4.10.3 Representing Set-Valued Attributes
192
4.10.4 Representing Other Type Constructors
193
4.10.5 Representing ODL Relationships
194
4.10.6 Exercises for Section 4.10
195
4.11 Summary of Chapter 4
196
4.12 References for Chapter 4
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.