Preface |
|
xiii | |
Biography |
|
xv | |
Acknowledgement |
|
xvii | |
|
|
1 | (26) |
|
1.1 Introduction to Databases |
|
|
1 | (4) |
|
1.1.1 Difference between a Database and a Spreadsheet? |
|
|
2 | (1) |
|
1.1.2 Database Challenges |
|
|
2 | (1) |
|
|
3 | (1) |
|
1.1.4 Disadvantages of DBMS |
|
|
3 | (1) |
|
|
4 | (1) |
|
1.1.5.1 Relational Databases |
|
|
4 | (1) |
|
1.1.5.2 Object-Oriented Databases |
|
|
4 | (1) |
|
1.1.5.3 Distributed Databases |
|
|
4 | (1) |
|
|
4 | (1) |
|
|
4 | (1) |
|
|
4 | (1) |
|
1.1.5.7 On-line Transaction Processing Databases |
|
|
4 | (1) |
|
1.1.5.8 Open-Source Databases |
|
|
5 | (1) |
|
|
5 | (1) |
|
1.1.5.10 Multimodel Database |
|
|
5 | (1) |
|
1.1.5.11 Document/JSON Database |
|
|
5 | (1) |
|
1.1.5.12 Self-Driving Databases |
|
|
5 | (1) |
|
|
5 | (10) |
|
1.2.1 Hierarchical Databases |
|
|
6 | (1) |
|
|
7 | (1) |
|
1.2.3 Object-Oriented Model |
|
|
7 | (1) |
|
1.2.4 Graph Databases Model |
|
|
8 | (1) |
|
1.2.5 Entity-Relationship Model |
|
|
8 | (1) |
|
1.2.6 Document Databases Model |
|
|
9 | (1) |
|
1.2.7 NoSQL Databases Model |
|
|
10 | (1) |
|
1.2.8 The Relational Model |
|
|
10 | (2) |
|
|
12 | (3) |
|
|
15 | (2) |
|
1.3.1 Data Definition Language (DDL) |
|
|
15 | (1) |
|
1.3.2 Data Manipulation Language (DML) |
|
|
15 | (1) |
|
1.3.3 Data Control Language (DCL) |
|
|
16 | (1) |
|
1.3.4 Data Retrieval Language (DRL) |
|
|
16 | (1) |
|
1.4 SQL: A Nonprocedural Language |
|
|
17 | (3) |
|
|
17 | (2) |
|
|
19 | (1) |
|
|
20 | (2) |
|
|
22 | (1) |
|
|
22 | (3) |
|
|
25 | (2) |
|
|
25 | (2) |
|
2 Creating and Manipulating Database |
|
|
27 | (18) |
|
2.1 Data Definition Language (DDL) |
|
|
27 | (4) |
|
|
27 | (1) |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
30 | (1) |
|
|
30 | (1) |
|
2.2 Data Manipulation Language (DML) |
|
|
31 | (3) |
|
2.2.1 INSERT INTO Command |
|
|
31 | (1) |
|
|
31 | (1) |
|
|
32 | (1) |
|
|
33 | (1) |
|
2.3 Data Control Language (DCL) |
|
|
34 | (1) |
|
2.4 Transaction Control Language (TCL) |
|
|
35 | (1) |
|
|
36 | (2) |
|
|
38 | (5) |
|
|
43 | (2) |
|
|
43 | (2) |
|
3 Data and Integrity Constraints |
|
|
45 | (14) |
|
|
45 | (3) |
|
|
45 | (1) |
|
|
46 | (1) |
|
3.1.3 Referential Integrity |
|
|
47 | (1) |
|
3.1.4 User-Defined Integrity |
|
|
47 | (1) |
|
3.2 Types of Keys in DBMS |
|
|
48 | (5) |
|
|
48 | (1) |
|
|
48 | (1) |
|
|
49 | (2) |
|
|
51 | (1) |
|
|
51 | (2) |
|
|
53 | (1) |
|
|
54 | (1) |
|
|
55 | (1) |
|
|
56 | (3) |
|
|
56 | (3) |
|
4 Query Execution and Aggregate Functions |
|
|
59 | (18) |
|
|
59 | (5) |
|
4.1.1 Single Attribute Selection |
|
|
59 | (1) |
|
4.1.2 Multiple Attribute Selection |
|
|
60 | (1) |
|
4.1.3 Complete Table Selection |
|
|
61 | (1) |
|
|
62 | (1) |
|
|
63 | (1) |
|
|
64 | (4) |
|
|
64 | (2) |
|
|
66 | (1) |
|
|
67 | (1) |
|
|
67 | (1) |
|
|
68 | (1) |
|
|
68 | (3) |
|
|
71 | (1) |
|
|
72 | (1) |
|
|
73 | (1) |
|
|
74 | (3) |
|
|
75 | (2) |
|
|
77 | (12) |
|
|
77 | (5) |
|
5.1.1 Similarities between SQL Server and Oracle |
|
|
78 | (1) |
|
5.1.2 Schema Object Names |
|
|
78 | (1) |
|
|
78 | (1) |
|
|
79 | (2) |
|
5.1.3.2 Entity Integrity Constraints |
|
|
81 | (1) |
|
5.1.3.3 Referential Integrity Constraints |
|
|
81 | (1) |
|
5.1.3.4 Unique Key Constraints |
|
|
82 | (1) |
|
5.1.3.5 Check Constraints |
|
|
82 | (1) |
|
|
82 | (2) |
|
|
84 | (1) |
|
5.4 DML Statement from SQL Server vs. Oracle |
|
|
84 | (3) |
|
5.4.1 Connecting to the Database |
|
|
86 | (1) |
|
|
86 | (1) |
|
5.5 Microsoft SQL Server vs. Oracle: The Same but Different |
|
|
87 | (1) |
|
|
88 | (1) |
|
|
88 | (1) |
|
6 Conditional Statements and Operators in SQL |
|
|
89 | (26) |
|
|
89 | (1) |
|
6.2 Conditional Evaluation |
|
|
89 | (1) |
|
|
90 | (4) |
|
|
90 | (1) |
|
|
90 | (1) |
|
|
91 | (1) |
|
|
92 | (2) |
|
|
94 | (19) |
|
6.4.1 Arithmetic Operators |
|
|
95 | (5) |
|
6.4.2 Comparison Operator |
|
|
100 | (4) |
|
|
104 | (1) |
|
|
104 | (1) |
|
|
105 | (1) |
|
|
106 | (1) |
|
|
106 | (1) |
|
|
107 | (1) |
|
|
108 | (1) |
|
|
108 | (1) |
|
|
108 | (2) |
|
|
110 | (1) |
|
6.4.3.10 IS NULL Operator |
|
|
111 | (1) |
|
|
112 | (1) |
|
|
113 | (2) |
|
|
113 | (2) |
|
|
115 | (14) |
|
7.1 Understanding Subquery |
|
|
115 | (2) |
|
7.2 Understanding Nested Query |
|
|
117 | (1) |
|
|
118 | (8) |
|
|
119 | (2) |
|
|
121 | (1) |
|
|
122 | (1) |
|
|
122 | (2) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
126 | (3) |
|
|
126 | (3) |
|
8 Views, Indexes, and Sequence |
|
|
129 | (16) |
|
|
129 | (1) |
|
|
130 | (5) |
|
|
130 | (3) |
|
|
133 | (2) |
|
|
135 | (1) |
|
|
136 | (3) |
|
|
136 | (1) |
|
|
136 | (1) |
|
|
137 | (1) |
|
|
137 | (1) |
|
8.4.5 Function-Based Index |
|
|
138 | (1) |
|
|
139 | (1) |
|
|
139 | (2) |
|
8.6.1 Auto-Increment Sequence |
|
|
139 | (1) |
|
|
140 | (1) |
|
|
141 | (1) |
|
|
141 | (2) |
|
|
143 | (2) |
|
|
143 | (2) |
|
|
145 | (16) |
|
9.1 Introduction to PL/SQL |
|
|
145 | (1) |
|
|
145 | (1) |
|
|
146 | (1) |
|
|
146 | (1) |
|
9.5 Variables and Constants |
|
|
147 | (1) |
|
|
148 | (1) |
|
|
149 | (9) |
|
|
149 | (1) |
|
9.7.1.1 IF-THEN Statement |
|
|
149 | (1) |
|
9.7.1.2 IF-THEN-ELSE Statement |
|
|
149 | (1) |
|
|
150 | (1) |
|
|
151 | (5) |
|
|
156 | (1) |
|
|
157 | (1) |
|
|
158 | (3) |
|
|
159 | (2) |
|
10 Procedures and Functions |
|
|
161 | (10) |
|
10.1 Understanding Functions |
|
|
161 | (1) |
|
10.2 Features and Advantages |
|
|
161 | (1) |
|
|
162 | (3) |
|
|
165 | (1) |
|
|
166 | (1) |
|
10.6 Difference between Function and Procedure |
|
|
167 | (1) |
|
|
167 | (2) |
|
|
169 | (2) |
|
|
170 | (1) |
|
|
171 | (12) |
|
11.1 Understanding Cursor |
|
|
171 | (1) |
|
|
171 | (3) |
|
|
171 | (2) |
|
|
173 | (1) |
|
|
174 | (1) |
|
|
175 | (1) |
|
11.5 Understanding Trigger |
|
|
175 | (1) |
|
|
176 | (2) |
|
|
176 | (1) |
|
11.6.2 Table-Level Triggers |
|
|
177 | (1) |
|
|
177 | (1) |
|
|
178 | (1) |
|
|
178 | (3) |
|
|
181 | (2) |
|
|
181 | (2) |
|
12 Database Change Management |
|
|
183 | (8) |
|
|
183 | (2) |
|
12.2 Database Definitions |
|
|
185 | (2) |
|
12.2.1 Scope Specification |
|
|
185 | (1) |
|
|
186 | (1) |
|
12.2.3 Exporting/Importing Dictionaries |
|
|
186 | (1) |
|
|
187 | (1) |
|
12.3.1 Defining Dictionary Comparisons |
|
|
188 | (1) |
|
12.3.2 Dictionary Comparison Sources |
|
|
188 | (1) |
|
|
188 | (2) |
|
12.4.1 Defining Dictionary Synchronizations |
|
|
189 | (1) |
|
12.4.1.1 Source and Destination |
|
|
189 | (1) |
|
12.4.1.2 Synchronization Mode |
|
|
189 | (1) |
|
12.4.2 Creating Synchronization Versions |
|
|
189 | (1) |
|
|
190 | (1) |
|
|
190 | (1) |
|
13 Sample Questions and Answers |
|
|
191 | (24) |
|
13.1 Company Database Example |
|
|
191 | (11) |
|
|
202 | (1) |
|
|
203 | (1) |
|
13.4 Multiple Choice Questions |
|
|
203 | (12) |
Index |
|
215 | |