Karpova_bazy_dannyh
.pdf


3 




-



|
, |
|
|
. |
- |
|
. |
, |
|
, |
- |
. |
, |
, |
|
- |
- |



.
|
- |
. |
- |
: |
- |
IMS |
IBM. |





















, 


























, 



















, 




















. 







-




























.





: 



(
), 





. 

















, 

-
, |
|
|
|
. |
, |
|
|
|
, |
|
- |
, |
, |
, |
, |
, |
|
|
, |
|
|
, |
- |
|
|
|
|
. |
|
|
, |
|
|
, |
, |
, |
|
|
|
|
- |




,
32 |
|
|
|
|
|
|
|
|
3. |
- |
|
|
||
|
|
|
|
|
|
|
|
|
, |
, |
|
, |
- |
|
|
|
|
|
|
|
|
|
|
, |
, |
. |
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
, |
|
|
. |
|
|
|
, |
|
, |
- |
||||
|
|
|
|
|
|
|
|
|
|
|||||
, |
|
|
. |
|
|
|
|
|
|
|
||||
Base Task Group) |
|
|
|
|
|
, |
|
|
|
DBTG (Data |
||||
: |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
, |
- |
||
|
|
|
|
|
|
|
|
|
|
|
||||
, |
. |
|
|
. |
|
|
- |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
( |
|
, |
). |
|
|
- |
||||
|
|
|
|
, |
|
|
|
|
|
|
|
. |
- |
|
, |
|
|
|
|
|
|
|
, |
, |
|
, |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
. |
|
, |
- |
|
|
|
|
|
, |
, |
, |
|
|
- |
|||||
|
|
|
|
|
|
|
|
|
|
. |
|
|
- |
|
, |
|
|
|
|
|
|
|
|
, |
|
, |
, |
||
, |
. |
|
|
|
|
|
, |
- |
||||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
. |
, |
: |
|
|
|
, |
- |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
, |
- |
( |
|
) |
|
|
|
|
( |
) |
. |
|
||||
, |
|
|
|
|
|
|
|
|
, |
, |
|
- |
||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
, |
|
|
|
. |
- |
|
|
|
|
- |
|
|
, |
|
|
- |
||||
|
|
|
|
|
|
|
|
|
||||||
- |
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

. 3.1. 











































-








.
33


































,


. 


-



:
























, 





, 















(





) 




;















;








(




) 



.
, |
|
|
: |
|
- |
. |
|
, |
|
( |
, |
) |
, |
(4305, |
. .) |
(383, |
|
. .). |
|
|
|
|
|
|
|
|
|
. |
- |



, 


, 







, 








. 3.2.
|
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
B |
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
E |
|
|
|
|
|
|
|

. 3.2. 






































.






























.


. 3.3 




2 

























.
|
|
|
|
|
|
|
|
|
|
|
|
a 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
a1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b4 |
|
|
|
|
|
|
c2 |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b |
|
|
|
c3 |
|
|
|
|||||||||||
|
|
|
|
b1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
b2 |
|
|
|
|
|
|
c1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
b3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e2 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d3 |
|
|
|
|
|
|
e3 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
d1 |
|
|
|
|
|
|
|
e1 |
|
|
|
|
d 4 |
|
|
e4 |
|
|||||||||
|
|
|
|
|
d 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||

. 3.3. 
34 |
|
|
|
|
|
3. |
- |
|
|
- |
|
|
, |
|
|
|
, |
|
« |
». |
, |
, |
b1, b2 |
b3 |
|
« |
», |
|
|
b4 |
- |
|
|
|
, |
|
« |
» |
b1, |
b2 |
b3. |
|
|
|
|
, |
- |
|
|
|
, |
|
|
. |
- |
|
|
|
|
|
|
|
, |
. |
, |
, |
. 3.3 |
: |
|
a1b1b2b3c1d1d 2 e1 |
a2b4b5 c2 d3 d 4 e2 e3e4 |
|
|
1 |
2 |












, 




















-












.
(DDL, Data Definition Language) 















(DML,
Data Manipulation Language).
























, 

















, 










. 



DBD (Data Base Definition):
DBD Name = < 

>. ACCESS = < 





>



































.




5 






: HSAM
hierarchical sequential access method (















), HIS AM
hierarchical index sequential access method (








-









), HDAM
hierarchical direct access method (










), HIDAM
hierarchical index direct access method (








-




), INDEX 


- 



.















, 













:
DATA SET DD1 = < 





, 















>, DEVICE =< 








>,
[OVFLW = < 










>]




















, 











-


.

































-













, 


















.






















.
35




























, 




- 
, 











. 


















-
|
. |
: |
|
SEGM NAME = < |
>, BYTES =< |
>. |
|
FREQ = < |
|
>. |
|
PARENT = < |
|
>. |
|
FREQ |
|
, |
- |
|
|
. |
|





.














PARENT 

0 (
).









:
FIELD NAME = {(< |
> [, SEQ].{U | M}) | < |
> }. |
START = < 




, 














>.
BYTES = <







>.
TYPE = {X |
|
}.



SEQ 












, 










































.



U 


, 























-










, 








. 










,
,




. 


TYPE 








. 











-


















: X 







, 








, 




.



























: DBOGEN 




;
FINISH 





























; END

.
( ), |
- |
DBD |
. |
















. 












-









.
, |
- |
. |
|
, |
- |
. |
- |









.
36 |
3. |
- |

































-
































, 
-














. 






, program communication bloc 



























:
DBD NAME = <






(


)> , ACCESS =LOGICAL DATA SET = LOGICAL.
SEGM NAME = <









>. PARENT =<
















>, SOURSE =(














, 


)
DBDGEN FINISH END


































- 


, 



«











» (PSB, program specifi-
cation block).
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
||
. |
|
|
|
|
|
|
|
|
, |
- |
|||||
|
|
|
|
|
. |
|
- |
||||||||
( |
. 3.4) |
|
|
|
, |
- |
|||||||||
. |
|
|
|
|
|
|
|
|
|
. |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
- |
|
|
|
- |
- |
|
|
|
|
|
|
|

. 3.4. 




«


»

























?















, 













:








.














, 




, 















, 





, 















-









.
37









, 




, 















-












.


















, 














-


.






























, 






















, 



















(
. 
. 3.5).

. 3.5. 






«

»



, 

























-
. |
: |














, 









;




.
. |
, |
. |
|
3 |
. |
















.




:
GET UNIQUE <




> WHERE <




>:
38 |
3. |
- |

























:
<




>.<


>0
<constant 

























>;

;








{& , V}.




:













.


:


















$600, 














10 




.
GET UNIQUE 





WHERE 





. 



<= $600 AND 





. 







>=10

























, 





-







, 












.




:
GET NEXT <




> WHERE <









> 



:


























.


:























$500.
GET UNIQUE 








WHERE 








. 



>= $500
WHILE NOT FAIL (







) D0 PRINT 


. 



. 



GET NEXT 









END




:
GET NEXT <




> WITHIN PARENT [where <

. 


>]




:


















. 
-

:













, 










1, 








10 



10 
.
GET UNIQUE 

WHERE 

. 

= 1
GET NEXT 


WITHIN PARENT WHERE 


.




= "



" GET NEXT 





WITHIN PARENT
WHERE 





. 


= 10 AND






. 







=
AND






. 


> 10 While Not Fail (








) D0 Get Next Within Parent
end
|
|
|
39 |
|
|
- |
|
|
|
1. |
GET UNIQUE, |
. |
|
|
, |
|
- |
||
|
|
|||
|
( |
) |
. |
|
: |
|
|
|
|
GET HOLD UNIQUE < |
> WHERE < |
> |
|
|
2. |
|
. |
- |
|
4 |
|
GET NEXT |
- |
|
|
|
. |
|
|




:
GET HOLD NEXT [WHERE <









>]
3. |
|
. |
- |
3, |
|
|
- |
. |
|
|
|
: |
|
|
|
G HOLD NEXT WITHIN PARENT [where < |
. |
>] |
|
1. |
|
|
|
|
. |
- |
|
: |
|
|
|
DELETE |
|
|
|
. |
? |
|
|
, |
|
|
. |
|
|
|
- |
|
. |
. |
- |
|
|
|
|
2. |
|
|
|
: |
|
|
|
UPDATE |
|
|
|
, |
|
|
- |
. |
|
, |
|
|
, |
|
. |
|
|
. |
, |
|
|
UPDATE, |
- |






.














.
INSERT <




>
40 |
3. |
- |
|
|
, |
- |
- |
|
. |
, |
|
|
|
, |
- |
|
|
|
, |








.
, |
|
|
- |
, |
|
|
|
. |
, |
, |
- |
|
, |
|
|
|
. |
|
. |
|
|
|






















1975 






CODASYL (Conference of Data System Languages), 












- 
















.















:






;






;


;

.
, |
, |
- |
, |
|
. |
|
: |
. |
. |
|
|
|
|











, 























.

.



, 

























:



































.



, 






























- 12.
