jdbc1.ppt
-
Upload
jagan-nathan -
Category
Documents
-
view
215 -
download
0
Transcript of jdbc1.ppt
-
7/30/2019 jdbc1.ppt
1/25
Java and Databases
CS-328
Dick Steflik
-
7/30/2019 jdbc1.ppt
2/25
Database Drivers
Think of a database as just another device
connected to your computer
like other devices it has a driver program to
relieves you of having to do low level
programming to use the database
the driver provides you with a high level api
to the database
-
7/30/2019 jdbc1.ppt
3/25
ODBC
Open Data Base Connectivity
Developed by Microsoft for the Windows
platform as the way for Windows
applications to access Microsoft databases
(SQL Server, FoxPro, Access)
Has become an industry standard
Most data base vendors supply native, odbc,
and jdbc drivers for their data base products
-
7/30/2019 jdbc1.ppt
4/25
-
7/30/2019 jdbc1.ppt
5/25
JDBC Driver Types
Type 1
JDBC-ODBC Bridge
Type 2
Native API, partially java
Type 3
JDBC Network Driver, partially java
Type 4
100% Java
-
7/30/2019 jdbc1.ppt
6/25
Type 1 Drivers
Translate JDBC into ODBC and use
Windows ODBC built in drivers
ODBC must be set up on every client
driver must be physically on each machine for
both java applications and applets
for server side servlets ODBC must be set upon web server
driver sun.jdbc.odbc.JdbcOdbc provided by
JavaSoft with JDK
-
7/30/2019 jdbc1.ppt
7/25
Type 1 Driver (cont.)
Client JDBC-
ODBC
ODBC DB
Vendor
Library
-
7/30/2019 jdbc1.ppt
8/25
Type 2 Drivers
Converts JDBC to data base vendors native
SQL calls
like Type 1 drivers; requires installation of
binaries on each client
-
7/30/2019 jdbc1.ppt
9/25
Type 2 Drivers (cont.)
Client JDBC
Vendor
Library
DB
-
7/30/2019 jdbc1.ppt
10/25
Type 3 Drivers
Translates JDBC to a DBMS independent
network protocol
Typically talks directly with a middleware
product which in turn talks to the RDBMS
Jaguar, DBAnywhere, SequeLink
Most flexible driver type
all java
-
7/30/2019 jdbc1.ppt
11/25
Type 3 Drivers (cont.)
Client JDBC Vendor
MiddlewareDB
Tier 1 Tier 2 Tier 3
-
7/30/2019 jdbc1.ppt
12/25
Type 4 Drivers
Converts JDBC directly to native API used
by the RDBMS
compiles into the application , applet or
servlet; doesnt require anything to be
installed on client machine, except JVM
handiest driver type
-
7/30/2019 jdbc1.ppt
13/25
Type 4 Drivers (cont.)
Client JDBC DB
-
7/30/2019 jdbc1.ppt
14/25
Structured Query Language
Developed by C. Date for Relational Data
Base Management Systems (RDBMS)
Simple Declarative Language
has no program control statements
-
7/30/2019 jdbc1.ppt
15/25
SQL
Two categories of commands
Data Manipulation Commands
deal with:
RETRIEVING DATA
MAINTAINING DATA (ADDING,
UPDATING,DELETING
Data Definition Commands DEAL WITH:
CREATING DATABASE OBJECTS (TABLES,VIEWS)
Object organization and attributes
-
7/30/2019 jdbc1.ppt
16/25
Referential Integrity
Rules to insure that table data stays accurate
and accessible
rows in a table should be unique
one column should contain no duplicate data
primary key
column values cannot contain repeating groupsor arrays
null is different than space and zero, 2 null
values are not considered equal
-
7/30/2019 jdbc1.ppt
17/25
Data Manipulation Commands
Select - query and display data from a
database
Insert - a new row into a table
Update - modify a column in a table
Delete a row from a table
-
7/30/2019 jdbc1.ppt
18/25
Select
Select (column list) from (sources) where (conditions) order by (ocolumn list)
column list - comma separated list of names of columns to be in output
Ex. ssn , lastname , firstname,gpa
can contain literals to be included in output Ex. Ssn,~,lastname,~,firstname
sources - name(s) of table(s) to retrieve data from
conditions (optional) - conditions for selections
lastname like S%
(lastname = Steflik) and (firstname like R%)
ocolumn list (optional)- list of columns that output should be ordered by
Ex
select * from student
select lastname,fristname from student where gpa > 3.0
select lastname,firstname from student order by lastname,firstname
-
7/30/2019 jdbc1.ppt
19/25
Select - joined tables
Two tables may be joined and viewed as a
single data source is the both have a
common column
suppose we have 2 tables: Inventory and
category and each has a column called
catg_code
In category catg_code is unique and is the
primary key
-
7/30/2019 jdbc1.ppt
20/25
Select - joined tables (cont.)
P_no Catg_code qty Catg_code descr
Inventory Category
join
-
7/30/2019 jdbc1.ppt
21/25
Select - joined tables (cont.)
To retrieve all of the part numbers and the
name of the category to which the part
belongs: select inventory.p_no category.descr from inventroy , category
select a.p_no, ,b.descr from a inventory , b category
-
7/30/2019 jdbc1.ppt
22/25
Insert
Add a row to a table insert into category values(IGN,Ignition System)
use jdbc execute Update method ex. Stmt.executeUpdate(insert into Category values(IGN,Ignition System));
-
7/30/2019 jdbc1.ppt
23/25
Update
Modify an existing row in a table update category set descr = Ignition Subsystem where catg_code = IGN
Use jdbc executeUpdate method String s = update category set descr = Ignition Subsystem where catg_code =
IGN ;
stmt.executeUpdate(s);
-
7/30/2019 jdbc1.ppt
24/25
Delete
Remove a row from a table delete from category where catg_code = IGN
remove the IGN category
delete from category where catg_code like I% remove all rows where catg_code starts with an I
-
7/30/2019 jdbc1.ppt
25/25
Data Definition Commands
Create table
add a table to a database
Drop Table
remove a table from a database
Alter Table
add or delete column(s)