, . () ().
:
1) ;
2) ;
3) .
(), , , (Foxpro, Paradox, Access, Dbase, Clarion, Clipper).
, ( (), ). (). , .
, - , (PowerBuilder, Visual Basic, Visual C .), , .
:
1) (OLTP):
) ;
) ( ).
2) (DSS) OLAP:
) ;
) .
3) - :
) ;
) ;
) .
4) :
) ;
) ;
) .
2 ( ), .
() - , , , / , .
:
1) / PS ( );
2) / PL ( : , , ..);
3) BL ( , );
4) DL ( : SELECT, UPDATE, INSERT, DELETE, );
5) DS ( , , , SQL- .);
|
|
6) FS ( , .).
, . , .
, :
1) ;
2) ;
3) .
, CASE- .
7 :
1) ;
2) - ;
3) -;
4) ;
5) ;
6) Internet/Intranet-;
7) .
I
PS, (PL, BL, DL, DS, FS) ( ). 3GL (C, Pascal, Basic .). , SQL.
:
1) ;
2) ( ).
II -
- PL, BL DL. . (FoxPro, Access, Paradox .). 3 :
1) 3GL 4GL;
2) , ;
3) , , .
- 3 :
1) , ;
2) (Windows-, ) - ;
3) ( ).
III -
-:
1) , SQL-;
2) , ;
3) - , , , .
- , - . .. PS, PL () BL, DL () , DS FS - . , BL , . , .
|
|
4GL - RAD.
- :
1) ;
2) ;
3) ;
4) .
IV
-, , , .
PS PL . BL DL - DS. DS FS.
:
1) , ;
2) , ;
3) , ;
4) PL, BL DL , ;
5) , ;
6) , , , ;
7) , .
:
1) ODBC IDAPI;
2) ;
3) ;
4) MAPI, VIM, MHS, X.400 EDI;
5) MOM;
6) OLE DDE;
7) RPC Named Pipes;
8) - BSD Sockets WinSock.
- , :
1) - ;
2) ;
3) ;
4) CASE-;
5) .
V
, , . - , . , .
VI Internet/Intranet-
Internet. HTML- - , .
URL Web-, (), ( ) HTML. Web- HTML- Web-.
|
|
VII
CASE-, , , , .
2
1) 2) 3) 4)
5)
.
() :
1) ;
2) ;
3) ;
4) ;
5) ;
6) ;
7) .
. , , . , , , (), .
:
, , (), , , , , .
():
1) , .
2) , .
3) , , .
4) , , , , .
:
1) ;
2) ;
3) ( + );
4) ;
5) - ().
:
: :
1) ; 1) ;
2) ; 2) , ;
3) ; 3) , ;
4) ; 4) , .
5) ;
6);
7) ;
8) ;
9) ;
10) .
:
1) ( , , - );
2) ;
3) ;
4) (, - );
5) ;
6) .
|
|
:
1) - , , , ( );
2) ;
3) ;
4) .
:
: | : | : |
1) INFORMIX; | 1) UNIFY; | 1)dBase; |
2) ORACLE; | 2) UNISQL; | 2) FoxPro; |
3) SYBASE; | 3) EMPRESS; | 3) Paradox; |
4) MS SQL SERVER; | 4) Btrieve. | 4) Access; |
5) DB2. | 5) Clarion; | |
6) Clipper. |
I , . :
1) (), ;
2) (), SQL, QBE, Transact SQL, .
3) CASE- (: ERWIN) , .
II ( ), , , , .
III :
- - ( );
- - ( );
- .
IV multi-media ( ).
V . - , (: VB, VC, PB).
VI - .
VII .
VIII .
: 1) ; 2) .
: 1) ; 2) ; 3) , .
IX .
:
I : : ( 1 ), (1: 10 ) (> 10 ). 32 , 32: 64 , > 64 .
II :
: ) ; ) ; ) -.
: ) , ;
) , .
2 :
1) : t = t 1 t < 2 . ( ).
2) .
III :
1) 1 , ;
2) ;
3) ;
4) ( ).
min . , .
IV :
1) ( , , , ..);
2) ( );
3) :
1:1 ;
1:n ;
n:1
n:m - .
V : .
: :
11 22 1 1 3
: 2
33 44 3
2 4 4
:
1) min ;
2) ;
3) ;
4) ;
5) ;
6) , ;
|
|
7) (- , ).
VI ( ).
VII : .
VIII : .
IX ( ).
X :
1) ( );
2) ( ).
() ( ). .
3
1 2 i j n
1 k
1
2
ANSI/X3/SPARC .
I (1, 2, i, j, n): 1) ; 2) ; 3) - . .
II . . , . (HSAM, HISAM, HDAM, HIDAM .). . .
III - :
1) .
2) , , . , .
3) .
4) .
5) .
IV ( ):
- , .
- .
- , , , .
V :
1 ;
2 - .
( , ). , .
1 , . .
2 , . .
I)
1 n
I)
II
1 n
III)
III)
I - :
) ;
) .
II
III :
) ;
) .
IV -.
I -
- () , .
) : / , , , . :
1) , .
2) .
) () .
(). , . . . . .
:
1) , . (), .
2) ( , ). CASE- (: ERWIN).
II
1) :
- ( , , , );
- ;
- .
2) : .
III .
1) :
- ;
- i i.
- i .
2) : , .
IV I, II, III - , , , .
4
() , . , , , .
:
1) <O, P, t>
2) <(O1, O2, , On), r, t>
O , P , O1, O2, , On , r , t .
. .
.
, .
.
: ER-, , , .
: , , .
, .. , . : , - . , , , , . . ( ).
:
: (), ().
: (, ( )), (, ())
= {1, 2}
= {, _}
= {1, 2, 3}
= {1, 2, 3}
= {<1, >, <2, _>}
= {<1, 1>, <2, 2>, <3, 3>}
: ( ): 1 1, 2, 3, 2 2, 3.
:
1 1 2 _
1 1 2 2
2 2 3 3
3 3
:
1 2 _
1 2 3 2 3
1 2 3
:
1 | ||
2 | _ |
1 | 1 | |
2 | 2 | |
3 | 3 |
_ | ||||
1 | 1 | 1 | ||
1 | 2 | 2 | ||
1 | 3 | 3 | ||
2 | _ | 2 | 2 | |
2 | _ | 3 | 3 |
: = <S, R, I>
1) S
: , , . ().
2) R ( )
S , . ().
3) I . :
) ;
) , .
()
( 1970 ).
, , . , .
. , 1- . , .
()
, . . : - ( ); - ( ).
. :
Ai i- ;
Di i- ;
Di = dom (Ai)
: D = dom () = {, , }.
:
R : {A1, A2, , An}, .. R {A1, A2, , An}. R(A1, A2, , An). , : (, , , )
:
R(A1, A2, An). : dom(R).
dom (R) = dom(A1) * dom(A2) * * dom(Ai) * * dom(An) =
= {<a1k, a2k, , aik, , ank> ½k= };
tk
aik I- k- .
tk k- .
P= pi, pi dom(Ai), P dom(R).
, dom(R) , tk, k= .
r R(A1, A2, , An) , dom(R):
R(A1, , An) Í dom(R) = {<a1kr, a2kr, , ankr> ½ k=1, Pr}, Pr<p
n , P ( , r).
: (, ) ;
dom () = {, } P1=2
dom () = {, , } P2=3
dom () = dom () * dom () n=2; P=P1*P2=2*3=6
dom () = {<, >, <, >, <, >, <, >, <, >, <, >}
1 (, ) Ì dom () 2 (, ) Ì dom ()
1 (, ) = {<, >, <, >, <, >} n=2 P=3
2 (, ) = {<, >, <, >} n=2 P=2
, :
1) , .
2) .
3) ,
4) .
5) .
6) .
: 1 (, ) = {<, >, <, >, <, >}
1 | ||
7) . , .. n=1
n>=2
: (#., , (, ))
# | |||
, , 1. , .
8) . , , , (, NULL).
5
.
. . .
: r(R), t(R), t(K)
t1(R) t2(R) K R; K Í R. K r(R) :
1) : t1(K) ¹ t2(K).
2) : "k Ì K: t1(k) = t2(k)
:
r | A | B | C |
a1 | b1 | c1 | |
a1 | b2 | c2 | |
a1 | b3 | c3 | |
a2 | b1 | c1 | |
a2 | b2 | c2 | |
a1 | b1 | c2 |
: k1={A, B}, k2={A, C}
k3={A, B, C} , .. .
, , . .
: (#_, , _)
k1 k2
, , .
, .
.
.
, , .. .
:
. | ||
1 | ||
2 |
1 | ||
2 | ||
3 |
. . | . | ||
1 | 1 | ||
1 | 2 | ||
1 | 3 | ||
2 | 1 | ||
2 | 2 |
, ( ).
:
() | |
() | |
() | () |
() | () |
( ) | |
( ) | |
( ) |
, . .
: ()
3 :
1) () ( );
2) ( );
3) (SQL, QBE .)
,
: UR=<R, FR>, R (); FR - ( ).
R, .. .
-
, :
R (A1, A2, , An) S (A1, A2, , An)
1) ;
2) .
U:
U = dom (A1) * dom (A2) * * dom (An)
<P(n), Ú, Ù, Ø, Æ, U>
r s R (A1, A2, , An);
r(R) s(R) , q(R) .
r(R) | ||
s(R) | ||
1) : q(R) = r(R) Ú s(R) = {t(R) ½ t Î r Ú t Î s}
, .
q(R) | ||
2) : q(R) = r(R) Ù s(R) = {t(R) ½ t Î r Ù t Î s}
.
q(R) | ||
3) : q(R) = r(R) \ s(R) = {t(R) ½ t Î r Ù t Ï s}
.
q(R) | ||
4) ( ): q(R) = r(R) = {t(R) ½ t Ï r}
q(R) = dom (R) \ r
q(R) | ||
1) ( )
: r(R) X Í R
: q(X)
q(X) = { t(X) ½ t(R) Î r Ù t(X) Î t(R)}
q(X) t(X), t(R), r. : px(r) r(X)
:
R | ||
q() = p(r)
q | |
( )
2) q - , q - .
q - . q dom (A) * dom (B), A B
q-. q- .
: r(R) s(S); R Ù S = Æ; T = R Ú S; A Î R; B Î S; A B
q-. : tr t(R) Î r, ts t(S) Î s. : q(T).
q(T) = {t(T) ½ t(R)= tr Ù t(S)= ts Ù tr(A) q ts(B)}
q(T) tr ts, tr(A) q ts(B) .
: q(T)=r[A q B]s
: ABC
AB | |||
BC | 1 | 1 | 1 |
AC = AB [ < 1] BC
( : Ú, Ù, Ø).
SQL: SELECT AB.*, BC.* FROM AB, BC WHERE AB. < BC.1
3) q - ( ) q - .
: r(R); A Î R; a Î dom (A);
: q(R).
q(R) = {t(R) ½ t(A) q a} : q(R) = dAqa(R)
q(R) t(R) r, t(A) q a .
:
R | ||
, : q(R) = d=(R)
Q | ||
4) .
: r(R) s(S); T = R Ú S; R Ù S = Æ.
: q(T).
q(T) = {t(T) ½ t(R)= tr Ú t(S)= ts} : q(T)=r(R) * s(S)
q(T) tr ts. , .. P=P1*P2.
5)
: r(R) s(S); F = R Ù S ¹ Æ ( ).
: q(T).
q(T) = {t(T) ½ t(R)= tr Ù t(S)= ts Ù tr(F) = ts(F)} : q(T) = r ¥ s
q(T) tr ts, .
:
. | ||
1 | ||
2 |
q(, , ) = . (, ) ¥ (, )
q | |||
1 | |||
2 | |||
2 |
6
, .
() () , . a-:
{ (t1, t2, , tn): W}
.
, .
. , .
r | _ | |||
:
1) :
2) ( ) 8-97
3) ,
4) , , _
, , :
SQL
SELECT , _ FROM r WHERE = 8-97
; . SQL , .. .
: _ (, _)
(, _)
, .
SELECT _ FROM _ WHERE IN (SELECT FROM WHERE
_ = Ȓ)
2 : SELECT: , ; SELECT. .
QBE (Query by Example)
, SQL, QBE .
QBE ; , .
. , , r, r ; :
R | A | B | C | D |
P.ax | P.bx | C1 |
, . P. . P (), .
Q = pAB (dC=C1(r))
(). : , 1, 2, 3, 4, 5. 5 . .
:
1) ;
2) ;
3) , ;
4) , .
, , , , 1.
1.
: (#, , (, _))
#
_
1:
1) .
2) .
3) .
, 2 :
(#, )
(#, , _) 1
().
( ) Y r(R) ( ) X , X