Skip to content

Understanding SQL and Java Together A Guide to SQLJ, JDBC, and Related Technologies

Best in textbook rentals since 2012!

ISBN-10: 1558605622

ISBN-13: 9781558605626

Edition: 2000

Authors: Jim Melton, Andrew Eisenberg, Jim Gray

List price: $52.95
Blue ribbon 30 day, 100% satisfaction guarantee!
Out of stock
We're sorry. This item is currently unavailable.
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

This text covers the use of Java for accessing database systems. Focusing largely on SQLJ, other approaches are included with coverage based on using real products.
Customers also bought

Book details

List price: $52.95
Copyright year: 2000
Publisher: Elsevier Science & Technology Books
Publication date: 5/10/2000
Binding: Mixed Media
Pages: 514
Size: 7.75" wide x 9.50" long x 1.25" tall
Weight: 2.090
Language: English

A Note from the Series Editor
Foreword
Preface
Introduction
Overview of the Book
Road Map
What Problem Needs Solving?
Putting Java and Persistent Data Together
Java and "Native" Interfaces
Java Serialization
Static SQL, Dynamic SQL, and ODBC (SQL/CLI)
JDBC, with and without ODBC
SQLJ Specifications and Standards
Java Blend
Interfaces to (ODMG-Compliant) OODBMSs
Chapter Summary
Java for the SQL Programmer
Introduction
The Java Environment
Control Flow in Java
Java Data Types
Primitive Data Types
Object Wrappers for the Primitive Data Types
Strings
The BigDecimal Class
Arrays
Java Classes
Fields, Methods, and Constructors
Method Invocation
Static Fields, Static Methods, and Static Initializers
The main Method
Garbage Collection
Object-Oriented Aspects of Java
Inheritance
The Object Class
Polymorphism
Abstract Classes and Methods
Interfaces
Exceptions
Packages
Serialization and Externalization
Serialization
Externalization
JAR Files
Other Features of the Java Programming Language
Chapter Summary
SQL for the Java Programmer
Introduction
SQL--What Is It and What's It Good For?
Application Languages versus Data Sublanguages
Procedural versus Nonprocedural Languages
SQL's Background and Focus
SQL Language Resources
SQL Examples
Data Retrieval
Data Creation
Updating Data
Removal of Data
More Complex Operations
Stored Routines
Why Use SQL Instead of an OODBMS?
SQL and Java Together
Object Models: SQL and Java
Data Type Relationships
Null Values, 3-Valued Logic, and Related Issues
SQL and Programming Languages
Embedded SQL (and Module Language)
Dynamic SQL
Call-Level Interfaces
Result Sets
Data and Metadata--Relationships and Differences
Chapter Summary
JDBC 1.0 API
Introduction
Types of JDBC Implementations
JDBC Implementations
SQL Statements
Registering JDBC Drivers
Connecting to a Database
JDBC URLs
getConnection
Examining Database Metadata
Executing an SQL Statement Once
SELECT Statements
Positioned Update and Delete Statements
DML and DDL Statements
Unknown Statements and Call Statements
SQL Exception and Warning Conditions
Executing an SQL Statement Multiple Times
Executing a Call Statement
Asynchronous Execution
JavaSoft JDBC-ODBC Bridge
Chapter Summary
SQLJ Part 0
Introduction
SQLJ--An Informal Group of Companies
Writing an SQLJ Part 0 Program
A Simple SQLJ Part 0 Program
Connection Contexts
Execution Contexts
Host Variables and Expressions
Data Type Issues
Calling Stored Routines
Result Set Iterators
Other SQLJ Part 0 Statements
SQLJ Part 0/JDBC Interoperability
Using SQLJ Part 0 Inside a Database
SQLJ Part 0 Translator
Binary Portability
Customization of an SQLJ Part 0 Application
Execution of Your SQLJ Part 0 Application
Levels of Conformance
SQLJ Part 0 Reference Implementation Translator
Products Supporting SQLJ Part 0
Advantages of SQLJ Part 0
SQLJ Part 0 Runtime Interfaces and Classes
sqlj.runtime.AsciiStream
sqlj.runtime.BinaryStream
sqlj.runtime.ConnectionContext
sqlj.runtime.ExecutionContext
sqlj.runtime.ForUpdate
sqlj.runtime.NamedIterator
sqlj.runtime.PositionedIterator
sqlj.runtime.ResultSetIterator
sqlj.runtime.StreamWrapper
sqlj.runtime.UnicodeStream
sqlj.runtime.SQLNullException
SQLJ Part 0 Exceptions
Chapter Summary
SQLJ Part 1
Introduction
Review of SQL/PSM
Installing JAR Files in SQL
Creating Procedures and Functions
Using a Method in an SQL Function
Using a Method in an SQL Procedure
Special Treatment for the main Method
Null Values
Static Variables
Privilege Checking
Exceptions
SQL-Java Paths
Privileges
Dropping Java Routines
Deployment Descriptors
Operations on JAR Files
Installing JAR Files
Replacing JAR Files
Removing JAR Files
Optional Features in SQLJ Part 1
Status Codes
Products in the Marketplace
The Value Proposition for SQLJ Part 1
Chapter Summary
SQL User-Defined Types
Introduction
User-Defined Types
Evolution of Type Systems
Introducing User-Defined Types
SQL: 1999 User-Defined Types
Distinct Types
Introducing Structured Types
Structured Types
Major Characteristics
Attributes
Behaviors and Semantics
Creating Instances of Structured Types
Using Structured Types
Storing in the Database
Updating in the Database
Retrieving from the Database
Deleting from the Database
Copying an Instance from One Site to Another
User-Defined Type Locators
Transforms and Transform Groups
The Type Predicate
Type Hierarchies
What Is a Type Hierarchy?
Subtypes and Supertypes
Single Inheritance
Most Specific Type
Substitutability
Polymorphism and Overloading (Redux)
Typed Tables
Relationship to Structured Types
REF Types and REF Values
Scope
Dereferencing REF Values
Invoking Methods on Rows of Typed Tables
Data Modeling Decisions
Table Hierarchies
Relationship to Type Hierarchies
Table Hierarchy Model
Syntax Enhancements
Implementation Issues
SQL Object Model
Why Does SQL Have an Object Model?
SQL Object Model Summary
A Java-SQL Translation Dictionary
Limitations: Technical and Economic
Chapter Summary
SQLJ Part 2
Introduction
Associating a Class and a Structured Type
Creating Instances of External Java Datatypes
Referencing the Fields of External Java Datatypes
Using Java Methods in SQL
Using Java Methods That Modify an Object
Static Methods
Static Fields
Null Values
Ordering
Subtypes
Extending the Mappable Types
Deployment Descriptors
Products in the Marketplace
Sybase Adaptive Server Anywhere
Cloudscape
Chapter Summary
JDBC 2.0 API
Introduction
Scrollable Result Sets
Hints for the JDBC Driver
Updatable Result Sets
Result Set Sensitivity
Execution of Batches
SQL:1999 Data Types
BLOBs and CLOBs
Arrays
REF Type
Distinct User-Defined Data Types
Structured User-Defined Data Types
Java Objects in the Database
Customizing SQL Types
JDBC 2.0 Optional Package API
Implementation of the JDBC 2.0 API
Chapter Summary
Java Blend
Introduction
Java Blend Architecture
Mapping between the Models
Simple Tables
One-to-Many Relationships
Many-to-Many Relationships
Subtypes
Building a Java Blend Application
Creating the Mapping: Database to Java
Writing OQL Queries
The preprocess Command
The Database Class
The Transaction Class
Writing Our Applications
Additional Java Blend Features
Optimistic Concurrency Control
Prefetch
Object Caching
ODMG
Language-Independent Specifications
The Java Binding for ODMG
How Java Blend Relates to ODMG 2.0
Other Products That Support ODMG 2.0
Chapter Summary
GUI Java Application Builders
Introduction
Why Use a GUI Application Builder for Java?
PowerJ, JDeveloper, and Visual J++
PowerJ by Sybase
JDeveloper by Oracle
Visual J++ by Microsoft
Other Products
Chapter Summary
Future Developments and Standards Processing
Introduction
Starting the New Millennium
The More Distant Future
Standards Processing of Java, JDBC, and SQLJ Technologies
Less Formal Standardization
Acceptance, Implementation, and Wide Use
Chapter Summary
A Final Word
Relevant Standards Bodies
Introduction
Contacting ISO
Selected National Standards Bodies
Purchasing Standards Electronically
Database Schema Used in Our Example
Introduction
The movies Table
The awards Table
The votes Table
The movies_in_stock Table
The movie_stars Table
Movie and Vote Classes
Introduction
The Movie Class
The Vote Class
The VoteOutOfRange Exception Class
SQL/PSM Syntax
Introduction
SQL PSM Syntax
SQLJ Part 0 Syntax
Introduction
Names and Identifiers
[host expression list]
[parameter mode]
[with clause]
[implements clause]
[SQLJ clause]
[connection declaration clause]
[iterator declaration clause]
[positioned iterator]
[named iterator]
[executable clause]
[context clause]
[statement clause]
[sql clause]
[positioned sql clause]
[select into clause]
[fetch clause]
[set statement clause]
[commit clause]
[rollback clause]
[set transaction clause]
[procedure clause]
[assignment clause]
[query clause]
[function clause]
[iterator conversion clause]
SQL blocks
SQLJ Part 1 Syntax
Introduction
Names and Identifiers
SQL-Java Paths
SQLJ Procedures
DDL Statements
Create Procedure/Function Statement
Drop Procedure/Function Statement
Grant Statement
Revoke Statement
Deployment Descriptor Files
SQL UDT Syntax
Introduction
SQL User-Defined Type Syntax
SQLJ Part 2 Syntax
Introduction
Names and Identifiers
DDL Statements
Create Type Statement
Create Ordering Statement
Drop Type Statement
SQLJ Member References
SQLJ Method Call
Deployment Descriptor Files
The PlayingCard Classes
Introduction
The PlayingCard Class
The PlayingCardAceLow Class
The PlayingCardGui Class
The PlayingCardEnum Class
The Deck Class
Index
About the Authors
Oracle JDeveloper Suite 2.0 License Agreement
Sybase, Inc. Evaluation License Agreement
About the CD-ROM