Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 157B Database Systems Dr. T Y Lin. Updates 1.Red color denotes updated data (ppt) 2.Class participation will be part of “extra” credits to to “quiz.

Similar presentations


Presentation on theme: "CS 157B Database Systems Dr. T Y Lin. Updates 1.Red color denotes updated data (ppt) 2.Class participation will be part of “extra” credits to to “quiz."— Presentation transcript:

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

9

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

197

198


Download ppt "CS 157B Database Systems Dr. T Y Lin. Updates 1.Red color denotes updated data (ppt) 2.Class participation will be part of “extra” credits to to “quiz."

Similar presentations


Ads by Google