Академический Документы
Профессиональный Документы
Культура Документы
29 2005 .
1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 . . . . . . . . . . . . . . . . . . . . . . .
1.3 . . . . . . . . . . . . . . . . . . . .
1.3.1 . . . .
1.3.2 .
1.3.3
1.3.4 . . . . . . . . . . . . . . . . . . . .
1.4 . . . . . . . . . . . . .
1.4.1 () . . . . . . . . . . . . . . . .
1.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 () . . . . . . . . .
1.6 . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2.1 . . . . . . . . . . . . . . . . . .
2.2 . . . . . . . . . . . . . . . . . . . . .
2.2.1 . . . . . . . . . . . . . . . . . .
2.2.2 . . . . . . . . . . . . . . . . . . . . . .
2.2.3 . . . . .
2.3 . . . . . . . . . . . . . . . . . . . . . . .
2.3.1
2.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3 . . . . . . . . . . . . . . . . .
2.4 . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 . . . . . . . . . . . . . . . . . .
2.4.2 . . . . . . . . . . . . . . . . .
2.4.3 . . . . . . . . . . . .
2.4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 : . . . . . . . .
2.5.2 . . .
2.6 . . . . . . . . . . . . . . . . . . . . . . . . .
2.6.1 . . . . . . . . . . . . . . . . . . . . . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
4
6
6
7
7
8
8
10
11
11
12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
14
16
17
18
21
21
22
24
24
26
26
27
27
28
28
28
29
29
30
http://slava.fateback.com
2.6.2 . . .
2.7 . . . . .
2.8 .
2.8.1 . . . . . . . . . . . . . .
2.8.2
. . . . . . . . . . . . . . . . . . . . . . . .
2.8.3 . . . . . . . . .
2.8.4 . . . . . . . . . . . .
2.8.5 . . . . . . . .
2
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
3 .
3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 . . . . . . . . . . . . . . . .
3.1.2 ,
, ) . . . . . . . . . . . . .
3.1.3 . . . . .
3.2 . . . . . . . . . . . . . . . . . . . .
3.2.1 . . . . . . . . . . . . . . .
3.2.2 - . . . . . . . . . . .
3.2.3 - . . . . . . . . . . . .
3.2.4 . . . . . . . . . . . . . . . . . . . . .
3.2.5 . . . . . . . . . . . . . . . . . . . . . .
3.2.6 . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . . . . .
. . . . . . . .
(,
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
30
30
31
31
31
33
36
37
38
38
41
42
42
43
44
46
48
50
51
52
[1] . . .: , 1980. 662 .
, . .
[2] . . .: , 1998. 7-
. ,
. -
. .
[3] . . .: , 1983. , . , ,
. , .
[4] ., . . .: , 1985. 2.
( . . . ), .
[5] . . . .:
, 1987. . .
[6] . . . : ,
1987. .
http://slava.fateback.com
. . .
.
[7] : 4. . / .., . ., .: , 1990. .
, . , . .
[8] . . .: , 1987.
. .
[9] . . . .: , 1989.
.
[10] . - , www.osp.ru.
,
. ,
. ,
2-3 ;
. 20 ,
,
. , ,
, (
).
- , .
, -
.
, .
.
, . .
, (
Microsoft Visual Studio, Borland Delphi Borland C++ Builder).
http://slava.fateback.com
1.1
1.1 1 , :
1. ;
2. () , ;
3. , ().
.
1. , , ,
. ,
.
2. . , , - ().
WWW.
3. , , ,
, . , .
1.2
: .
:
1. , .
2. .
, .
3. .
4. ,
-. ,
. ( -),
.
1
, ,
.
http://slava.fateback.com
5. ,
- ;
.
:
1. ( ) , , .
.
2. (,
, ). , .
, , , Oracle.
3. . (
) .
4. .
: :
, : ,
. ,
. :
1. .
2. ,
.
.
, .
.
:
http://slava.fateback.com
1025
. .
21.03.1977
123123
19.03.2001
123123
3- ,
1025
, .
:
.
.
.
,
. , .
1.3
1.3.1
, ,
. : , . ,
, ;
, ,
, , , .
.
.
. ,
, .
. , ,
.
().
. , FoxPro
.
http://slava.fateback.com
1.3.2
. .
1. . , . .
. I .
, . .
. , ( ).
. II .
2. . ,
, , ..
,
. ?
(a)
, ,
, .
,
, , .
(b) ,
, . ,
.
1.3.3
1.2 , .
1.3 ,
.
( ) , ,
.
.
. . - .
CODASYL ( ) .
http://slava.fateback.com
1. . .
, ,
, , ,
: ..
2. . : , , .
, .
, , , Access.
3. . , . -
. , Access ,
.
. 1- 3- . ,
.
2- ,
.
, ,
.
. ,
, .
, , . ,
,
, .
, .
,
.
1.3.4
:
.
( SQL-). .
, Clarion .
1.4
, .
http://slava.fateback.com
( ,
)
1:
- (
)
+
-
+
+
+
+
? . . , , . . .
, , , ,
, .
. ;
.
.
, , .
.
, .
, .
1.4 .
http://slava.fateback.com
1.4.1
10
()
1.5 , ( ).
.
1345678
7654321
..
..
-903
-801
.
.
1.6 ,
:
1. ;
2.
(, , );
3.
( ).
. ,
. : ,
.
. .
. .
. .
. .
. .
, ,
. , ,
.
. . , (
) .
http://slava.fateback.com
1.4.2
11
1.7 ,
.
.
1.8 ,
.
.
1.9 ,
.
(+).
+ .
. . ( )
.
1.5
()
1.10 () , :
1. ( );
2. ;
3. ( );
4. ().
()
http://slava.fateback.com
12
, .
, :
1.
.
2. , .
.
3. , ; .
4. ,
; () ( ),
-.
5. , ,
- .
6. .
7. .
8. , ,
.
9. (
,
).
. 5-7 ,
. , .
. ,
.
1.6
. [2].
: C, Pascal (Delphi), , , .
, : ,
,
. .
http://slava.fateback.com
13
1. () , . , (PostGress);
Oracle. ,
.
2. ()
. :
(a) ();
(b) ;
(c) ;
(d) .
,
.
:
1. .
(a) ( ), call. VISTA.
(b) :
. ADABAS IBM 370 (-, -1066)
PL/1 ( -
, PL/1, , , , ).
(c) , .
. , .
, . VISTA.
2. . . , , dBase 2-3-4, Clipper, Clarion, Fox
Pro. ( , Fox Pro): ,
. SQL,
.
3.
. .
. SQL, QBE (Query-By-Example).
http://slava.fateback.com
14
: .
- (ER, Entity-Relationship) . , -, , -,
, -, ,
, , ,
. ER- .
. ,
:
() .
.
2.1
2.1 () ()
.
. ,
, .
, , , , .
:
. :
, .
. .
. . , , , .
.
.
, ,
.
. .
. , ,
. ,
, .
. ,
.
http://slava.fateback.com
15
2.2
,
. (
).
, .
2.3 ,
.
. ,
, .
:
1. 1:1, -- . ,
. . . , . . . ,
. :
.
2. :1, -- . :
.
3. 1:, -- . :
.
4. :, --
. : .
http://slava.fateback.com
16
. ,
, , . , ,
, . , .
2.4 .
2.5 , .
: .
2.6 , , -.
- .
. . .
2.7 : - 1 2,
, .
. ( 1 2 ),
, .
. ,
.
2.2
.
1. .
2. ().
3. (. . . ).
http://slava.fateback.com
17
. , . -
, .
, ,
,
. ,
,
, - .
2.2.1
2.8 , , , .
1
2
5
3
7
4
9
, . .
1 , .
2, 3, 4 .
5, 6, 7, 8, 9 .
(1, 2, 5), (1, 3, 7) .
(1, 4) .
7 8, .
9 8, .
. ,
M:1 .
2.9 , , ,
,
1.
-, . . .
. . . , .
.
http://slava.fateback.com
18
2.10 ,
.
. , . ,
.
3.
.
. ,
,
. : (
) .
( ),
.
- , . ,
. . .
, -
.
2.2.2
http://slava.fateback.com
19
2.11 , (
) .
. :, .
2.12 :,
, .
: . ,
. ,
. ,
.
:
, :;
. + (+
) ; , (:) .
A
B
B
A
2.13 ,
.
.
: ,
- ( !)
. ,
, .
.
, .
.
http://slava.fateback.com
20
, .
: . . , .
2.14 ,
, ,
.
: , , ; . . . . . . . " . . .
. . . , .
2.15 , , ,
.
,
. ,
.
, ( ) .
IMS IBM.
.
http://slava.fateback.com
21
: e - ( ) , ,
-.
A
, . IMS ,
.
2.2.3
- CODASYL . .
: .
1. ,
2. ,
3. .
1. (IMS),
2. (PALMA),
3. ( , ).
2.3
2.16 , ,
,
1. ();
2. ,
;
3. (
, );
4. ;
http://slava.fateback.com
22
5. , (
, , ,
(<, , =, 6=, , >), (
), , );
6. , .
. , .
2.17 ,
(1).
(relation).
2.18 .
.
2.3.1
:
1. 1: .
2. : , , , .
. :
1. ( , , );
2. ( , , );
3. ( , );
4. ( , ).
http://slava.fateback.com
23
2
3, 4.
.
.
, .
,
.
.
: , , . , ID ()
.
,
. .
.
. .
:
1. ( , , );
2. ( , , );
3. ( , , , ).
.
- .
, .
3 .
, .
. , SQL.
- . , .
http://slava.fateback.com
2.3.2
24
,
, .
;
.
2.3.3
.
SQL.
2.19 Ri ,
ki ni .
:
1. . R = R1 R2 . : k1 = k2 ()
(). ,
. .
2. . R = R1 \ R2 . , . R1 , R2 . .
3. . R = R1 R2 . .
(
< >.< >), . . SQL - SELECT
WHERE.
4. . F (R), F , R
: <><>,
{<, , =, 6=, , >},
S
T
(),
(), (). R
, F
. , SELECT . . . WHERE F.
5. . x (R), X , R. , X,
.
. .
. ,
.
T
1. . R1 R2 = R1 \ (R1 \ R2 ).
http://slava.fateback.com
25
2. . R1 F R2 = F (R1 R2 ).
3. . , F .
4. . R1
R2 , ,
- .
R = R1 ./ R2 , (
).
R1 ./ R2S= X (Y (R1 R2 )),
X =T
R1 R2 ,
Y = aZ
T R1 .a = R2 .a,
Z = R1 R2 .
. ( ):
R1 =( [1], [2], [3]);
R2 =( [4], [5], [6]);
R3 =( [7], [8]);
R4 =( [1], [4], [7], [9],
[10]).
: X Y 10
20. 8 (5=X2=Y 1010.10.031020.10.03 (R1 ./ R2 ./ R3 ./ R4 ))
.
. ,
.
:
1. .
R1 R2 = R2 R1 ,
R1 ./ R2 = R2 ./ R1 .
2. .
(R1 R2 ) R3 = R1 (R2 R3 ),
(R1 ./ R2 ) ./ R3 = R1 ./ (R2 ./ R3 ).
3. .
T
X (R1 R2 ) = X1 (R1 ) X2 (R2 ), Xi = X Ri , iT= 1, 2;
S
T
X (R1 ./ R2 ) = X (X1 (R1 ) ./ X2 (R2 )), Xi = (X Ri ) (R1 R2 ), i = 1, 2.
4. .
F (R1 R2 ) = F1 (R1 ) F2 (R2 ),
F (R1 ./ R2 ) = F1 (R1 ) ./ F2 (R2 ),
T
Fi Ri F = F1 F2 .
.
, .
:
http://slava.fateback.com
26
1. .
2. .
3. .
, ,
.
. :
8 (4 (5=X (R1 )) ./ 1 (2=Y (R2 )) ./ 1,4,7 (1010.10.031020.10.03 (R4 )) ./ R3 ).
. .
-
.
( ),
( ). ,
, . O(n2 ).
2.4
: ?
.
2.4.1
: R, U = {A1 , A2 , . . . , An }.
2.20 X, Y U , X Y (X Y ), r R
u, t r : t[X] = u[X], t[Y ] 6= u[Y ]; , , X Y .
. , (A1 ), (A2 ), (A3 ),
(A4 ). : A1 A2 , A1 A3 , A1 A4 .
:
.
, .
A4 (nil),
. , A1 A2 A3 ,
A1 A4 .
.
,
.
http://slava.fateback.com
2.4.2
27
: R , U = A1 , A2 , . . . , An .
2.1 X Y, Y Z,
X Z.
. , r R,
t u , t[X] = u[X], t[Z] 6= u[Z].
:
1. t[Y ] = u[Y ], t[Z] 6= u[Z] Y Z .
2. t[Y ] 6= u[Y ], t[X] = u[X] X Y
.
.
2.4.3
: R , U = A1 , A2 , . . . , An .
, .
1. . X U, Y v X. X Y .
2. . X Y , Z v U . XZ Y Z .
3. . X Y , Y Z. X Z .
() .
. ,
(t[X] = u[X], Y v X t[Y ] = u[Y ]), : t[XZ] = u[XZ],
t[Y Z] 6= u[Y Z], t[X] = u[X] t[Z] = u[Z] t[Y ] 6= u[Y ], X Y
.
F .
2.21 , F F ,
F + .
:
1. : X Y , X Z X Y Z;
2. : X Y , Y W Z XW Z;
3. , X Y , Z Y X Z.
.
, : 1 Y Z, 3 X Z.
http://slava.fateback.com
2.4.4
28
: R , U = A1 , A2 , . . . , An .
2.22 X U
R, X A1 A2 . . . An F + Y X Y A1 A2 . . . An
/ F +.
. R . ,
, - ( ,
).
.
2.5
: R , U = A1 , A2 , . . . , An .
2.23 Ai X, X Ai F + , Y Ai
/ F + Y X.
X (X, Ai ).
2.24 R (2),
1 , ,
.
? ,
.
2.5.1
1. .
2. , 1 .
3. F Ri ,
.
. : (A1 ), (A2 ), (A3 ), (A4 ),
(A5 ), (A6 ).
1. F = {A2 A3 , A2 A4 , A1 A5 , A1 A2 A6 }. .
2. : A2 A3 A4 .
http://slava.fateback.com
29
3. :
R1 ( , , );
R2 ( . );
R3 ( , , ).
, , . : .
. 1.
2.
2.5.2
1. 1 , .
2 .
2. , 1 (
). 2
.
3. 2 , 1
.
2.6
, 2 1,
() .
( : , ,
, (5), -
F ).
2.25 R (3),
X, Y U A
/ X Y ,
1. X Y F + ;
2. Y A F + ;
3. Y X
/ F +.
. Y X, 1-3 , - .
. X, Y, A, , 2. X, Y , A . X Y , Y A.
Y X , Y 6= X, A Y (, X), 2. 1, 2 3 , X
Y .
. A , X , Y .
X Y , 3 .
http://slava.fateback.com
2.6.1
30
X, Y , A, ,
R : R1 = (X, Y ) R2 = (Y, A).
X, Y .
. : (A1 ), (A2 ), (A3 ), (A4 ),
(A5 ), (A6 ).
: F = {A1 A2 A3 A4 A5 A6 , A4 A5 A6 }.
,
1. A1 A4 ;
2. A4 A5 A6 ;
3. A4 A1
/ F +.
:
R1 = ( , , , );
R2 = ( , , ).
: R1 ,
R2 .
2.6.2
1. R ,
. 3 .
2. ,
. 3 .
3. 3 . ,
.
, , .
. 3 .
2.7
, . , .
1. ; - (2.6).
2. (2.5). .
,
.
http://slava.fateback.com
31
3. (2.7) ;
, .
4. 3.
2.8
2.8.1
F + .
. .
2.26 X + Aj : X Aj F + .
2.2 X Y F + Y X + .
. (). Y = {A1 , A2 , . . . An }.
X Aj F + j = 1..n. Y X + .
(). Y X + . X Aj , j = 1..n.
X Y F + .
0. X 0 = X. , X X + .
i. F 4 (
).
Y Z F Y X i1 ,
S
i
i1
X = X
Z. - ,
+
i
X = X , .
. F . , F , F + .
. Object Pascal http://slava.fateback.com/work/docs/database/bdhelper.htm
2.1 X + .
, ,
.
2.8.2
2.27 F G , F + = G+ .
http://slava.fateback.com
32
1. F .
X Y F X G, XG+ . Y F Y XG+ ,
, F G, F G.
2. G.
W V F W F , WF+ . V F V WF+ ,
, G F , G F .
: , .
.
. Object Pascal http://slava.fateback.com/work/docs/database/bdhelper.htm
2.3 , .
. X Y F, Y = {A1 , A2 , . . . An }.
X Aj (j = 1..n) F .
F .
2.28 F
,
1. ;
2. ,
X Aj F F \ {X Aj };
3. ,
X Aj (F \ {X
S
Aj }) {Z Aj } F .
1. F
.
2. F .
X Aj F
(G = F \ {X Aj }). , F .
,
: XG+ Aj XG+ , .
3. F .
X Aj X F . ,
.
,
S , . G = (F \ {X Aj }) {Z Aj }, Z X, Aj ZF+ , Aj XG+ .
http://slava.fateback.com
33
.
. ,
.
. Object Pascal http://slava.fateback.com/work/docs/database/bdhelper.htm
, . .
. F = {A B, B C, A C}.
1. .
2. A B. A+ = AC. B
/ A+ , . B C. B + = B. C
/ B + ,
+
. A C. A = ABC. A+ ,
.
3. , .
2.8.3
: R , U = {A1 , A2 , . . . , An }, F .
2.29 (R1 , R2 , . . . , Rk ) R k
S
S
R1 , R2 , . . . , Rk ,
Ri = R ( ).
i=1
. i j, Ri
Rj 6= .
. 2 3 .
: R ,
U = {A1 , A2 , . . . , An }, F .
(R1 , R2 , . . . , Rk ) m (r) = R1 (r) ./
R2 (r) ./ . . . ./ Rk (r), r R.
2.30 (R1 , R2 , . . . , Rk )
, r, F ,
m (r) = r.
2.4 r (R1 , R2 , . . . , Rk )
r m (r).
http://slava.fateback.com
34
. t r, t[Ri ] Ri (r).
, t[Ri ] t m (r).
. .
, , , .
1. k n . i- j-
aj , Aj Ri , bij .
i. : F .
X Y , X.
- Aj Y - aj ,
bij aj .
aj , .
aj , .
. U = {A1 , A2 , A3 }, F = {A2 A3 } = ({A1 , A2 }, {A2 , A3 }).
1:
A1 A2 A 3
R1 a1 a2 b13
R2 b21 a2 a3
. A2 A3 . A2
( a2 ). A3 a3 , , b13 :
A1 A2 A 3
R 1 a1 a2 a3
R2 b21 a2 a3
aj , .
.
aj +,
.
.
2.2
.
.
1. , aj . r,
m (r) = r. . F ,
.
m (r). Ri (r)
http://slava.fateback.com
35
aj . , m (r)
aj . , m (r) 6= r.
2.
V
V aVj . M0 = {a1 a2 . . . an | bij . . . (R(1 ) R(2 ) . . . R(k ))}, I
i- .
. .
R :
A1 A2 A 3
a11 a12 a13
a21 a22 a23
R(1 ) :
A1
a11
a21
A2
a12
a22
A3
*
*
* . , R(2 ) :
A1
*
*
A2
a12
a22
A3
a13
a23
, M0 :
A1
a11
a21
A2
a12
a22
A3
a13
a23
M0 . R(1 )
R(2 ) R(1 )
a13 , R(2 ) a11 , . M0 . R(1 )
R(2 ); ,
.
M0 .
, m (r) M0 ,
. -
I aj . ,
,
(, ,
). M1 M0 , M1
, M0 , .
, aj . , Mm , R(a1 , a2 , . . . , an ), , Mm , , , r. m (r) Mm r m (r),
r = m (r).
http://slava.fateback.com
36
2.31 Z (F ) Z X Y F : X, Y Z.
2.32 (R1 , R2 , . . . , Rk ) , F
k
S
Ri (F ).
i=1
. .
, .
. U = {A, B, C}, F = {AB C, C A}, (AC, BC).
. :
A B C
AC a1 b12 a3
BC b21 a2 a3
F . , :
AC
BC
A
a1
a1
B
b12
a2
C
a3
a3
. AC (F )
BC (F ) = {C A} =
6 F . .
. U = {A, B, C, D}, F = {A B, C D}, (AB, CD).
. :
A B C D
AB a1 a2 b13 b14
CD b21 b22 a3 a4
, ,
. . AB (F ) CD (F ) = {A B} {C D} = F , .
,
.
2.8.4
2.33 X Y Z, (X Y (Z)),
- R t, u : t[X] = u[X],
v : v[X] = t[X], v[Y ] = t[Y ], v[Z] = u[Z] ( ,
w : w[X] = t[X], w[Y ] = u[Y ], w[Z] = t[Z]).
http://slava.fateback.com
37
. :
- .
. (A1 ),
(A2 ), (A3 ), (A4 ). : A1 A2 A3 (A4),
. A1 A2 A4 (A3 ). .
. (A1 ),
(A2 ), (A3 ). , . , : A1 (A2 ).
. X Y Z = R, , .
, , , .
XY Z X Y (Z), XY XZ.
, ,
.
2.8.5
: R , U = {A1 , A2 , . . . , An }, F .
2.34 Xi , Fi F .
1. (X1 , X2 , . . . , Xk ).
2. Xi Xj ,
,
Xi Xj . Xi , Xj , .
3. X Y Z, (X Y (Z)), Ri , , XY XZ.
4. Aj , ,
. ,
.
. , 4, ,
, .
. .
. (
).
http://slava.fateback.com
38
. .
5. ,
X, , X U . 0 = X.
. .
2.5 3.
. 3 .
X A1 X A2 , .
: ZA1 A2 , Z X. : ZA1 A1 ,
X A2 , F .
2.6 0 .
. X , X + = U .
, X + . Aj Y Aj .
, Ri , Y , Aj . X Ri , Ri
Aj aj , X. X + = U ,
aj .
. X ( ,
). :
1. X. .
2. .
. 4.
3. .
( 3).
. , , , . : ,
.
3
3.1
, . , ,
http://slava.fateback.com
39
. , , .
Oracle, Postgress , Postgress
, .
, .
Access.
( ),
, .
.
,
.
0 ,
, 0 .
=< M, D, P, F >,
M .
D .
M D .
P , (..
, , . .)
F (f F , ).
.
:
R1
A B
R2
A B C
M
, M . D:
A B
a1 b 1
a2 b 2
.
. Dom . Dom(R1 .A) Dom(R1 .B) Dom(R2 .A)
Dom(R2 .B) Dom(C) (
). R1 .A R2 .A , .
.
http://slava.fateback.com
40
D?
P , , , D
.
D
f d1 d2 .
D
f
f F;
f : d1 d2
, ( ) :
1. : (M, P ) (M 0 , P 0 )2 ,
2. : D D03 ,
: f f0
4
3.
.
([d1 d2 ] [d01 d02 ])
:
(M, P )
1.
D
1 xi0 .
(M 0 , P 0 )
D0
.
2. :
d1
d01
f
f0
d2
d02
2
( ,
, ).
3
.
4
.
http://slava.fateback.com
41
f d02 ,
, d02 . ,
.
3. . www.omsu.omskreg.ru
, .
3.1.1
.
, 1968
. 1995 (. ,
www.osp.ru)
:
1. , .
.
. ( 2003
). -.
2. , .
. .
i
i+1
, i
i + 1.
, , .
Cray.
.
3. , . - . ,
:
,
, .
M10 , ILIAC-IV .
http://slava.fateback.com
42
( ).
, , . , ,
, . StaranS,
, , .
4. , . , , . .
-2000, -3000, -100, -200.
3.1.2
, (, , )
1. .
2. (, ).
3. , .
4. .
5. (
).
, (2) (3) (1), (4) (5), ..
(2), (3), , , (1), (4) (5), .
, , ,
,
, .
3.1.3
CPU
:
CPU .
http://slava.fateback.com
43
-.
.
,
.
. .
CPU ,
. ,
.
. .
.
.
, , . ,
, , ,
; , , .
,
.
,
, .
.
3.2
3.1 .
.
.
, ,
.
, .
1. .
x% 100% .
. .
:
(a) .
(b) .
.
2. .
,
, .
:
http://slava.fateback.com
44
(a) -.
(b) -.
(c) .
(d) , B-.
3. ( 0% x%).
,
.
. .
Postgress. , .
Oracle.
. x .
x, , x,
.
/ .
x, . , MS Access, FoxPro,
dBase x=10%; Oracle x=25%.
, ( 2003):
1: Oracle, ,
.
2: Ingress, Sybase, Interbase.
3: SQL Server 2000 ( 2,
).
4: dBase, FoxPro, Access, Clarion, Clipper.
. .
, .
3.2.1
,
, .
, .
( ), .
.
http://slava.fateback.com
45
: ( ). ,
, .
3.1 , , n , k , ,
kn
k+1
.
. ( )
xi i- (i = 1, 2, . . . , k).
n, xi . , xi . , xi .
, ,
. , , .
.
, x - . , ,
.
, ,
x (. , ).
, , :
:
Rn
a
= a f (a)da ( ), f (a)
0
a.
F (a) = ( a) = P (x1 6 a x2 6 a ... xk 6 a) = ()
( 6 ).
:
n
Y
() =
P (xi 6 a) =
i=1
= ( ..x) =
k
Y
a a k
=
=
n
n
i=1
k1
knk+1
nk (k+1)
kn
k+1
, .
,
.
:
http://slava.fateback.com
46
1. .
2. .
3. .
( ) , ,
.
, ..
(
).
. , , .. .
, , .
:
1. . , . .
, . . ,
. ,
.
2. . , . .
( ). ,
.
,
.
? .
.
, , .
. , .
3.2.2
,
, (
).
http://slava.fateback.com
47
- .
.
.
,
. ,
,
.
,
.
IBM-360, IBM-370.
ISAM (Index Serial Access Method).
:
. ,
. ,
.
.
, ,
.
, .
, (
).
, : ,
.
:
1. . , , , ,
, . ,
.
2. .
, .. . , 30%.
, .
- ,
- (
)
. ISAM , . , . ,
.
http://slava.fateback.com
48
3.2 k ,
,
k
Q
rdi+1
r b , b 1
ri+1
i=1
, d = 1 1b .
. - ( ,
).
, i- , :
p = rb .
rp=r
r
b
= rd, ..
k
Crd
.
Crk
k
Crp
Crk
Ck
, i- ( !): 1 Crdk . r k
k
Q rdi+1
Crd
rd!k!(rk)!
b 1 C k = b 1 k!(rdk)!r! = b 1
ri+1
r
i=1
.
,
j
P
Q
rpi+1
, pj j
: (p)
=
pj pr 1
ri+1
i=1
j=1
.
, p = r, .. .
p .
.
3.2.3
;
, .
.
- ;
, , .
- :
1
.
, .
. (. .). .
, (
, C).
http://slava.fateback.com
49
( , ),
,
. ; . ,
, 2 .
. DBF- : ,
, * ( ) .
, . , .
,
( ).
- .
. 1.
N . n,
( ).
,
, .
i- ,
i 1- . , (
).
. .
( ). n = N .
2N .
2.
( , ).
, , .
.
: n = N2 , log2 N .
(, ), , . log2 (log2 N ),
.
. , ( 2N > log2 N ), ,
-, .
, .
. , .
http://slava.fateback.com
50
. , .
,
, .
. ,
. , .
.
. ( DBF
*). , .
. , ; ,
.
,
.
- . (, ), .
. : , .
, :
. , DBF- , *.
, ,
. - (
) ( ).
.
, ,
( ), ,
.
,
.
. , , .
3.2.4
. , , .
, .
http://slava.fateback.com
51
, .
.
. (
, ) . ,
.
. ,
20 .
2620 , ..
.
3.2.5
, , .
.
: (k) = A , k ,
A .
:
A.
3.2 k1 k2 ,
(k1 ) = (k2 ).
. .
.
,
.
. , , .
m, . .
?
m = 10, , .
m 0.1, 10 .
, m = 1. ? (). ? , m
(.. m 1).
. .
. ,
, , (
20). , , ,
.
http://slava.fateback.com
52
.
:
n
X
ai 10i = ()
i=0
:
() =
m
X
bj p j ,
j=0
p ( 7).
bj , .
. - ,
.
: .
( ).
.
.
1. . , , ,
, , .
, , ,
, .
2. . = Ai2 + Bi + C, i
, A, B , C .
,
. , ,
.
. ( , ,
1
m = 0.7
).
3.2.6
.
( ) .
, , .
.
1. () : < > const,
, {>, <, >, 6, =, 6=}.
http://slava.fateback.com
53
2. (): = 1 2 . . . n
, .
3. (): = 1 2 . . .m
, .
4. (): = 1 2 . . . k .
, .
.
. . 1- , 2- . : (
).
.
( ).
, .
.
.
3.3
.
. - ,
,
.
, .
, -
.
, ,
.
:
( ).
.
3.4 , 1, .
, . .
, ,
.
.
, , ,
.
, .
http://slava.fateback.com
54
3.5 , .
.
:
1. : , ,
. .
2. , ( ,
).
3.6 , .
3- .
!
. B-.