- () . 80- . . .
: , .
, . , - .
, , . , , , - . .
Smalltalk. , , - . , Smalltalk .
, . , , 70- . ( ) - , , , - . , , , , ..
- :
;
;
;
.
- . , .
. . ( ), . . ; .
|
|
. ( ). , - : , .. , , .
. , (), . , , . . , . , . , . .
- ( ). , : - , ( ) . , , , . .
, - , . , ( , ), . , , .., . , () () . , , . , , .
|
|
- . . O2, ORION, GemStone Iris.
1. SQL
SQL
, () (). , 1970- , , , 25 . , .
, , () , , . , , , .
.. alpha, , , :
1. , , (JOIN , INTERSECT , SUBTRACT ..).
2. , .
, , IBM ( ISBL, SQL Structured Query Language , QBE Query-By-Example ) (PIQUE, QUEL). INGRES (Interactive Graphics and Retrieval System), 1970- . . QBE SQL ( ), . 1980- SQL . 1986 .
, (SQL) , , . SQL , . SQL , , : .
, , , , . , . , , , , , . ( ) , , . , .
|
|
, , ( ) . , , , () (). . () , .
- , () (), - . , , SQL. (DB2, Oracle, Ingres, Informix, Sybase, Progress, Rdb) (, Adabas) - SQL. , SQL.
SQL
de facto SQL 1986 . (ANSI). SQL SQL Access Group SAG , 40 , ISO ( ), X/Open ( UNIX), SQL, IBM System Application Architecture .
ISO SQL-92 (ISO SQL-92 ANSI SQL-92 ). ANSI SQL-89.
ANSI SQL-89 SQL: ( , ), SQL ( SQL ) ( ). SQL SQL ( ) ( ).
ANSI SQL-92 SQL- SQL. SQL , , SQL- , .
|
|
SQL , . , . ANSI , SQL , , , SQL. DDL (Data Definition Language ) ANSI, , (, , ..) . DML (Data Manipulation Language ) , , . DCL (Data Control Language ) , , .
SQL , , ( 30) . , SQL :
1) ( , );
2) ( SELECT);
3) (, );
4) ( , ).
, SQL :
a) ( ), ;
b) () ;
c) ( ), ;
d) , ( ).
e) : , , , , , ..
SQL SQL , : ; ; ; ; ( mm/dd/yy); ( hh.mm.ss); , ( ) .
SQL:
INTEGER ( 10 );
SMALLINT ( 5 );
DECIMAL(p,q) , p (0 < p < 16) ; q (q < p, q = 0, );
FLOAT 15 , ;
CHAR(n) n (0 < n < 256);
VARCHAR(n) , n (n > 0 , 4096);
DATE , ( mm/dd/yy); , VX ;
TIME , ( hh.mm.ss);
DATETIME ;
MONEY , ($, ,...) ( ), .
LOGICAL, DOUBLE . , INGRES , , , , - ( , ), , , ..
|
|
4. 1.4.
, , DDL, (), (, , ..) . .
( 1).
. 1.
. , , , CREATE TABLE ( ). () , , .
CREATE TABLE. . DML INSERT (. ). CREATE TABLE , . . , , .
:
(*) , .. , ;
([]) , , , (.. );
(...) , ;
(|) . 1 | 2 , 1 2; , , (, [ 1 ]| 2 , 1);
(;) SQL;
(,) ;
() SQL;
, ,... ( ) _, _,..., .
CREATE TABLE :
CREATE TABLE _ ( _
[, _]...);
, , , , , . , . , . , Employees, Smith, Smith.Employees, - . , .
, , . , - , . , . , , . , , .
, . .
, , =2999. , , , 2999. , , 2999 . , DML (, INSERT DELETE), , . , , , , . . , , ..
( , ANSI , ):
CREATE INDEX ON (_[,]...);
. . SQL , , .
(View) , . DML , , . , , . , .
CREATE VIEW. CREATE VIEW ( ), , , AS () , , .
CREATE VIEW :
CREATE VIEW _
[([,]...)]
AS ;
, . , , , .
, , , , . . . , . DML, . .
. , , : , , .. . , , . , , . , SQL, .
, SYSTABLES . , , , . SYSCOLUMNS , , , , .
SELECT . , , , ( ). , , . , .