Professional Documents
Culture Documents
SQL:1999 (SQL3)
19: -
:
,
,
.
19: -
.
(1NF).
.
19: -
(nested
relations),
.
(non-first normal form, N1NF).
N1NF
(nested-relational model)
.
19: -
19: -
SQL3
SQL
.
SQL SQL3,
SQL
:
19: -
SQL3
,
,
,
,
,
,
,
.
19: -
SQL3
. SQL3
.
.
, ,
.
,
, .
, , , .
19: -
SQL3
.
CREATE TABLE
SQL3. ROW
:
CREATE TABLE
( INT, CHAR(50),
ROW ( CHAR(30), CHAR(4),
- CHAR(6), CHAR(30),
CHAR(30)));
19: -
SQL3
.
INSERT INTO
VALUES (1000, 'A. ', ('', '13',
'56225', '', ''));
19: -
SQL3
(user-defined types).
.
SQL3
CREATE TYPE.
.
19: -
SQL3
:
CREATE TYPE RectType AS
( x1 INT, x2 INT, y1 INT, y2 INT,
FUNCTION getArea (r RectType) RETURNS FLOAT
RETURN (x2-x1)*(y2-y1); END,
FUNCTION getPerimeter (r RectType) RETURNS
FLOAT
RETURN 2*(x2-x1) + 2*(y2-y1); END )
REF IS SYSTEM GENERATED
INSTANTIABLE
NOT FINAL;
19: -
SQL3
:
CREATE TABLE VLSI
( INT, GeneralRectType);
19: -
SQL3
SQL3
(
SQL3).
RGB.
ColoredGeneralRectType,
GeneralRectType:
19: -
SQL3
CREATE TYPE ColoredGeneralRectType UNDER
GeneralRectType AS
(colorR INT, colorG INT, colorB INT,
FUNCTION ...,
...
);
19: -
SQL3
(user-defined functions).
,
, (.. C++),
SQL3.
19: -
SQL3
CREATE FUNCTION MyFunction (IN MyParameter)
RETURNS FLOAT
EXTERNAL NAME MyFunctionFileName
LANGUAGE C
PARAMETER STYLE SQL
DETERMINISTIC
NO SQL;
19: -
SQL3
SQL3
.
SQL3 (reference
type) .
.
19: -
SQL3
C/C++.
.
.
19: -
SQL3
.
.
. CHAR VARCHAR
.
,
CHAR VARCHAR.
19: -
SQL3
SQL3
, (large
objects, LOBs):
CREATE TABLE
( INT NOT NULL,
VARCHAR(40),
BLOB(200K),
- CLOB(20K),
PRIMARY KEY ());
19: -
SQL3
. SQL3
(computationally complete).
.
.
19: -
SQL3
.
DECLARE :
DECLARE x INT;
DECLARE p BLOB(100K);
DECLARE flag BOOLEAN;
19: -
SQL3
. IF ...
THEN ... ELSE ... END IF
IF.
CASE, :
CASE x
WHEN 1 THEN y=100;
WHEN 2 THEN y=200;
WHEN default THEN SET y=0;
END CASE;
19: -
SQL3
. FOR ... END
FOR, WHILE ... END WHILE REPEAT ... UNTIL
.
19: -
SQL3
(trigger)
.
,
.
,
.
19: -
SQL3
:
,
,
(logging),
,
.
19: -
SQL3
CREATE TRIGGER -
BEFORE | AFTER < > ON
<->
[REFERENCING <
>]
[FOR EACH ROW | STATEMENT]
[WHEN (-)]
BEGIN
< >
END;
19: -
Stonebraker
,
:
1. ,
2. .
19: -
1.
,
.
.
19: -
2.
,
,
.
19: -
3.
.
CAD.
19: -
4. , , ,
- .
.
19: -
19: -
-
.
-
,
.
,
.
IBM, Microsoft Oracle
-.