, (), . , , , , . . , .
, .
ODL, , .
1. , , . , , . ODL .
2. , (, ) .
3. , . .
4.1.2.
ODL :
1. interface.
2. (.. ).
3. , . , , .
:
interface <>{
< >}
4.1.3. ODL
. , . , , , . _, (.. ), , .
4.1. ODL- . ; .
1) interface {
2) attribute string _;
3) attribute integer ;
4) attribute enum {, , }
_;};
, . , .
1 . interface ODL . 1 , . 2 _, string . , _ (, .). (), 3, , . 4 _, , ( ) . . , , , .
|
|
, , , . :
("", 50, ) .
4.2. 4.1 . , , . .
:
1) Interface {
2) attribute string ;
3) attribute string ;
4) attribute string ;
5) attribute Struct
{ string , integer , string ,
string , integer } ;
};
1,2,3 , , , . 5 , . , : , , , ( , string), . ODL Struct , .
4.1.4. ODL
, , .
4.3. , 4.1 , . , 4.2, , . , ,
relationship Set <> ;
. 4.2 1 4. , . . relationship , , Set, <>, , , . ODL , , Set , .
, ; . , , .
4.3 () (). . , , 4.3 , Set < >,
relationship _;
, .
4.1.5.
. , , , , .
|
|
relationship Set <> _;
4.2. , : S M, M _ S. _ , inverse . , , , (::) .
4.4. _ , :
1) interface {
2) attribute string ;
3) attribute string ;
4) attribute string ;
5) attribute Struct { string , integer , string , string , integer } ;
6) relationship Set <> _
inverse ::;};
6 _, , ::. , (). .
4.4 , ( ) . , , . . : R y1, y2,..., n, (, ).
R D ( ) . D:
C | D |
x1 | y1 |
x2 | y2 |
R Set<D>, -. R D, -. R :
C | D |
y1 | x1 |
y2 | x2 |
, , D . , " " "" .
4.1.6.
, . ODL , Set. : "--", "--", "--".
"--" : . . , , .
4.5. : , . 4.1 4.2. , 14 15. , , , . , .
|
|
1) interface {
2) attribute string _;
3) attribute integer ;
4) attribute enum {, , } _;
5) relationship Set <>
inverse ::_;
6) relationship _
inverse ::;
};
7) interface {
8) attribute string ;
9) attribute string ;
10) attribute string ;
11) attribute Struct { string , integer , string , string , integer } ;
12) relationship Set <> _
inverse ::;
};
13) interface {
14) attribute string ;
15) attribute string ;
16) relationship Set <>
inverse ::_;
};
6 _ . , Set < >, . 16 . Set<>, , , .
. :
1. "--" D , D, D . , 4.5, "--" ; _ .
.
2. "--" D , D, D . 4.5 _ "--" . "'--" D . "--" .
3. "--" D , D.
D . 4.5 , . , . , "--" .
, "--" "--", "--" "--". "--" "--", "--". , "--" "--", "--".
|
|
"" "" "--" "--" . , "" "" . , , . , . , .
, , . "null" , . , "null" , .
4.1.7. ODL
ODL , . , , ( ). ODL:
1. : , , , . , . 5 4.4, , , 0, 1, 3.
2. , , . , , .
:
1. . T - , Set < T > , .
2. . , Bag < T > , . . , {1, 2, 1} , , 1 .
3. . Җ , List < T > , , . string List < char >.
4. . Җ , < > , i . , Array < char,10> 10.
5. . 1,T2,..., n , a F1, F 2,..., Fn ,
Struct N { 1F1,T2F2,TnFn }
N, , ; i - Fi i. , 10 4.4 .
, , . , . , . , {1, 3, 1} {3, 1, 1} , {1, 3, 1} {3, 1, 1} .
, , . , , , .
, . .
, , .
, , . . , : , , .
4.6. :
1) integer.
2) Struct N { string fieldl, integer field2}.
3) List < real >.
|
|
4) Array < Struct N { string fieldl, integer field2}>.
1 , 2 , 3 , 4 , .
, . Bag <>. :
1. Struct N { fieldl, field2}. .
2. Set < integer >. .
3. Set < Array <>. ( ).
4.1.8. ODL
-- .
: , . , . - " ", . .
4.7. _ , "--", , , ( , ) . " "--".
, . , . _ , . .
1. , , .
2. . , - , , . . .
, ODL . , , . , , .
, , . , , , ODL, . , , ( ) . , , .
. , .
4.1.9.
. , . , / , . ODL, ( ) , - E/R- "isa" (" " "isa" ).
, , . , 4.1. D D.
4.8. . _ , , _. ODL-:
1) interface _: {
2) relationship Set <> _;
};
(1) , _ . (2) , _ _ , . , . , _ , , .
( , ). , . 4.8 , ( 4.4), _ _.
4.1.10. ODL
, , . , , , . . , .