Preface |
|
xvii | |
Authors |
|
xix | |
|
Chapter 1 Database Basics |
|
|
1 | (22) |
|
1.1 Introduction And History Of Databases |
|
|
1 | (3) |
|
|
4 | (2) |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
7 | (1) |
|
1.5 File-Based Data Management System |
|
|
7 | (2) |
|
|
9 | (5) |
|
1.6.1 Database System Components |
|
|
9 | (3) |
|
|
12 | (2) |
|
1.7 Database Characteristics |
|
|
14 | (2) |
|
1.8 Advantages Of A Database |
|
|
16 | (3) |
|
1.8.1 Reducing Redundancy |
|
|
16 | (1) |
|
1.8.2 Preventing Unauthorized Access |
|
|
16 | (1) |
|
|
17 | (1) |
|
1.8.4 Backup and Recovery |
|
|
17 | (1) |
|
1.8.5 Multiple User Interfaces |
|
|
17 | (1) |
|
1.8.6 Enforcing Integrity Constraints and Support Inferencing/Actions |
|
|
18 | (1) |
|
|
18 | (1) |
|
1.8.8 Additional Benefits |
|
|
18 | (1) |
|
1.9 Limitations Of Databases |
|
|
19 | (2) |
|
|
19 | (1) |
|
|
19 | (1) |
|
|
19 | (2) |
|
|
21 | (1) |
|
|
21 | (2) |
|
|
22 | (1) |
|
Chapter 2 Data Models and Architecture of a DBMS |
|
|
23 | (24) |
|
2.1 Evolution Of Data Model |
|
|
23 | (2) |
|
2.2 Hierarchical Database Model |
|
|
25 | (3) |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
28 | (2) |
|
|
28 | (1) |
|
|
29 | (1) |
|
2.4 Relational Database Model |
|
|
30 | (3) |
|
|
30 | (2) |
|
|
32 | (1) |
|
|
32 | (1) |
|
2.5 Object-Oriented Data Model |
|
|
33 | (2) |
|
|
34 | (1) |
|
|
35 | (1) |
|
2.6 Object Relational Data Model |
|
|
35 | (3) |
|
|
36 | (1) |
|
|
37 | (1) |
|
2.7 Three-Level Architecture Of A Database |
|
|
38 | (3) |
|
2.7.1 Data, Relationships, Constraints, and Schema |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
39 | (1) |
|
|
40 | (1) |
|
|
41 | (1) |
|
|
41 | (2) |
|
2.8.1 Importance of Database Independence |
|
|
42 | (1) |
|
|
43 | (2) |
|
|
45 | (1) |
|
|
45 | (2) |
|
|
46 | (1) |
|
Chapter 3 Relational Database Management System |
|
|
47 | (32) |
|
3.1 Difference Between Rdbms And Dbms |
|
|
47 | (1) |
|
|
48 | (1) |
|
|
48 | (1) |
|
3.4 DISADVANTAGES OF RDBMS |
|
|
49 | (1) |
|
|
49 | (2) |
|
|
49 | (1) |
|
3.5.1.1 Limitations for SQL Database |
|
|
50 | (1) |
|
|
50 | (1) |
|
3.5.2.1 Benefits and Scope |
|
|
50 | (1) |
|
3.5.2.2 Disadvantage and Limitations |
|
|
51 | (1) |
|
|
51 | (1) |
|
3.5.4 Microsoft SQL Server |
|
|
51 | (1) |
|
|
51 | (1) |
|
|
52 | (3) |
|
|
52 | (1) |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
53 | (1) |
|
3.7.5 Secondary or Alternative Key |
|
|
53 | (1) |
|
|
53 | (1) |
|
3.7.7 Difference between Primary Key, Candidate Key, Super Key, and Foreign Key |
|
|
54 | (1) |
|
3.8 INTEGRITY CONSTRAINTS IN DBMS |
|
|
55 | (4) |
|
3.8.1 Integrity Constraints |
|
|
55 | (1) |
|
3.8.1.1 Entity Integrity Constraints |
|
|
55 | (1) |
|
3.8.1.2 Referential Integrity Constraints |
|
|
55 | (2) |
|
3.8.1.3 Domain Constraints |
|
|
57 | (1) |
|
3.8.1.4 Not Null Constraint |
|
|
57 | (1) |
|
3.8.1.5 Default Value Constraint |
|
|
58 | (1) |
|
|
58 | (1) |
|
|
59 | (7) |
|
|
59 | (1) |
|
|
59 | (1) |
|
|
59 | (1) |
|
|
60 | (1) |
|
|
60 | (2) |
|
|
62 | (1) |
|
3.9.2.5 Cartesian Product(x) |
|
|
62 | (1) |
|
|
63 | (2) |
|
|
65 | (1) |
|
|
65 | (1) |
|
|
65 | (1) |
|
3.10 STRUCTURED QUERY LANGUAGE (SQL) |
|
|
66 | (1) |
|
|
66 | (1) |
|
3.11 CODD'S 12 RULES OF RELATIONAL DATABASE |
|
|
66 | (2) |
|
3.12 DATABASE DEVELOPMENT LIFE CYCLE |
|
|
68 | (4) |
|
3.12.1 The Database Initial Study |
|
|
68 | (1) |
|
3.12.1.1 Analyze the Scenario |
|
|
69 | (1) |
|
3.12.1.2 Define the Problems and Other Constraints |
|
|
69 | (1) |
|
3.12.1.3 Objectives Scope and Boundaries |
|
|
69 | (1) |
|
|
69 | (1) |
|
3.12.3 Implementation of Databases |
|
|
70 | (1) |
|
3.12.3.1 Install the DBMS |
|
|
70 | (1) |
|
3.12.3.2 Database Creation |
|
|
70 | (1) |
|
3.12.3.3 Populate the Data |
|
|
70 | (1) |
|
3.12.4 Testing and Evaluation |
|
|
70 | (1) |
|
|
71 | (1) |
|
3.12.4.2 Tuning of Database |
|
|
71 | (1) |
|
3.12.4.3 Database Evaluation |
|
|
71 | (1) |
|
|
71 | (1) |
|
3.12.6 Maintenance of Database System |
|
|
71 | (1) |
|
|
72 | (4) |
|
|
76 | (3) |
|
|
77 | (2) |
|
Chapter 4 Entity-Relationship Model |
|
|
79 | (28) |
|
|
79 | (1) |
|
4.2 Components Of An Er Diagram |
|
|
80 | (4) |
|
|
80 | (1) |
|
|
81 | (1) |
|
4.2.1.2 Strong Entity Set |
|
|
81 | (1) |
|
|
81 | (1) |
|
|
81 | (1) |
|
4.2.2.2 Composite Attribute |
|
|
82 | (1) |
|
4.2.2.3 Multivalued Attribute |
|
|
82 | (1) |
|
4.2.2.4 Derived Attribute |
|
|
83 | (1) |
|
|
83 | (1) |
|
4.2.3.1 One-to-One Relationship |
|
|
83 | (1) |
|
4.2.3.2 One-to-Many Relationship |
|
|
83 | (1) |
|
4.2.3.3 Many-to-One Relationship |
|
|
83 | (1) |
|
4.2.3.4 Many-to-Many Relationship |
|
|
84 | (1) |
|
4.3 Participation Constraints |
|
|
84 | (1) |
|
4.4 Strong And Weak Relationship |
|
|
85 | (1) |
|
|
85 | (1) |
|
|
85 | (1) |
|
4.5 Handling Many-To-Many Relationship |
|
|
86 | (5) |
|
4.5.1 Loss of Analytical Capability |
|
|
87 | (1) |
|
|
88 | (1) |
|
|
89 | (1) |
|
|
90 | (1) |
|
|
90 | (1) |
|
|
91 | (2) |
|
4.6.1 An Er Diagram of an Organization |
|
|
91 | (1) |
|
4.6.1.1 Initial Conceptual Design of the Company Database |
|
|
91 | (1) |
|
4.6.1.2 Relations and Its Structure |
|
|
91 | (1) |
|
4.6.1.3 Tables for Company Database |
|
|
92 | (1) |
|
4.6.1.4 Relationship Types to Database Schema |
|
|
92 | (1) |
|
|
93 | (4) |
|
|
93 | (1) |
|
4.7.2 Properties of IsA Relationship Vehicle |
|
|
94 | (1) |
|
4.7.3 Constraints in ER/EER Diagram |
|
|
95 | (1) |
|
4.7.4 Specialization Abstraction |
|
|
95 | (1) |
|
4.7.5 Generalization Abstraction |
|
|
96 | (1) |
|
|
96 | (1) |
|
4.8 Reduction Of Er Diagram To Relational Model |
|
|
97 | (5) |
|
|
98 | (1) |
|
4.8.2 Attributes for the Table |
|
|
98 | (1) |
|
4.8.3 Key Attribute (Primary Key) |
|
|
98 | (1) |
|
4.8.4 Separate Table for Multivalued Attribute |
|
|
99 | (1) |
|
|
99 | (1) |
|
4.8.6 Mapping of Relationships in the Tables |
|
|
99 | (2) |
|
|
101 | (1) |
|
|
102 | (1) |
|
|
103 | (4) |
|
|
105 | (2) |
|
|
107 | (12) |
|
5.1 Introduction To Normalization - A Bottom-Up Approach |
|
|
107 | (1) |
|
5.2 Need For Normalization |
|
|
107 | (1) |
|
5.3 Types Of Dependencies |
|
|
108 | (2) |
|
|
108 | (1) |
|
|
109 | (1) |
|
5.3.3 Armstrong's Axioms or Inference Rule of Functional Dependencies |
|
|
109 | (1) |
|
|
110 | (1) |
|
|
110 | (1) |
|
|
111 | (1) |
|
5.7 Boyce-Codd Normal Form |
|
|
112 | (2) |
|
5.8 Multi-Valued Dependency |
|
|
114 | (1) |
|
|
115 | (1) |
|
5.10 Lossless And Lossy Decompositions |
|
|
115 | (1) |
|
5.11 Normalizing Tables And Unsolved Examples With Case Studies |
|
|
116 | (1) |
|
|
116 | (1) |
|
|
117 | (2) |
|
|
117 | (2) |
|
Chapter 6 Managing Data Using Structured Query Language |
|
|
119 | (30) |
|
6.1 Introduction To Structured Query Language |
|
|
119 | (1) |
|
|
119 | (1) |
|
6.1.2 Types of SQL Commands |
|
|
120 | (1) |
|
6.2 Data Definition Commands |
|
|
120 | (2) |
|
|
122 | (4) |
|
6.4 Data Control Language |
|
|
126 | (1) |
|
|
126 | (1) |
|
|
126 | (1) |
|
6.5 Transaction Control Language (TCL) |
|
|
127 | (1) |
|
|
127 | (1) |
|
|
128 | (1) |
|
6.6 Data Query Language (DQL) |
|
|
128 | (1) |
|
|
129 | (4) |
|
6.8 Date And Time Functions |
|
|
133 | (2) |
|
|
135 | (2) |
|
6.10 Conversion Functions |
|
|
137 | (2) |
|
6.11 Mathematical Functions |
|
|
139 | (2) |
|
|
141 | (2) |
|
6.13 Types Of Constraints |
|
|
143 | (1) |
|
|
144 | (2) |
|
|
146 | (1) |
|
|
146 | (3) |
|
|
147 | (2) |
|
Chapter 7 Introduction to PL/SQL |
|
|
149 | (42) |
|
|
149 | (1) |
|
7.2 Variables And Constants |
|
|
150 | (1) |
|
|
151 | (1) |
|
|
151 | (2) |
|
7.3.1 PL/SQL Number Types |
|
|
151 | (1) |
|
7.3.2 PL/SQL Character and String Types and PL/SQL National Character Types |
|
|
151 | (1) |
|
7.3.3 "LONG and LONG RAW Datatypes" |
|
|
152 | (1) |
|
7.3.4 PL/SQL Date, Time, and Interval Types |
|
|
152 | (1) |
|
|
153 | (1) |
|
|
153 | (1) |
|
7.4.1 Example of These Different Types of Literals |
|
|
153 | (1) |
|
|
153 | (3) |
|
|
154 | (1) |
|
7.5.1.1 IF-THEN Statement |
|
|
154 | (1) |
|
7.5.1.2 IF-THEN-ELSE Statement |
|
|
154 | (1) |
|
7.5.2 Example of PL/SQL If Statement |
|
|
155 | (1) |
|
7.6 PL/SQL Case Statement |
|
|
156 | (1) |
|
7.6.1 Example of PL/SQL Case Statement |
|
|
157 | (1) |
|
|
157 | (2) |
|
7.7.1 Example of PL/SQL EXIT Loop with WHEN Condition |
|
|
158 | (1) |
|
7.8 PL/SQL Exit Loop Example With If Condition |
|
|
159 | (5) |
|
7.8.1 Example of PL/SQL While Loop |
|
|
160 | (1) |
|
7.8.2 PL/SQL While Loop Example 2 |
|
|
161 | (1) |
|
7.8.3 PL/SQL for Loop Example 1 |
|
|
162 | (1) |
|
7.8.4 PL/SQL for Loop REVERSE Example |
|
|
163 | (1) |
|
7.9 PL/SQL Continue Statement |
|
|
164 | (1) |
|
7.9.1 Example of PL/SQL Continue Statement |
|
|
164 | (1) |
|
7.10 PL/SQL Goto Statement |
|
|
165 | (1) |
|
7.10.1 Example of PL/SQL GOTO Statement |
|
|
165 | (1) |
|
7.11 PL/SQL Procedure And Functions |
|
|
166 | (8) |
|
7.11.1 PL/SQL Procedure Syntax and Examples |
|
|
167 | (1) |
|
7.11.1.1 PL/SQL Procedure Example |
|
|
167 | (2) |
|
7.11.2 PL/SQL Function Syntax and Examples |
|
|
169 | (1) |
|
7.11.2.1 PL/SQL Function Example |
|
|
169 | (2) |
|
7.11.2.2 PL/SQL Function Example 3 |
|
|
171 | (2) |
|
7.11.2.3 PL/SQL Function Example 4 |
|
|
173 | (1) |
|
|
174 | (3) |
|
7.12.1 PL/SQL Implicit Cursors |
|
|
174 | (1) |
|
7.12.2 PL/SQL Implicit Cursor Example |
|
|
175 | (1) |
|
7.12.3 PL/SQL Explicit Cursors |
|
|
175 | (1) |
|
7.12.3.1 PL/SQL Explicit Cursor Example |
|
|
176 | (1) |
|
|
177 | (1) |
|
7.14 PL/SQL Exception Handling |
|
|
178 | (4) |
|
7.14.1 System-Defined Exception Handling |
|
|
179 | (1) |
|
7.14.2 System-Defined Exceptions |
|
|
180 | (2) |
|
7.14.3 User-Defined Exceptions |
|
|
182 | (1) |
|
7.14.4 Raising Exceptions |
|
|
182 | (1) |
|
|
182 | (5) |
|
|
184 | (3) |
|
|
187 | (1) |
|
|
188 | (3) |
|
Chapter 8 Transaction Management in a Database |
|
|
191 | (32) |
|
|
191 | (1) |
|
8.2 Definition of Transaction |
|
|
191 | (3) |
|
|
193 | (1) |
|
|
193 | (1) |
|
8.3 Properties of Transaction |
|
|
194 | (1) |
|
|
194 | (1) |
|
|
194 | (1) |
|
|
194 | (1) |
|
|
195 | (1) |
|
8.4 States Of Transaction |
|
|
195 | (2) |
|
|
195 | (1) |
|
8.4.2 Partially Committed State |
|
|
196 | (1) |
|
|
196 | (1) |
|
|
196 | (1) |
|
|
196 | (1) |
|
|
196 | (1) |
|
|
197 | (2) |
|
|
197 | (1) |
|
|
197 | (1) |
|
8.5.1.2 Concurrent Schedule |
|
|
198 | (1) |
|
8.5.1.3 Cascadeless Schedule |
|
|
198 | (1) |
|
8.5.1.4 Recoverable Schedule |
|
|
199 | (1) |
|
|
199 | (4) |
|
8.6.1 Conflict-Serializable Schedule |
|
|
200 | (1) |
|
8.6.2 Precedence Graph Method of Serializability |
|
|
201 | (1) |
|
8.6.3 View-Serializable Schedule |
|
|
201 | (2) |
|
|
203 | (1) |
|
|
203 | (2) |
|
8.8.1 Lost Update Problem |
|
|
203 | (1) |
|
|
204 | (1) |
|
8.8.3 Inconsistent Retrieval or Unrepeatable Read Problem |
|
|
204 | (1) |
|
8.9 Concurrency Control Mechanism |
|
|
205 | (10) |
|
8.9.1 Lock-Based Protocol |
|
|
205 | (1) |
|
8.9.1.1 Lock-Based Protocols |
|
|
205 | (1) |
|
8.9.1.2 Deadlock Problem with Lock-Based Protocol |
|
|
206 | (1) |
|
8.9.1.3 Two-Phase Locking Protocol |
|
|
207 | (1) |
|
8.9.2 Timestamp-Based Protocol |
|
|
208 | (1) |
|
8.9.2.1 Timestamp Ordering Protocol |
|
|
208 | (1) |
|
8.9.2.2 Basic Timestamp Ordering |
|
|
209 | (1) |
|
8.9.3 Multiple Granularity-Based Protocols |
|
|
210 | (2) |
|
8.9.4 Intention Lock Mode |
|
|
212 | (2) |
|
8.9.5 Multiversion Schemes |
|
|
214 | (1) |
|
8.9.5.1 Multiversion Concurrency Control Techniques |
|
|
214 | (1) |
|
8.9.5.2 Multiversion Techniques Based on Timestamp Ordering |
|
|
215 | (1) |
|
8.10 Database Backup And Recovery |
|
|
215 | (4) |
|
8.10.1 Log-Based Recovery |
|
|
217 | (1) |
|
8.10.2 Recovery with Concurrent Transactions |
|
|
218 | (1) |
|
|
218 | (1) |
|
|
218 | (1) |
|
8.11 Security, Integrity, And Authorization |
|
|
219 | (1) |
|
|
220 | (1) |
|
|
221 | (2) |
References |
|
223 | (2) |
Index |
|
225 | |