Applications
- Getting started
- Definitions
- First program
- Characters and Strings
- Object and methods
- Arrays and Circles
- Exceptions
- The main method
- Reading
- Writing file
- Vectors
- Stacks
- Map The Dictionary
- Lists
- Linked lists
- Collection
- Interfaces
- Scanner
- StringTokenizer
- Generics
- JDBC
- DataBase Queries
- JSP, The main step
Graphics
Applets
- Regards
- One Picture
- Calculator
- Random pictures
- Bouncing picture
Swings
- Buttons listeners
- TextFields
- Swing Example
JavaBeans
- The first step
- Example
© The scientific sentence. 2010
|
Java databases
Databases Basic Commands
Preface | The main commands | Some different types | Different sorts of constraints | About keys | Using References (Linked tables)
-----------------
1. Little preface:
----------------
In 1975, SQUARE appeared. SEQUEL2 had been derived from this
first version during the 1970s. In 1982, IBM proposed a new version.
Now, We deal with Access of MS and SQL from Oracle.
A database is a set of tables. In a relational database, the tables
are linked by a field (column). Extracting information from this set
of tables ( database) is done by queries under command lines on the
prompt.The language of a database is SQL (ronounced es-kew-el or sequel
(sikwel). It comes from Oracle company. SQL is the standard "language"used
to investigate databases. It stands for Structured Query Language.The well
known databases are Access (database Microsoft), MySQL (database SQL), and
Oracle, all of them use SQL sever.
(The orders below witout examples have to be tested.)
---------------------
2. The main commands:
--------------------
ORDER 0: CONNECT
--------
SQL> connect
Enter user-name: System
Enter password:
Connected.
ORDER 1: CREATE TABLE:
----------------------
SQL> CREATE TABLE table name
(column name column type [attribute constraint]
{, column name column type [attribute constraints] }
[table constraint {,table constraint}]);
or:
SQL> CREATE TABLE Table-Name(
Col-Name1 Col-Type1 NOT NULL,
Col-Name2 Col-Type2 NOT NULL,
... );
Where :
Table-Name is the name of the table to create.
Col-Namei is the name of the " i "column in the table, and
Col-Typei its type (for instance numbre, varchar, ...)
NOT NULL mentions that that the cell will not be null.
We have parenthesis after Table-Name until the end.
Do comma after every column creation.
end the commande with semi-colon ";".
Example:
SQL>CREATE TABLE Students(
StudentID NUMBER(5,0) NOT NULL ,
CourseNumber VARCHAR2(15) NOT NULL ,
CourseName VARCHAR2(25) ,
Semester VARCHAR2(10) ,
Year NUMBER(4,0),
Grade VARCHAR2(2));
ORDER 2: INSERT:
----------------
SQL> INSERT INTO table name [( column name{, column name} ) ]
(VALUES ( constant value , { constant value} ){,(constant value{,constant value})}
| select statement);
or:
SQL> INSERT INTO
TABLE(FIELD1, FIELD2, FIELD3, ..., FIELDi, ...)
VALUES(VALUE1, VALUE2, VALUE3, ..., VALUEi, ...);
Where :
TABLE is the name of the table where to insert values.
FIELDi is the field i used in the creation of the table. That is the Col_Namei
(the name of the column i)
VALUEi is the value to give to the field i.
Example:
SQL>INSERT INTO Students VALUES (101, 'CIS3400', 'DBMS I', 'FALL', 1997, 'B+');
INSERT INTO Students VALUES (101, 'CIS3100', 'OOP I', 'SPRING', 1999, 'A-');
INSERT INTO Students VALUES (101, 'MKT3000', 'Marketing', 'FALL', 1997, 'A');
INSERT INTO Students VALUES (102, 'CIS3400', 'DBMS I', 'SPRING', 1997, 'A-');
INSERT INTO Students VALUES (102, 'CIS3500', 'Network I', 'SUMMER', 1997, 'B');
INSERT INTO StudentsVALUES (102, 'CIS4500', 'Network II', 'FALL', 1997, 'B+');
INSERT INTO Students VALUES (103, 'MKT3100', 'Advertizing', 'SPRING', 1998, 'A');
INSERT INTO Students VALUES (103, 'MKT3000', 'Marketing', 'FALL', 1997, 'A');
INSERT INTO StudentsVALUES (103, 'MKT4100', 'Marketing II', 'SUMMER', 1998, 'A-');
ORDER 3: SELECT:
----------------
SQL> SELECT attribute list FROM table name;
Example:
SQL> select * from Students;
STUDENTID COURSENUMBER COURSENAME SEMESTER YEAR GR
---------- --------------- ------------------------- ---------- ---------- --
101 CIS3100 OOP I SPRING 1999 A-
101 MKT3000 Marketing FALL 1997 A
102 CIS3400 DBMS I SPRING 1997 A-
102 CIS3500 Network I SUMMER 1997 B
103 MKT3100 Advertizing SPRING 1998 A
103 MKT3000 Marketing FALL 1997 A
101 CIS3400 DBMS I FALL 1997 B+
101 CIS3100 OOP I SPRING 1999 A-
101 MKT3000 Marketing FALL 1997 A
102 CIS3400 DBMS I SPRING 1997 A-
102 CIS3500 Network I SUMMER 1997 B
STUDENTID COURSENUMBER COURSENAME SEMESTER YEAR GR
---------- --------------- ------------------------- ---------- ---------- --
103 MKT3100 Advertizing SPRING 1998 A
103 MKT3000 Marketing FALL 1997 A
13 rows selected.
top
ORDER 4: DESCRIBE:
-----------------
describe (or desc) TABLE;
-------------------------
Example:
SQL> describe Students;
Name Null? Type
----------------------------------------- -------- ----------------------------
STUDENTID NOT NULL NUMBER(5)
COURSENUMBER NOT NULL VARCHAR2(15)
COURSENAME VARCHAR2(25)
SEMESTER VARCHAR2(10)
YEAR NUMBER(4)
GRADE VARCHAR2(2)
ORDER 5 : DROP TABLE:
----------------------
SQL> DROP TABLE table name;
Example:
SQL> create table PROJECT (
2 PNO number(3),
3 PNAME varchar2(60) unique,
4 PMGR number(4) not null,
5 PERSONS number(5),
6 BUDGET number(8,2) not null,
7 PSTART date,
8 PEND date);
Table created.
SQL> drop table PROJECT;
Table dropped.
ORDER 6 : ALTER and ADD COLUMN:
-------------------------------
SQL> ALTER TABLE table name ADD column name column type;
ORDER 7: DISTINCT:
------------------
SQL> SELECT [DISTINCT] attribute list
FROM (table name { } | joined table) {, (table name { } | joined table) }
[WHERE ]
[GROUP BY grouping attributes [HAVING group selection condition ] ]
[ORDER BY column name [order] {, column name [order] } ];
The difference between ALL and DISTINCT is in shown in this example:
SQL> SELECT ALL STUDENTID FROM STUDENTS;
STUDENTID
----------
101
101
102
102
103
103
101
101
101
102
102
STUDENTID
----------
103
103
13 rows selected.
Every row is selected from the column "STUDENTID", No matter the repetition.
top
SQL> SELECT DISTINCT STUDENTID FROM STUDENTS;
STUDENTID
----------
102
101
103
SQL>
In this case, we have no repetition.
ORDER 8: DELETE:
---------------
SQL> DELETE FROM table name
[WHERE selection condition];
ORDER 9: UPDATE:
----------------
It offen happens to change values in cells of tables, to add rows,
to delete rows, that is to update tables. The command to update a table
is the folowing:
SQL> UPDATE table name
SET column name=value expression { , column name=value expression }
[WHERE selection condition];
or:
SQL> UPDATE Table_Name
SET Col-Namei = NEW_VALUE
WHERE Col_Namej = ITS_VALUE;
Where :
Col-Namei is the column i ( or field i)
Col-Namej is the column j ( or field j)
VALUEi is the value to give to the field i.
NEW_VALUE is the new value to set in the cell.
ITS_VALUE is the value in the Col_Namej and in the row where
to find the cell to change.
Note that the second clause whith "WHERE" plays just a role of
referee.
end the commande with semi-colon ";".
Example:
SQL> WHERE COURSENAME = 'Advertizing';
SP2-0734: unknown command beginning "WHERE COUR..." - rest of line ignored.
SQL> update Students
2 set STUDENTID = 104
3 WHERE COURSENAME = 'Advertizing';
2 rows updated.
To verify:
SQL> select * from Students;
STUDENTID COURSENUMBER COURSENAME SEMESTER YEAR GR
---------- --------------- ------------------------- ---------- ---------- --
101 CIS3100 OOP I SPRING 1999 A-
101 MKT3000 Marketing FALL 1997 A
102 CIS3400 DBMS I SPRING 1997 A-
102 CIS3500 Network I SUMMER 1997 B
104 MKT3100 Advertizing SPRING 1998 A
103 MKT3000 Marketing FALL 1997 A
101 CIS3400 DBMS I FALL 1997 B+
101 CIS3100 OOP I SPRING 1999 A-
101 MKT3000 Marketing FALL 1997 A
102 CIS3400 DBMS I SPRING 1997 A-
102 CIS3500 Network I SUMMER 1997 B
STUDENTID COURSENUMBER COURSENAME SEMESTER YEAR GR
---------- --------------- ------------------------- ---------- ---------- --
104 MKT3100 Advertizing SPRING 1998 A
103 MKT3000 Marketing FALL 1997 A
13 rows selected.
SQL>
top
ORDER 10:
---------
Using GROUP BY and HAVING
Example 1:
Count the number of the professors and print one of them for each level.
For each = Having
SQL> select column_i, count(*) from Table group by column_i;
Will print the table of Students grouped by column_i and the number of
students for each column_i
Example:
SQL> select SEMESTER, count(*) from Students group by SEMESTER;
SEMESTER COUNT(*)
---------- ----------
SPRING 6
SUMMER 2
FALL 5
SQL>
SQL> select COURSENAME, count(*) from Students group by
COURSENAME having COURSENAME = 'OOP I';
COURSENAME COUNT(*)
------------------------- ----------
OOP I 2
SQL>
Example 2:
SQL> select STUDENTID, count(*) from Students group by STUDENTID having
STUDENTID between 101 and 103;
STUDENTID COUNT(*)
---------- ----------
102 4
101 5
103 4
SQL>
ORDER 11: CREATE [UNIQUE] INDEX:
--------------------------------
SQL> CREATE [UNIQUE] INDEX index name
ON table name ( column name [ order ] { , column name [ order ] } );
ORDER 12: DROP INDEX:
----------------------
SQL> DROP INDEX index name;
ORDER 13: CREATE VIEW:
----------------------
SQL> CREATE VIEW view name [ ( column name { , column name } ) ]
AS select statement;
ORDER 14: DROP VIEW:
--------------------
SQL> DROP VIEW view name;
top
ORDER 15: DISTROY A ROW:
-----------------------
SQL> DELETE FROM table name
WHERE [ condition ];
---------------
3. Some different types:
--------------
CHARACTER( n), CHAR( n) CHAR( n)
CHARACTER VARYING( n), CHAR VARYING( n) VARCHAR( n)
NUMERIC( p, s), DECIMAL( p, s), DEC( p, s)[ 1] NUMBER( p, s)
INTEGER, INT, SMALLINT NUMBER( 38)
FLOAT( b)[ 2], DOUBLE PRECISION[ 3], REAL[ 4] NUMBER
We can create types of domains and drop like this:
- Create:
CREATE TYPE books CHAR (6) DEFAULT ’The Problems of Philosophy’
CONSTRAINT book_value
CHECK (VALUE IN ’The ousider’, ’How do I see the world’, ’The Problems of Philosophy’);
- Drop:
DROP TYPE domaine [RESTRICT | CASCADE]
DROP TYPE book_valide
DROP TYPE book_valide CASCADE
----------------------------------
4. Different sorts of constraints:
----------------------------------
– NOT NULL
– UNIQUE ou PRIMARY KEY
– FOREIGN KEY
– REFERENCES
– CHECK
--------------
5. About keys:
--------------
5.1. Primary key:
How to establish a primary key?
A primary key is the key that is unique inside each row of
its field : no repetition. It's the main attribute that we can use
outside its table to refer to this table. A primary key is not null;
but a unique key could be null.
Example:
Table1:
Primary key = String1
Create table Table1
(String1 char(30) not null,
Number1 integer,
Number11 number(digit),
constraint pk_Table1 primary key (String1));
The field String1 must be not null in order to
become a primary key.
top
5.2. Foreign key:
A foreign key inside a table is specified as such because the same
key is already set as a primary key outside this table.
Example:
Table2:
Primary key = Number2,
Foreign key = String1 = Primary key in Table1
Create table Table2
(String2 char(30) ,
String1 char(30) not null,
Number2 integer not null,
Number22 number(digit) ,
constraint pk_Table2 primary key (Number2));
constraint fk_Table2 foreign key (String1) references Table1 (String1));
The order:
SQL> alter table Table2 add constraint kf_Table2 foreign key(String1)
references Table1(String1) on delete cascade;
means :
Go to the table Table2 and alter it by adding that the String1 is a foreign key where
it is a primary key in the Table1 table. The term "on delete cascade" means that the
command has to be executed across the cascade (in all the table where The attribute
String1 exists.)
------------------------------------
6. Using References (Linked tables):
------------------------------------
CREATE TABLE Students
Laboratory VARCHAR (23) NOT NULL ,
ID INT ,
Course CHAR (9) DEFAULT ’Java Programming’,
Level CHAR(8) NOT NULL,
Thisdate DATE ,
CONSTRAINT ParameterO PRIMARY KEY (Office),
CONSTRAINT ParameterP UNIQUE (Profession)
CONSTRAINT ParameterL FOREIGN KEY (Level)
REFERENCES OtherTable( Course) ON DELETE CASCADE );
-- where Course is the Primary key in the OtherTable table.
Alter a table:
ALTER TABLE Table_name ADD attribute type, attribute type , ...
ALTER TABLE Table_name ADD DATE_ CREATION DATE ;
ALTER TABLE OtherTable_name DROP Level CASCADE ;
ALTER TABLE Table_name DROP CONSTRAINT ParameterC CASCADE;
Drop a table:
DROP TABLE Table_name ;
DROP TABLE Table_name CASCADE;
DROP TABLE Table_name CASCADE CONSTRAINT;
top
|