Вы находитесь на странице: 1из 54

. .

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

f (a) = F 0 (a) = kank


Rn
k1
k+1
n
a
= a kank da = nka
k (k+1) |0 =
0

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-.

Оценить