Principles of Database Systems With Internet and Java Applications
This book provides a concise and modern treatment of introductory database topics that enlists Java and the Internet to present core Database Management (DBMS) theory from an applications perspective. It incorporates programming and database applications when presenting the core theory behind DBMS and their applications.
Information management is the central theme of Principles of Database Systems with Internet and Java Applications. The book motivates the development of data models and the representation of information in relational database systems. Students learn how to define database content with Entity-Relationship models, and how to represent that content in relational systems. They become thoroughly familiar with the SQL language, and learn exactly what is required to build quality information-rich applications. Students also learn how the World Wide Web and Java can work together to publish and collect information in the widest possible context.
This book covers the basic material of information management in detail. Topics covered include analyzing information requirements, conceptual data modeling, translation of conceptual models to relational needs, normalization of relational schemas, SQL, and database application programming. Additional topics include object-oriented modeling and object databases, database performance and optimization, constraints and triggers, transactions, and file structures.
The interaction between applications and databases is discussed and illustrated in the context of Web sites. The JDBC classes of Java provide a database- and platform-independent method of creating database applications, and all of these classes are thoroughly discussed with abundant examples. After learning the fundamentals of HTML and CGI programming, students create their own Web sites using Java programs to service CGI requests and generate HTML responses. Further topics include the use of Java servlets to replace CGI programs and the use of Java I/O classes for the development of file structures.
The Java language provides the foundation for all programming examples because of its portable approach to database access through the JDBC classes. Students do not need extensive experience with Java before using this book, only knowledge of an object-oriented language.
- Presents the traditional topics covered in a first database course with emphasis on working with DBMS (as opposed to focusing on theoretical concepts behind creating DBMS, and advanced topics).
- Includes a running case study—"Big Hit Video, Inc."—to illustrate the implementation of core concepts in Microsoft Access and SQL by building from simple to complex.
- Introduces Java in an appendix so students can cover the necessary aspects of the language to complete the exercises in the text.
- Provides an actual full DB implementation in Access and in SQL and a sample Web site with all required Java classes.
(Most chapters contain "Chapter Summary," "Key Terms," "Exercises," and "Further Readings.")
1. Information Management and Database Systems.
How Databases Represent Information.
People in Database Systems.
Management of Information.
Databases and the World Wide Web.
Database Concepts and Architecture.
Phases of an Information System Life Cycle`.
History of Database Systems.
I. INFORMATION MODELS AND RELATIONAL DATABASES.
2. Representing Information with Data Models.
An ER Model for BigHit Video.
3. Advanced Data Models.
Object-Oriented Data Modeling.
An OO Model for BigHit.
4. The Relational Data Model.
Translation From ER Model to Relation Schemas.
Building Databases in Microsoft Access.
5. Improving the Quality of Database Designs.
Referential Integrity and Other Constraints.
II. MANIPULATING RELATIONAL DATA.
6. Techniques for Manipulating Relational Data.
Describing Queries with Relational Calculus.
Defining Queries with QBE and Microsoft Access.
7. SQL, the Standard Query Language.
Modifying Database Content with SQL.
Creating and Manipulating Schemas with SQL.
III. DATABASE APPLICATIONS AND THE WORLD WIDE WEB.
8. Applications Programming for Relational Databases.
JDBC Packages and Database Connections.
Connecting to Databases with JDBC.
Connecting to Databases with Class DBConnect.
Executing Select Statements.
A simple Java SQL Application.
Executing Insert and Update Statements.
Executing Other Statements.
A Sample BigHit Video Application in Java.
User Interfaces in Microsoft Access.
9. Supporting Database Interaction on the World Wide Web.
Active Urls and Forms in HTML.
Using Java to Generate HTML.
CGI Programming with Java.
Servlet Applications for BigHit Video.
10. Enhancing Object-Oriented Applications with JDBC.
Prepared Statements and Callable Statements.
Advanced Features of JDBC.
Result Sets in JDBC.
Integrating Result Sets and HTML Forms.
IV. PHYSICAL CHARACTERISTICS OF DATABASES.
11. Managing Information in Files.
Manipulating Streams and Files in Java.
Methods for Representing Values in Streams.
Reading and Writing Binary Values with Data Streams.
Representing Relational Tables as Files.
Files of Records.
Direct Access to Records by Address.
Updating and Deleting Records.
12. Techniques for Improving Access to Information by Value.
Multi-Level Indexes and B+ Trees.
Representing Indexes with Hash Tables.
Specifying Physical Database Characteristics.
V. ACHIEVING PERFORMANCE AND RELIABILITY WITH RELATIONAL DATABASE SYSTEMS.
13. Query Processing and Query Optimization.
Processing Projection Queries and Eliminating Duplicates.
Processing Join Queries.
Query Plans and Query Optimization for Complex Relational Expressions.
Query Optimization and Database Analysis in Oracle8.
14. Transaction Processing.
Concurrent Transaction Processing.
Recoverable Transaction Schedules.
Serializable Transaction Schedules.
15. Reliability and Security in Database Servers.
Security in Relational Database Systems.
Stored Procedures and Functions.
VI. OBJECT-ORIENTED AND DISTRIBUTED INFORMATION SYSTEMS.
16. Developing Object-Oriented Distributed Applications.
Transactions in Java.
17. Representing Information with Object-Oriented Data Models.
Implementing Conceptual Model Inheritance in Java.
Making Objects Persistent.
Translation From ER Model to the Java Object Model.
Using Java for BigHit Video Case Study.
Appendix: A Brief Introduction to Java.
Compilation and Execution.
Packages and Names.
Class and Virtual Method Hierarchies.
Exceptions and Exception Handling.
Application Programming Interfaces (API).