Preface |
|
xvii | |
Acknowledgments |
|
xxv | |
|
Introduction to Database Systems |
|
|
1 | (16) |
|
|
1 | (1) |
|
|
1 | (1) |
|
Database Management System |
|
|
2 | (6) |
|
|
8 | (6) |
|
Database Development Process |
|
|
14 | (1) |
|
|
15 | (2) |
|
|
16 | (1) |
|
Conceptual Design and Data Modeling |
|
|
17 | (40) |
|
|
17 | (1) |
|
Introduction to Database Design Process |
|
|
17 | (2) |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
18 | (1) |
|
Understanding Business Process |
|
|
19 | (5) |
|
|
19 | (1) |
|
Case Study: Hillcrest Computing Business Process |
|
|
20 | (1) |
|
Investigating Business Requirements |
|
|
21 | (3) |
|
Entity-Relationship Data Model |
|
|
24 | (11) |
|
|
25 | (1) |
|
Attributes, Identifiers, and Domains |
|
|
25 | (1) |
|
|
26 | (4) |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
32 | (1) |
|
|
33 | (1) |
|
|
34 | (1) |
|
Representing Business Process with Entity-Relationship Model |
|
|
35 | (17) |
|
Determining Entities from Business Information |
|
|
35 | (1) |
|
Identifying Attributes from Business Information |
|
|
36 | (3) |
|
Identifying Relationships among Entities |
|
|
39 | (1) |
|
Identifying Cardinalities |
|
|
40 | (3) |
|
Creating Entity-Relationship Diagrams |
|
|
43 | (1) |
|
|
43 | (3) |
|
|
46 | (4) |
|
Entity-Relationship Modeling |
|
|
50 | (2) |
|
|
52 | (5) |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
53 | (1) |
|
|
54 | (1) |
|
|
54 | (3) |
|
Table Structure and Normalization |
|
|
57 | (30) |
|
|
57 | (1) |
|
|
57 | (5) |
|
|
57 | (1) |
|
|
58 | (2) |
|
|
60 | (1) |
|
|
60 | (2) |
|
|
62 | (21) |
|
|
62 | (4) |
|
|
66 | (1) |
|
|
67 | (1) |
|
|
67 | (1) |
|
|
68 | (2) |
|
Boyce--Codd Normal Form (BCNF) |
|
|
70 | (1) |
|
|
71 | (4) |
|
Domain-Key Normal Form (DKNF) |
|
|
75 | (8) |
|
|
83 | (1) |
|
|
83 | (4) |
|
|
84 | (1) |
|
|
84 | (1) |
|
|
85 | (1) |
|
|
85 | (1) |
|
|
85 | (2) |
|
Transforming Data Models to Relational Databases |
|
|
87 | (36) |
|
|
87 | (1) |
|
|
87 | (1) |
|
|
88 | (1) |
|
Transforming Data Models to Relational Databases |
|
|
89 | (13) |
|
|
89 | (4) |
|
Representing Relationships |
|
|
93 | (9) |
|
|
102 | (2) |
|
Creating Database for Business Process |
|
|
104 | (17) |
|
Creating the Hillcrest Computing Database |
|
|
110 | (1) |
|
|
111 | (2) |
|
|
113 | (2) |
|
|
115 | (3) |
|
Creating Relationship Diagrams |
|
|
118 | (3) |
|
|
121 | (2) |
|
|
121 | (1) |
|
|
122 | (1) |
|
|
122 | (1) |
|
|
122 | (1) |
|
|
122 | (1) |
|
Physical Design and Database Implementation with SQL |
|
|
123 | (36) |
|
|
123 | (1) |
|
|
123 | (1) |
|
|
124 | (1) |
|
Database System Architecture |
|
|
124 | (1) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
125 | (1) |
|
Creating, Controlling, and Modifying Database Objects with SQL |
|
|
125 | (17) |
|
Creating Database Objects |
|
|
126 | (1) |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
128 | (5) |
|
|
133 | (1) |
|
Creating Database Objects in Query Analyzer |
|
|
133 | (3) |
|
Modifying Database Objects |
|
|
136 | (4) |
|
Manipulating Data in Tables |
|
|
140 | (1) |
|
Controlling Database Object Privileges |
|
|
141 | (1) |
|
Transporting Database Data |
|
|
142 | (12) |
|
|
142 | (1) |
|
Importing and Exporting Data |
|
|
143 | (1) |
|
|
143 | (2) |
|
|
145 | (4) |
|
|
149 | (1) |
|
|
149 | (3) |
|
|
152 | (2) |
|
|
154 | (5) |
|
|
154 | (2) |
|
|
156 | (1) |
|
|
156 | (1) |
|
|
157 | (1) |
|
|
157 | (2) |
|
|
159 | (26) |
|
|
159 | (1) |
|
|
159 | (1) |
|
Retrieving Data from Tables |
|
|
159 | (22) |
|
Querying with Select, From and Where Statements |
|
|
160 | (1) |
|
|
160 | (5) |
|
|
165 | (2) |
|
|
167 | (2) |
|
|
169 | (3) |
|
Joining Multiple Tables with SQL |
|
|
172 | (2) |
|
|
174 | (1) |
|
|
175 | (1) |
|
|
176 | (1) |
|
|
176 | (3) |
|
|
179 | (2) |
|
|
181 | (4) |
|
|
182 | (1) |
|
|
183 | (1) |
|
|
183 | (1) |
|
|
183 | (1) |
|
|
184 | (1) |
|
|
185 | (36) |
|
|
185 | (1) |
|
|
185 | (1) |
|
SQL Programming Extension |
|
|
186 | (4) |
|
|
186 | (1) |
|
|
187 | (3) |
|
|
190 | (12) |
|
|
190 | (1) |
|
|
191 | (2) |
|
|
193 | (3) |
|
|
196 | (1) |
|
Viewing and Executing Stored Procedures |
|
|
197 | (1) |
|
Creating, Modifying, and Deleting Stored Procedures |
|
|
198 | (4) |
|
|
202 | (8) |
|
|
203 | (1) |
|
|
203 | (1) |
|
Creating, Modifying, and Deleting Triggers |
|
|
204 | (2) |
|
|
206 | (1) |
|
Validating Business Constraints |
|
|
206 | (2) |
|
Implementing Dynamic Application Logic |
|
|
208 | (1) |
|
Keeping Referential Integrities |
|
|
209 | (1) |
|
|
210 | (7) |
|
|
211 | (2) |
|
|
213 | (2) |
|
|
215 | (1) |
|
|
216 | (1) |
|
|
217 | (4) |
|
|
217 | (1) |
|
|
218 | (1) |
|
|
218 | (1) |
|
|
219 | (1) |
|
|
219 | (2) |
|
Database Views, Indexes, and Cursors |
|
|
221 | (36) |
|
|
221 | (1) |
|
|
221 | (4) |
|
Creating and Managing Views |
|
|
225 | (8) |
|
|
225 | (1) |
|
Creating a View Using Enterprise Manager |
|
|
225 | (1) |
|
Creating a View by Create View Statement |
|
|
226 | (1) |
|
Creating a View by Create View Wizard |
|
|
227 | (2) |
|
|
229 | (1) |
|
|
230 | (1) |
|
Creating Calculated Columns in Views |
|
|
230 | (3) |
|
|
233 | (1) |
|
Creating and Managing Indexes |
|
|
233 | (6) |
|
|
234 | (1) |
|
Creating Indexes with Enterprise Manager |
|
|
234 | (1) |
|
Creating Indexes with Wizard |
|
|
235 | (1) |
|
Creating Indexes with Create Index Statement |
|
|
235 | (1) |
|
|
236 | (1) |
|
Managing Indexes with Enterprise Manager |
|
|
236 | (1) |
|
Managing Indexes with Query Analyzer |
|
|
237 | (1) |
|
Managing Indexes with Stored Procedures |
|
|
237 | (2) |
|
|
239 | (1) |
|
|
239 | (1) |
|
Creating and Managing Cursors |
|
|
239 | (3) |
|
|
240 | (1) |
|
Application Programming Interface (API) Server Cursors |
|
|
240 | (1) |
|
|
241 | (1) |
|
Case Study: Hillcrest Computing |
|
|
242 | (11) |
|
|
253 | (4) |
|
|
253 | (1) |
|
|
254 | (1) |
|
|
254 | (1) |
|
|
254 | (1) |
|
|
255 | (2) |
|
|
257 | (30) |
|
|
257 | (1) |
|
|
257 | (1) |
|
|
258 | (2) |
|
Open Database Connectivity (ODBC) |
|
|
260 | (6) |
|
Object Linking and Embedding Database (OLE DB) |
|
|
266 | (3) |
|
|
269 | (14) |
|
Example: Creating an ADO RecordSet Object |
|
|
279 | (4) |
|
|
283 | (4) |
|
|
283 | (1) |
|
|
284 | (1) |
|
|
284 | (1) |
|
|
284 | (1) |
|
|
285 | (2) |
|
Database Application Development |
|
|
287 | (52) |
|
|
287 | (1) |
|
|
287 | (1) |
|
Understanding Business Process |
|
|
288 | (2) |
|
User Interface Design and Format |
|
|
290 | (6) |
|
|
290 | (3) |
|
Enforcing Cardinality Constraints |
|
|
293 | (3) |
|
|
296 | (27) |
|
Creating Forms with Form Wizard |
|
|
297 | (1) |
|
Creating Forms Based on Views with Form Wizard |
|
|
297 | (1) |
|
Creating Forms Based on Tables with Form Wizard |
|
|
298 | (2) |
|
Creating Forms Based on Stored Procedures with Form Wizard |
|
|
300 | (2) |
|
Creating Forms without Wizard |
|
|
302 | (1) |
|
|
303 | (2) |
|
|
305 | (1) |
|
Placing Controls to Forms |
|
|
305 | (1) |
|
Configuring Properties for Controls |
|
|
306 | (2) |
|
Configuring Option Group with Control Wizard |
|
|
308 | (1) |
|
Configuring Text Box with Conditional Formatting |
|
|
309 | (3) |
|
Programming Event Procedures |
|
|
312 | (1) |
|
Configuring Click Event for Combo Box |
|
|
312 | (2) |
|
|
314 | (1) |
|
Creating Subform with Wizard |
|
|
315 | (3) |
|
Configuring Click Event for Command Button |
|
|
318 | (3) |
|
Configuring Command Button Using Wizard |
|
|
321 | (2) |
|
|
323 | (12) |
|
Creating Reports Using Wizards |
|
|
323 | (1) |
|
Creating Report Based on Table or View |
|
|
323 | (1) |
|
Embedding Subreport in Main Report |
|
|
323 | (2) |
|
Creating Report Based on Stored Procedure |
|
|
325 | (2) |
|
Dynamically Formatting Report Using Conditional Formatting |
|
|
327 | (1) |
|
Creating Comprehensive Reports Using Forms, Reports, and Graphics |
|
|
328 | (1) |
|
Creating More Sophisticated Sales Report |
|
|
328 | (1) |
|
|
329 | (1) |
|
Creating Select Sales Center Form |
|
|
330 | (5) |
|
|
335 | (4) |
|
|
336 | (1) |
|
|
336 | (1) |
|
|
337 | (1) |
|
|
337 | (1) |
|
|
337 | (2) |
|
|
339 | (72) |
|
|
339 | (1) |
|
|
339 | (1) |
|
|
340 | (4) |
|
|
341 | (1) |
|
|
342 | (2) |
|
Introduction to Extensible Markup Language (XML) |
|
|
344 | (12) |
|
XML Data File (.xml File) |
|
|
346 | (1) |
|
XML Schema Definition Language File (.xsd File) |
|
|
347 | (3) |
|
Extensible Stylesheet File (.xsl file) |
|
|
350 | (3) |
|
|
353 | (3) |
|
Developing Database Applications with Visual Studio .NET |
|
|
356 | (28) |
|
Developing Windows Application |
|
|
357 | (1) |
|
GUI Design for Windows Application |
|
|
358 | (3) |
|
Accessing Data with ADO.NET |
|
|
361 | (6) |
|
Writing Code to Perform Activities for Windows Application |
|
|
367 | (5) |
|
Testing Windows Application Project |
|
|
372 | (1) |
|
Developing Web Application |
|
|
372 | (4) |
|
GUI Design for Web Application |
|
|
376 | (1) |
|
Creating Data Adapters and Generating Dataset |
|
|
377 | (3) |
|
Writing Code to Perform Activities for Web Application |
|
|
380 | (3) |
|
Testing Web Application Project |
|
|
383 | (1) |
|
XML Web Services and InfoPath |
|
|
384 | (21) |
|
Creating Web Services with Visual Studio .NET |
|
|
385 | (6) |
|
|
391 | (1) |
|
Creating Form Based on Existing Data Source |
|
|
392 | (3) |
|
Creating Form Receiving Data from XML Web Service Data Source |
|
|
395 | (5) |
|
Creating Form to Submit Data to XML Web Service Data Source |
|
|
400 | (5) |
|
|
405 | (6) |
|
|
407 | (1) |
|
|
407 | (1) |
|
|
407 | (1) |
|
|
408 | (1) |
|
|
409 | (2) |
|
|
411 | (54) |
|
|
411 | (1) |
|
|
411 | (1) |
|
Managing Database User Accounts and Security |
|
|
412 | (12) |
|
|
412 | (1) |
|
Windows Authentication Mode |
|
|
412 | (1) |
|
Mixed Authentication Mode |
|
|
413 | (1) |
|
|
414 | (1) |
|
|
414 | (1) |
|
|
415 | (1) |
|
|
415 | (2) |
|
Creating Roles and Users, and Auditing Log-Ins |
|
|
417 | (1) |
|
|
418 | (1) |
|
|
418 | (2) |
|
|
420 | (4) |
|
Backing Up and Recovering Databases |
|
|
424 | (13) |
|
|
426 | (3) |
|
|
429 | (2) |
|
Configuring Recovery Model |
|
|
431 | (1) |
|
|
431 | (1) |
|
|
432 | (3) |
|
|
435 | (2) |
|
|
437 | (5) |
|
Creating Distribution Database |
|
|
438 | (1) |
|
Configuring Replication Publisher |
|
|
439 | (1) |
|
Configuring Replication Subscriber |
|
|
440 | (2) |
|
Optimizing Database Performance |
|
|
442 | (17) |
|
|
443 | (2) |
|
Tools Used in Performance Tuning |
|
|
445 | (1) |
|
|
446 | (2) |
|
|
448 | (2) |
|
|
450 | (6) |
|
Impact of Database Structure on Performance |
|
|
456 | (1) |
|
|
457 | (1) |
|
|
457 | (1) |
|
|
457 | (2) |
|
|
459 | (1) |
|
Database Maintenance Plan |
|
|
459 | (3) |
|
|
462 | (3) |
|
|
463 | (1) |
|
|
463 | (1) |
|
|
463 | (1) |
|
|
464 | (1) |
|
|
464 | (1) |
|
|
465 | (48) |
|
|
465 | (1) |
|
|
465 | (2) |
|
|
467 | (19) |
|
Data Warehouse Components |
|
|
468 | (1) |
|
Data Warehouse Developing Tools |
|
|
469 | (1) |
|
|
470 | (1) |
|
|
470 | (1) |
|
About Dimensional Modeling |
|
|
470 | (1) |
|
|
471 | (1) |
|
|
472 | (2) |
|
|
474 | (1) |
|
|
474 | (1) |
|
|
474 | (1) |
|
|
475 | (1) |
|
Data Transformation Services (DTS) |
|
|
476 | (10) |
|
OnLine Analytical Processing (OLAP) |
|
|
486 | (22) |
|
|
487 | (1) |
|
|
487 | (2) |
|
|
489 | (2) |
|
|
491 | (1) |
|
|
492 | (1) |
|
Defining Shared Dimensions |
|
|
492 | (1) |
|
|
493 | (2) |
|
|
495 | (1) |
|
|
496 | (4) |
|
|
500 | (1) |
|
Building and Manipulating PivotTable in Excel |
|
|
501 | (5) |
|
Building and Manipulating PivotTable List for Web Application |
|
|
506 | (2) |
|
|
508 | (5) |
|
|
510 | (1) |
|
|
511 | (2) |
|
|
513 | (82) |
|
|
513 | (1) |
|
|
513 | (2) |
|
|
515 | (8) |
|
Data-Mining Process Standards |
|
|
515 | (1) |
|
|
516 | (2) |
|
|
518 | (1) |
|
|
519 | (1) |
|
|
520 | (2) |
|
|
522 | (1) |
|
|
522 | (1) |
|
|
523 | (12) |
|
|
524 | (1) |
|
Constructing Top-Level Node |
|
|
525 | (3) |
|
Constructing Second-Level Node |
|
|
528 | (3) |
|
|
531 | (4) |
|
Developing Data-Mining Models in SQL Server |
|
|
535 | (29) |
|
Preparing Data-Mining Tools in Analysis Services |
|
|
535 | (1) |
|
Using Data Transformation Services to Prepare Data for Data Mining |
|
|
536 | (3) |
|
Exploring Relationships between Predictable Columns and Input Columns |
|
|
539 | (5) |
|
Creating Decision Tree Data-Mining Model Using Single Relational Table |
|
|
544 | (3) |
|
Creating Cluster Data-Mining Models |
|
|
547 | (1) |
|
Creating Cluster Data-Mining Model Using Single Relational Table |
|
|
547 | (2) |
|
Creating Cluster Data-Mining Model Using Multiple Relational Tables |
|
|
549 | (4) |
|
Creating Cluster Data-Mining Model Using OLAP |
|
|
553 | (2) |
|
Deploying Data-Mining Results with DTS |
|
|
555 | (1) |
|
Creating Table for Data-Mining Model and Table for Prediction |
|
|
556 | (1) |
|
Training Data-Mining Model |
|
|
557 | (1) |
|
Predicting Member Cards with DTS |
|
|
557 | (7) |
|
Creating Form to Display Data-Mining Results |
|
|
564 | (1) |
|
|
564 | (3) |
|
|
565 | (1) |
|
|
566 | (1) |
|
|
|
Appendix A: Sample Databases |
|
|
567 | (18) |
|
|
567 | (8) |
|
Hillcrest Computing Database |
|
|
575 | (10) |
|
Appendix B: Installation of SQL Server |
|
|
585 | (6) |
|
|
585 | (6) |
|
Appendix C: Suggested Resources |
|
|
591 | (4) |
|
|
591 | (1) |
|
|
592 | (1) |
|
|
592 | (1) |
|
|
593 | (1) |
|
|
593 | (2) |
Index |
|
595 | |