Introduction |
|
xii | |
|
Relational Database Concepts |
|
|
1 | (11) |
|
Are Spreadsheets Like Databases? |
|
|
2 | (1) |
|
|
3 | (6) |
|
Tables, Rows, and Columns |
|
|
4 | (1) |
|
Primary Keys, Datatypes, and Foreign Keys |
|
|
5 | (1) |
|
|
6 | (3) |
|
Object-Relational Databases |
|
|
9 | (3) |
|
|
9 | (1) |
|
Methods and Encapsulation |
|
|
10 | (1) |
|
|
10 | (1) |
|
Object-Relational Support |
|
|
10 | (2) |
|
SQL*Plus and iSQL*Plus Basics |
|
|
12 | (32) |
|
|
14 | (1) |
|
|
14 | (11) |
|
|
15 | (3) |
|
|
18 | (3) |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
22 | (2) |
|
|
24 | (1) |
|
The Ubiquitous SELECT Statement |
|
|
25 | (4) |
|
|
25 | (2) |
|
|
27 | (1) |
|
|
27 | (1) |
|
|
28 | (1) |
|
|
29 | (5) |
|
|
30 | (2) |
|
|
32 | (1) |
|
|
33 | (1) |
|
|
34 | (1) |
|
DDL for Handling Database Objects |
|
|
34 | (6) |
|
|
35 | (2) |
|
|
37 | (1) |
|
|
38 | (1) |
|
|
38 | (1) |
|
|
39 | (1) |
|
DCL for Handling Privileges |
|
|
40 | (4) |
|
|
40 | (1) |
|
|
41 | (3) |
|
Oracle Database Functions |
|
|
44 | (26) |
|
|
46 | (6) |
|
|
46 | (2) |
|
NULLs: What, When, Why, and How |
|
|
48 | (1) |
|
String Literals and Concatenating Strings |
|
|
49 | (1) |
|
|
50 | (1) |
|
Operators and Operator Precedence |
|
|
50 | (2) |
|
Built-in Single-Row Functions |
|
|
52 | (13) |
|
|
52 | (3) |
|
|
55 | (3) |
|
|
58 | (2) |
|
|
60 | (2) |
|
|
62 | (3) |
|
|
65 | (5) |
|
Restricting, Sorting, and Grouping Data |
|
|
70 | (24) |
|
|
72 | (11) |
|
|
72 | (2) |
|
|
74 | (2) |
|
|
76 | (5) |
|
|
81 | (2) |
|
|
83 | (2) |
|
Group Functions and the Group By Clause |
|
|
85 | (9) |
|
|
85 | (2) |
|
|
87 | (2) |
|
Using NVL with Group Functions |
|
|
89 | (1) |
|
|
90 | (4) |
|
|
94 | (24) |
|
Join Syntax: Out with the Old and In with the New (SQL:1999) |
|
|
96 | (1) |
|
|
96 | (7) |
|
Pre-Oracle9i Equijoin Syntax |
|
|
97 | (2) |
|
|
99 | (4) |
|
|
103 | (2) |
|
Pre-Oracle9i Non-equijoin Syntax |
|
|
103 | (1) |
|
Oracle9i Non-equijoin Syntax |
|
|
104 | (1) |
|
|
105 | (6) |
|
Pre-Oracle9i Outer Join Syntax |
|
|
105 | (3) |
|
Oracle9i Outer Join Syntax |
|
|
108 | (3) |
|
|
111 | (3) |
|
Pre-Oracle9i Self-Join Syntax |
|
|
112 | (1) |
|
Oracle9i Self-Join Syntax |
|
|
113 | (1) |
|
Cartesian Products: The Black Sheep of the Family |
|
|
114 | (4) |
|
Pre-Oracle9i Cartesian Product Syntax |
|
|
114 | (1) |
|
Oracle9i Cartesian Product Syntax |
|
|
115 | (3) |
|
|
118 | (22) |
|
|
120 | (6) |
|
|
120 | (1) |
|
|
121 | (2) |
|
|
123 | (2) |
|
Multiple-Column Subqueries |
|
|
125 | (1) |
|
|
126 | (8) |
|
|
126 | (4) |
|
|
130 | (2) |
|
|
132 | (2) |
|
|
134 | (6) |
|
|
135 | (1) |
|
|
136 | (4) |
|
|
140 | (16) |
|
|
142 | (9) |
|
|
142 | (2) |
|
|
144 | (2) |
|
|
146 | (1) |
|
|
147 | (2) |
|
|
149 | (2) |
|
|
151 | (5) |
|
|
152 | (1) |
|
|
153 | (1) |
|
|
154 | (2) |
|
Installing Oracle and Creating a Database |
|
|
156 | (22) |
|
Oracle Components Overview |
|
|
158 | (8) |
|
Logical Storage Structures |
|
|
158 | (2) |
|
Physical Storage Structures |
|
|
160 | (2) |
|
|
162 | (3) |
|
|
165 | (1) |
|
Installing Oracle Software |
|
|
166 | (5) |
|
Using the Oracle Universal Installer |
|
|
166 | (3) |
|
Using the Oracle Enterprise Manager and Tools |
|
|
169 | (2) |
|
Creating an Oracle Database |
|
|
171 | (7) |
|
Disk and Memory Requirements |
|
|
171 | (1) |
|
Using the Database Configuration Assistant |
|
|
171 | (7) |
|
|
178 | (22) |
|
|
180 | (4) |
|
|
180 | (2) |
|
|
182 | (2) |
|
|
184 | (1) |
|
|
184 | (8) |
|
|
185 | (3) |
|
|
188 | (1) |
|
|
189 | (2) |
|
Summary Operations (Totals) |
|
|
191 | (1) |
|
|
192 | (3) |
|
Saving and Running Scripts |
|
|
195 | (5) |
|
Creating and Maintaining Database Objects |
|
|
200 | (22) |
|
|
202 | (6) |
|
|
202 | (1) |
|
Create Table As Select (CTAS) |
|
|
203 | (2) |
|
|
205 | (3) |
|
|
208 | (1) |
|
|
208 | (2) |
|
|
210 | (7) |
|
|
210 | (2) |
|
|
212 | (3) |
|
Dynamic Performance Views |
|
|
215 | (2) |
|
Creating Sequences and Synonyms |
|
|
217 | (5) |
|
|
217 | (2) |
|
|
219 | (3) |
|
|
222 | (18) |
|
|
224 | (3) |
|
|
224 | (1) |
|
Creating and Assigning Profiles |
|
|
225 | (1) |
|
Assigning Default Tablespaces and Quotas |
|
|
226 | (1) |
|
Granting and Revoking Privileges |
|
|
227 | (7) |
|
|
228 | (1) |
|
|
229 | (3) |
|
Creating and Assigning Roles |
|
|
232 | (2) |
|
|
234 | (6) |
|
|
234 | (2) |
|
|
236 | (4) |
|
Making Things Run Fast (Enough) |
|
|
240 | (26) |
|
Oracle's Tuning Methodology |
|
|
242 | (1) |
|
|
243 | (8) |
|
|
243 | (1) |
|
|
244 | (3) |
|
Creating, Dropping, and Maintaining Indexes |
|
|
247 | (1) |
|
|
248 | (2) |
|
Data Dictionary Index Information |
|
|
250 | (1) |
|
|
251 | (5) |
|
|
251 | (3) |
|
|
254 | (2) |
|
|
256 | (5) |
|
|
256 | (1) |
|
Explain Plan Graphical Tool |
|
|
257 | (1) |
|
|
258 | (3) |
|
|
261 | (5) |
|
Saving Your Stuff (Backups) |
|
|
266 | (22) |
|
|
268 | (1) |
|
User Backup and Recovery Methods |
|
|
268 | (8) |
|
Export and Import for Users |
|
|
269 | (4) |
|
|
273 | (3) |
|
DBA Backup and Recovery Methods |
|
|
276 | (12) |
|
Export and Import for DBAs |
|
|
276 | (5) |
|
|
281 | (1) |
|
|
281 | (1) |
|
|
282 | (2) |
|
|
284 | (4) |
|
|
288 | (15) |
|
|
290 | (3) |
|
Locating the Alert Log File |
|
|
290 | (1) |
|
Viewing the Alert Log File |
|
|
291 | (1) |
|
Maintaining the Alert Log File |
|
|
291 | (2) |
|
|
293 | (3) |
|
|
296 | (1) |
|
|
297 | (6) |
|
|
298 | (1) |
|
Locating the User Trace Files |
|
|
298 | (2) |
|
Converting the Trace File |
|
|
300 | (3) |
|
Appendix A Answers to Review Questions |
|
|
303 | (12) |
|
|
304 | (1) |
|
|
304 | (1) |
|
|
305 | (1) |
|
|
306 | (1) |
|
|
307 | (1) |
|
|
307 | (1) |
|
|
308 | (1) |
|
|
309 | (1) |
|
|
309 | (1) |
|
|
310 | (1) |
|
|
311 | (1) |
|
|
312 | (1) |
|
|
312 | (1) |
|
|
313 | (2) |
|
|
315 | (12) |
|
Appendix C Common Database Platforms |
|
|
327 | (4) |
Index |
|
331 | |