home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
mbug
/
mbug001.arc
/
PREFACE.IQS
/
PREFACE.INS
Wrap
Text File
|
1979-12-31
|
22KB
|
427 lines
.po0
WHA╘ I╙ ┴ DATABAS┼ ANYWA┘ ?
DATABAS┼ managemen⌠ system≤ havσ beeε arounΣ sincσ thσ earl∙ seventies« ì
Onl∙ recently¼ however¼ havσ the∙ starteΣ t∩ becomσ commonl∙ availablσ fo≥ ì
microcomputer≤ anΣ persona∞ computers.
Iε thi≤ article¼ ╔ shal∞ se⌠ ou⌠ t∩ revie≈ wha⌠ databasσ managemen⌠
system≤ (DBMS⌐ are¼ wh∙ the∙ camσ int∩ existence¼ thei≥ advantage≤ ove≥ morσ ì
conventiona∞ languages¼ anΣ ho≈ the∙ work«
MucΦ oµ thσ materia∞ iε thi≤ articlσ wil∞ directl∙ relatσ t∩ data-base≤ ì
II¼ whicΦ i≤ thσ mos⌠ popula≥ micr∩ DBMS¼ althougΦ mucΦ oµ thσ reasoninτ ì
applie≤ equall∙ wel∞ t∩ FMS-80¼ CONDO╥ 20¼ MDBS¼ INFOSTA╥ anΣ othe≥ systems.
Iε orde≥ t∩ understanΣ thσ operatioε oµ databasσ systems¼ i⌠ i≤ necessar∙ ì
firs⌠ oµ al∞ t∩ bσ fimila≥ witΦ thσ underlyinτ concept≤ oµ compute≥ datß file≤ ì
anΣ method≤ oµ orginisinτ datß iε thosσ files.
Datß i≤ simpl∙ ra≈ information¼ I⌠ ma∙ consis⌠ oµ numbers¼ alphanumeriπ ì
strings¼ code≤ o≥ anythinτ elsσ tha⌠ caε bσ representeΣ oε somσ forφ oµ ì
storagσ medium¼ bσ i⌠ tape¼ disδ o≥ magnetiπ bubbles.
I⌠ i≤ importan⌠ t∩ bσ awarσ tha⌠ datß ha≤ n∩ meaning║ readinτ ß secto≥ oµ ì
ß flopp∙ disδ migh⌠ revea∞ thσ datß "DHS,23.56,7691,47,105.54,4002.50"« Wha⌠ ì
doe≤ thi≤ mean┐ A≤ i⌠ stands¼ nothing« I⌠ i≤ onl∙ wheε thσ informatioε i≤ ì
placeΣ iε contex⌠ tha⌠ i⌠ begin≤ t∩ makσ sense«
Fo≥ example¼ iµ wσ kno≈ tha⌠ thσ secto≥ i≤ par⌠ oµ ß filσ maintaineΣ b∙ ì
aε invoicσ system¼ wσ migh⌠ bσ ablσ t∩ deducσ tha⌠ thσ custome≥ witΦ thσ codσ ì
DH╙ ha≤ ß curren⌠ balancσ oµ $23.5╢ beforσ buyinτ 4╖ oµ produc⌠ codσ 7692¼ anΣ ì
s∩ on.
Noticσ tha⌠ eveε thi≤ informatioε i≤ no⌠ especiall∙ significant« ┴ ì
manage≥ usinτ thσ compute≥ systeφ migh⌠ asδ "Wha⌠ i≤ thσ tradinτ histor∙ oµ ì
DHS┐ Wha⌠ i≤ thei≥ credi⌠ standing?ó AnΣ thσ ra≈ datß i≤ oµ n∩ hel≡ iε thi≤ ì
regard«
Wheε datß i≤ placeΣ iε context¼ theε i⌠ become≤ informatioε - i⌠ i≤ ì
informative¼ i⌠ tell≤ u≤ something« Ra≈ datß i≤ meaningless.
File≤ arσ simpl∙ collection≤ oµ ra≈ data¼ writteε ont∩ ß storagσ mediuφ ì
b∙ somσ sor⌠ oµ program« Iε general¼ thσ prograφ know≤ wha⌠ ß particula≥ datuφ ì
represent≤ b∙ virtuσ oµ it≤ positioε iε thσ file« Thσ filσ doe≤ no⌠ contaiε ì
information¼ likσ "Thσ mone∙ oweΣ t∩ u≤ b∙ XY┌ Compan∙ i≤ $598.40"« I⌠ doe≤ ì
no⌠ eveε contaiε helpfu∞ reminder≤ likσ "Balancσ ╜ $598.40"« I⌠ simpl∙ ì
contain≤ ß sequencσ oµ ra≈ data¼ likσ 341.87,610.00,598.40.
EacΦ sectioε oµ thσ relateΣ informatioε iε thσ filσ i≤ termeΣ ß record« ì
Takσ ß simplσ inventor∙ file¼ fo≥ example« Thσ datß i⌠ woulΣ neeΣ t∩ storσ ì
migh⌠ bσ produc⌠ code¼ description¼ quantit∙ iε stock¼ bacδ orde≥ quantit∙ anΣ ì
re-orde≥ level« Let'≤ firs⌠ examinσ ho≈ thi≤ filσ migh⌠ bσ createΣ usinτ ì
Microsof⌠ BASIC-8░ ║
è10░ RE═ INVENTOR┘ FIL┼ CREAT┼ FILE
11░ REM
12░ RE═ VARIABL┼ DEFINITION
13░ RE═ Iñ ╜ I─ COD┼ Dñ ╜ DESCRIPTION
14░ RE═ Sñ ╜ STOC╦ O╬ HAN─ Bñ ╜ BAC╦ ORDE╥ QUANTITY
15░ RE═ Rñ ╜ REORDE╥ QUANTITY
16░ RE═ OPE╬ FILE
17░ OPE╬ "R",1,"INVENT.DAT"
18░ FIELD#1,╡ A╙ I$¼ 3░ A╙ D$¼ ▓ A╙ S$,▓ A╙ B$,▓ A╙ R$
19░ INPU╘ "I─ CODE";I1$
20░ I╞ Iñ ╜ "ENDó THE╬ 27░ ELS┼ LE╘ Iñ =I1$
21░ INPU╘ "DESCRIPTION";D1$:LE╘ Dñ ╜ D1$
22░ INPU╘ "STOC╦ O╬ HAND";S#:LE╘ S$=MKI$(S$))
23░ INPU╘ "BAC╦ ORDE╥ QTY";B#:LE╘ B$=MKI$(B#)
24░ INPU╘ "RE-ORDE╥ QUANTITY";R#:LE╘ R#=MKI$(R#)
25░ PU╘ 1
26░ GOT╧ 190
27░ PRIN╘ "ENTR┘ COMPLETED"
28░ CLOSE:END
Therσ arσ severa∞ point≤ t∩ notσ abou⌠ thi≤ program« Firs⌠ i≤ thσ ì
definitioε oµ thσ variables╗ thesσ definition≤ onl∙ appl∙ withiε thi≤ program« ì
T∩ illustratσ tha⌠ point¼ here'≤ ß prograφ whicΦ wil∞ prin⌠ thσ content≤ oµ ì
thσ samσ file¼ onl∙ i⌠ use≤ totall∙ differen⌠ variablσ names.
10░ RE═ INVENTOR┘ DUM╨ PROGRAM
11░ REM
12░ RE═ VARIABL┼ DEFINITIONS
13░ RE═ Añ ╜ I─ COD┼ Bñ ╜ DESCRIPTION
14░ RE═ Cñ ╜ STOC╦ O╬ HAN─ Dñ ╜ BAC╦ ORDE╥ QUANTITY
15░ RE═ Eñ ╜ RE-ORDE╥ QUANTITY
16░ RE═ OPE╬ FILE
17░ OPE╬ "R",1,"INVENT.DAT"
18░ FIELD#1,╡ A$¼ 3░ A╙ B$¼ ▓ A╙ C$¼ ▓ A╙ D$¼ ▓ A╙ E$
19░ FO╥ ╔ ╜ ▒ T╧ LOF(1)
20░ GE╘ 1,I
21░ Fú ╜ CVI(C$)
22░ Gú ╜ CVI(D$)
23░ Hú ╜ CVI(E$)
24░ PRIN╘ A$;ó ";B$;F#;ó ";G#;ó "H#
25░ NEX╘ I
26░ PRIN╘ "EN─ O╞ FILE"
27░ CLOSE║ END
Iε thi≤ case¼ rathe≥ thaε tryinτ t∩ makσ variablσ name≤ iε an∙ wa∙ ì
symbolic¼ ╔ simpl∙ useΣ letter≤ froφ ┴ t∩ I« Iµ yo⌡ tr∙ thi≤ pai≥ oµ programs¼ ì
you'l∞ seσ tha⌠ thi≤ make≤ absolutel∙ n∩ differencσ - bu⌠ i⌠ doe≤ makσ i⌠ ì
difficul⌠ fo≥ ß programmer¼ workinτ oε thesσ programs¼ t∩ remembe≥ wha⌠ ì
variablσ namσ refer≤ t∩ wha⌠ iteφ oµ data.
Next¼ noticσ thi≤ linσ iε botΦ programs:
18░ FIELD#1,╡ A$¼ 3░ A╙ B$¼ ▓ A╙ C$¼ ▓ A╙ D$¼ ▓ A╙ E$
è Thi≤ linσ tell≤ thσ prograφ ho≈ lonτ eacΦ iteφ oµ datß is║ ╡ byte≤ fo≥ ì
thσ produc⌠ I─ code¼ 3░ character≤ fo≥ thσ description¼ ▓ byte≤ fo≥ eacΦ oµ ì
thσ stocδ oε hand¼ bacδ orde≥ anΣ re-orde≥ quantities.
Iµ thσ tw∩ program≤ haΣ differen⌠ FIEL─ statements¼ thσ resul⌠ woulΣ bσ ß ì
disaster¼ a≤ the∙ woulΣ progressivel∙ ge⌠ ou⌠ oµ ste≡ anΣ reaΣ thσ wronτ data« ì
I⌠ i≤ thσ programmer≤ responsibilit∙ t∩ ensurσ tha⌠ program≤ agreσ oε thσ datß ì
layou⌠ oµ shareΣ files« Thi≤ informatioε abou⌠ filσ layou⌠ i≤ no⌠ iε thσ file≤ ì
themselves¼ bu⌠ iε thσ program≤ tha⌠ usσ thσ file≤ -- ß ke∙ point.
EacΦ filσ consist≤ oµ multiplσ records¼ anΣ eacΦ recorΣ contain≤ multiplσ ì
fields¼ a≤ defineΣ b∙ thσ FIEL─ statement« ┴ recorΣ contain≤ ß ß se⌠ oµ ì
relateΣ datß pertaininτ t∩ onσ stocδ item¼ onσ transactioε o≥ whatever« EacΦ ì
fielΣ i≤ onσ iteφ oµ datß withiε tha⌠ recorΣ - aε I─ code¼ quantity¼ balancσ ì
o≥ othe≥ data.
FIL┼ ORGINISATION.
Al∞ file≤ arσ alikσ a≤ fa≥ a≤ thesσ basiπ concept≤ go« However¼ a≤ ou≥ ì
need≤ becomσ morσ realistic¼ i⌠ emerge≤ tha⌠ therσ arσ severa∞ way≤ oµ ì
orginisinτ files« Thσ tw∩ basiπ type≤ oµ filσ orginisatioε arσ sequentia∞ anΣ ì
direct.
Iε sequentia∞ access¼ record≤ arσ accesseΣ iε order¼ froφ thσ beginninτ ì
oµ thσ filσ t∩ thσ end« Iε orde≥ t∩ makσ thi≤ forφ oµ acces≤ morσ acceptable¼ ì
record≤ arσ usuall∙ maintaineΣ iε alphabetiπ o≥ numeriπ orde≥ oε ß ke∙ sucΦ a≤ ì
surnamσ o≥ produc⌠ ID« Becausσ record≤ follo≈ iε sequence¼ the∙ caε sometime≤ ì
var∙ iε length¼ s∩ tha⌠ eacΦ recorΣ start≤ wherσ thσ previou≤ onσ ends¼ ì
typicall∙ erasinτ delimiter≤ sucΦ a≤ comma≤ o≥ carriagσ return≤ t∩ marδ thσ ì
boundarie≤ betweeε eacΦ fielΣ oµ thσ records.
Iε direc⌠ acces≤ files¼ thσ systeφ i≤ ablσ t∩ movσ directl∙ t∩ anΣ reaΣ ì
o≥ writσ an∙ recorΣ iε thσ file« Becausσ thσ computer'≤ operatinτ systeφ mus⌠ ì
bσ ablσ t∩ calculatσ thσ positioε oµ thσ ntΦ record¼ al∞ record≤ MUS╘ bσ thσ ì
samσ fixeΣ length« Thus¼ iµ record≤ arσ ╔ byte≤ long¼ thσ ntΦ recorΣ i≤ ì
positioneΣ I*(n-1⌐ byte≤ froφ thσ beginninτ oµ thσ file« Direc⌠ acces≤ ì
file≤ ma∙ o≥ ma∙ no⌠ bσ maintaineΣ iε alphabetica∞ order.
Here'≤ ß ver∙ simplσ example« Conside≥ thσ probleφ oµ maintaininτ ß se⌠ ì
oµ debtor'≤ account≤ fo≥ ß smal∞ company« Supposσ wσ havσ 50░ customer≤ anΣ ì
tha⌠ thσ mos⌠ activσ oµ thesσ place≤ order≤ daily¼ whilσ thσ quietis⌠ order≤ ì
monthly« Wσ neeΣ t∩ bσ ablσ t∩ looδ u≡ an∙ customer'≤ balancσ oε demand«
Here'≤ onσ conceivablσ filσ orginisatioε usinτ direc⌠ filσ access:
Custome≥ Namσ 2╡ byte≤ alphanumeric
Stree⌠ Addres≤ 2╡ ó "
Towε 2░ ó "
Postcodσ ┤ ó "
Orde≥ ▒ descriptioε 3░ ó "
Orde≥ ▒ amoun⌠ ┤ ó floatinτ point
Orde≥ ▓ descriptioε 3░ ó alphanumeric
Orde≥ ▓ amoun⌠ ┤ ó floatinτ point
Orde≥ │ descriptioε 3░ ó alphanumeric
Orde≥ │ amoun⌠ ┤ ó floatinτ poin⌠ cont..>è .
Orde≥ 2╕ descriptioε 3░ ó alphanumeric
Orde≥ 2╕ amoun⌠ ┤ ó floatinτ point
-------------------------------------------------------------------
Tota∞ recorΣ lengtΦ 102╢ bytes
time≤ 50░ account≤ 50▒ Kbytes
That'≤ bigge≥ thaε mos⌠ 13cφ flopp∙ disks« Bu⌠ morσ importantly¼ wel∞ ì
ove≥ halµ thσ spacσ iε thσ filσ i≤ wasted« Thσ vas⌠ majorit∙ oµ customer≤ ì
migh⌠ placσ onl∙ ┤ order≤ ß month¼ whilσ wσ havσ reserveΣ place≤ fo≥ 28« Tha⌠ ì
mean≤ iε man∙ record≤ 81╢ byte≤ werσ wasted« Therσ i≤ ß bette≥ way!!!
AnΣ herσ i⌠ is« Instead¼ wσ havσ onl∙ onσ filσ containinτ thσ namσ anΣ ì
addres≤ informatioε fo≥ eacΦ customer¼ plu≤ ß pointe≥ value¼ whicΦ we'l∞ ì
explaiε iε ß moment« Theε wσ creatσ ß seconΣ file¼ whicΦ contain≤ al∞ thσ ì
orde≥ informatioε fo≥ al∞ thσ customers« EacΦ recorΣ contain≤ thσ orde≥ ì
description¼ anΣ amount¼ plu≤ anothe≥ pointer« Ho≈ d∩ wσ tel∞ whicΦ order≤ arσ ì
fo≥ whicΦ customers┐ That'≤ wherσ thσ pointer≤ comσ in.
No≈ wσ havσ tw∩ files¼ orginiseΣ likσ this:
Customer_File.
Custome≥ Namσ 2╡ byte≤ alphanumeric
Stree⌠ Addres≤ 2╡ ó "
Towε 2░ ó "
Postcodσ ┤ ó "
Pointe≥ ▓ ó binar∙ word
----------------------------------------------------------------
Tota∞ RecorΣ LengtΦ 7╢ bytes
time≤ 50░ 3╕ Kbytes
Order_File.
Orde≥ ▒ descriptioε 3░ ó "
Orde≥ ▒ amoun⌠ ┤ ó floatinτ point
Pointe≥ ▓ ó binar∙ word
----------------------------------------------------------------
Tota∞ RecorΣ LengtΦ 3╢ bytes
Time≤ 500░ orders/montΦ 18░ Kbytes
Thσ tota∞ oµ thσ tw∩ i≤ onl∙ 21╕ Kilobytes« No≈ looδ a⌠ Figurσ 1¼ whicΦ ì
show≤ thσ wa∙ thσ pointer≤ work« Thσ pointe≥ fo≥ thσ firs⌠ customer'≤ recorΣ ì
i≤ thσ numbe≥ oµ hi≤ firs⌠ orde≥ recorΣ iε thσ orde≥ file« It'≤ pointer¼ iε ì
turn¼ i≤ se⌠ t∩ thσ numbe≥ oµ hi≤ seconΣ order¼ whicΦ iε thi≤ casσ i≤ thσ ì
thirΣ recorΣ iε thσ orde≥ file« It¼ iε turn¼ chain≤ t∩ thσ fiftΦ recorΣ oµ thσ ì
file.
┴ simila≥ approacΦ show≤ show≤ tha⌠ thσ seconΣ custome≥ ha≤ placeΣ tw∩ ì
orders¼ locateΣ iε record≤ ▓ anΣ ╢ oµ thσ orde≥ file« Custome≥ numbe≥ threσ ì
ha≤ als∩ placeΣ tw∩ orders.
è Now¼ while¼ a⌠ ß stroke¼ wσ havσ saveΣ 30░ kilobyte≤ oµ filσ space¼ wσ d∩ ì
havσ t∩ pa∙ ß price« Firstly¼ althougΦ wσ caε locatσ al∞ order≤ placeΣ b∙ ß ì
giveε customer¼ wσ canno⌠ finΣ ß custome≥ wh∩ placeΣ ß particula≥ order.
Similarly¼ thσ pointer≤ forφ ß rathe≥ tenuou≤ threaΣ linkinτ variou≤ ì
part≤ oµ thσ filσ systeφ altogether« Iµ an∙ oµ thσ pointer≤ i≤ accidentl∙ ì
damaged¼ ß par⌠ oµ thσ fielΣ i≤ los⌠ t∩ us¼ anΣ witΦ thi≤ simplσ filσ ì
structure¼ therσ i≤ n∩ wa∙ oµ restorinτ i⌠ shor⌠ oµ recreatinτ thσ filσ froφ ì
scratch.
Iε practice¼ ß commercia∞ systeφ woulΣ ge⌠ arounΣ botΦ thesσ objection≤ ì
b∙ providinτ link≤ iε botΦ directions¼ allowinτ tracinτ oµ ß particula≥ orde≥ ì
t∩ ß customer¼ a≤ wel∞ a≤ providinτ redundan⌠ link≤ whicΦ wil∞ enablσ ì
reconstructioε oµ an∙ brokeε pointers.
┴ modificatioε oµ thi≤ techniquσ allow≤ eacΦ recorΣ t∩ contaiε multiplσ ì
pointer≤ iε wha⌠ i≤ calleΣ ß treσ structure« B∙ usinτ trees¼ i⌠ i≤ possiblσ t∩ ì
artificiall∙ overlay¼ say¼ alphabetiπ orderinτ oε aε otherwisσ randoφ file.
AT_LAST,_THE_DATABASE.
Unti∞ thσ earl∙ seventies« mos⌠ program≤ werσ writteε usinτ thesσ ì
techniques« However,therσ arσ ß numbe≥ oµ problem≤ associateΣ witΦ thi≤ wa∙ oµ ì
doinτ things.
First¼ datß associateΣ witΦ ß particula≥ amoun⌠ i≤ scattereΣ acros≤ ì
severa∞ files¼ anΣ ofteε canno⌠ bσ accesseΣ withou⌠ knowinτ thσ particula≥ ke∙ ì
(iε thσ examplσ above¼ thσ custome≥ name)« I⌠ i≤ difficul⌠ t∩ worδ ou⌠ wha⌠ ì
data¼ where¼ relate≤ t∩ wha⌠ else¼ anΣ i⌠ i≤ difficul⌠ t∩ creatσ ß se⌠ oµ ì
file≤ anΣ logica∞ filσ structurσ whicΦ meet≤ realistiπ need≤ anΣ ye⌠ i≤ simplσ ì
enougΦ t∩ understand.
Second¼ thσ easies⌠ wa∙ t∩ mee⌠ acces≤ requirement≤ i≤ ofteε jus⌠ t∩ ì
storσ thσ samσ datß repeatedl∙ iε severa∞ files« Thσ resul⌠ i≤ ß lo⌠ oµ ì
expensivσ disδ storage.
Third¼ thσ datß format≤ useΣ b∙ differen⌠ programminτ language≤ anΣ ì
utilitie≤ arσ ofteε imcompatible¼ anΣ a≤ wσ havσ seeε above¼ i⌠ i≤ u≡ t∩ thσ ì
programme≥ t∩ remembe≥ wha⌠ datß goe≤ wherσ anΣ iε wha⌠ format.
Fourth¼ thesσ kind≤ oµ largσ system≤ iε thσ rea∞ worlΣ havσ ß habi⌠ oµ ì
growinτ likσ Topsy« A≤ the∙ d∩ so¼ i⌠ become≤ morσ anΣ morσ difficul⌠ fo≥ thσ ì
programme≥ t∩ remembe≥ al∞ thσ variablσ name≤ anΣ datß format≤ anΣ othe≥ ì
peculiaritie≤ sucΦ a≤ filσ relationships« AnΣ iµ ß filσ structurσ i≤ changed¼ ì
theε al∞ lines¼ iε al∞ program≤ whicΦ usσ thσ filσ mus⌠ als∩ bσ changeΣ - ì
ofteε ß mammotΦ task.
Finally¼ datß iε thσ file≤ i≤ completel∙ ra≈ anΣ ha≤ n∩ meaning╗ wσ ì
canno⌠ tel∞ wha⌠ eacΦ fielΣ represent≤ - eveε iµ wσ caε identif∙ wherσ ß fielΣ ì
begin≤ anΣ ends« Thσ databasσ managemen⌠ systeφ provide≥ ß solutioε t∩ thσ ì
problem.
è ┴ DBM╙ completel∙ manage≤ thσ storagσ oµ data¼ witΦ n∩ neeΣ fo≥ thσ use≥ ì
t∩ kno≈ ho≈ i⌠ orginise≤ it« Thσ use≥ need≤ onl∙ t∩ kno≈ ho≈ man∙ byte≤ arσ ì
devoteΣ t∩ ß particula≥ fielΣ (althougΦ hσ caε originall∙ specif∙ this⌐ o≥ ì
wherσ i⌠ i≤ locateΣ iε ß record¼ Hσ neeΣ onl∙ kno≈ tha⌠ ß fielΣ calleΣ namσ ì
contain≤ thσ custome≥ name.
Thi≤ propert∙ i≤ calleΣ datß independence« Iµ ß use≥ decide≤ tha⌠ hσ ì
woulΣ prefe≥ datß presenteΣ iε ß differen⌠ format¼ theε ß simplσ commanΣ t∩ ì
thσ DBM╙ wil∞ resul⌠ iε thσ datß beinτ reformatted« Thi≤ i≤ possiblσ thorougΦ ì
ß uniquσ facilit∙ whicΦ i≤ no⌠ provideΣ iε conventiona∞ prograφ language≤ - ì
tha⌠ is¼ informatioε abou⌠ thσ recorΣ layout¼ includinτ fielΣ names¼ type≤ anΣ ì
sizes¼ i≤ embeddeΣ iε thσ database¼ anΣ i≤ availablσ t∩ al∞ program≤ usinτ it.
Thi≤ informatioε ma∙ bσ storeΣ iε ß separatσ file¼ a≤ iε FMS-8░ o≥ ì
InfoStar¼ o≥ ma∙ bσ storeΣ iε thσ firs⌠ fe≈ hundreΣ byte≤ oµ thσ databasσ ì
itself¼ a≤ dBaseI╔ does« Thσ resul⌠ i≤ tha⌠ thσ use≥ (anΣ hi≤ programs⌐ neeΣ ì
kno≈ nothinτ oµ thσ actua∞ databasσ layout¼ anΣ change≤ t∩ thσ databasσ ì
orginisatioε wil∞ no⌠ effec⌠ thσ runninτ oµ thσ programs.
Tw∩ distinc⌠ classe≤ oµ databasσ system≤ arσ available║ thosσ whicΦ ì
simpl∙ providσ ß sophisticateΣ filσ acces≤ methoΣ sucΦ a≤ TOTA╠ oε mainframe≤ ì
o≥ MBD╙ oε micros╗ anΣ thosσ whicΦ als∩ incorporatσ ß specia∞ languagσ whicΦ ì
ma∙ bσ useΣ t∩ manipulatσ thσ database¼ quer∙ i⌠ anΣ providσ report≤ - sucΦ a≤ ì
FMS-80¼ Condo≥ 2░ anΣ dBaseII.
Withiε eacΦ oµ thesσ groups¼ therσ i≤ ß furthe≥ subdivisioε int∩ tw∩ ì
majo≥ databasσ model≤ ║ heirachica∞ anΣ relational« Thσ heirarchica∞ mode∞ ì
correspond≤ basicall∙ t∩ thσ simplσ examplσ provideΣ iε figurσ 1¼ wherσ eacΦ ì
orde≥ i≤ par⌠ oµ ß lis⌠ whicΦ belong≤ t∩ ß maste≥ record.
______________________________________________________________________________
ⁿ NAM┼ ⁿ STREE╘ ⁿ TOW╬ ⁿ P/├ |POINTⁿ NAM┼ ⁿ STREE╘ ⁿ TOW╬ ⁿ P/├ |POINTⁿ ì
NAME>>
------------------------------------------------------------------------------
______<______________<_______ⁿ |
ⁿ ________________<______________<____________|
ⁿ |
ⁿ ⁿ ì
__<_________________________<______>
__▀ ì
|___________________|__________________|___________________________________
|DESC||QTY|POINT|DESC||QTY|POINT|DESC||QTY|POINT|DESC||QTY|POINT|DESC||QTY|POI
------------------------------------------------------------------------------
|_>_________>____|___ⁿ ⁿ |
ⁿ |____>___________>____|
RecorΣ 1« ⁿ
|_________>______________________>_t∩ nex⌠ desc>
RecorΣ 2.
RecorΣ 3.
è I⌠ suffer≤ froφ thσ samσ mentioneΣ abovσ ║ tha⌠ al∞ order≤ fo≥ ß ì
particula≥ custome≥ arσ eas∙ t∩ find¼ bu⌠ tha⌠ al∞ customer≤ wh∩ havσ ì
purchaseΣ ß particula≥ produc⌠ arσ difficul⌠ t∩ discover« Note¼ though¼ tha⌠ ì
iµ order≤ werσ choseε t∩ bσ thσ maste≥ filσ whicΦ link≤ t∩ thσ custome≥ file¼ ì
thσ reversσ woulΣ bσ true.
Thi≤ basiπ limitatioε mean≤ tha⌠ thi≤ mode∞ i≤ no⌠ gooΣ enougΦ fo≥ ì
representinτ one-to-man∙ o≥ many-to-man∙ relationships« However¼ fo≥ many-to-ì
onσ relationship≤ (likσ man∙ order≤ t∩ onσ customer)¼ i⌠ i≤ obviousl∙ wel∞ ì
suited.
Thσ relationa∞ model¼ despitσ thσ name¼ ha≤ nothinτ t∩ d∩ witΦ thσ ì
relationship≤ betweeε datß items« Iε fact¼ thσ terφ relatioε i≤ anothe≥ ì
mathematica∞ namσ fo≥ ß table« Conside≥ thσ examplσ belo≈ a≤ ß tablσ :
Cus⌠ N∩ Namσ Stree⌠ Towε Postcode
+-----------------------------------------------------------------+
ⁿ C▒ ⁿ J« Browε ⁿ 1░ Alber⌠ S⌠ ⁿ Mossmaε ⁿ 208╕ |
+-----------------------------------------------------------------+
ⁿ C▓ ⁿ H« SmitΦ ⁿ 11┤ Kirδ RΣ ⁿ Bankstowε ⁿ 220░ |
+-----------------------------------------------------------------+
ⁿ C│ ⁿ L« WentwortΦ ⁿ 6╖ Bostoε S⌠ ⁿ Sydne∙ ⁿ 200░ |
+-----------------------------------------------------------------+
ⁿ ⁿ ⁿ ⁿ ⁿ |
Cus⌠ N∩ Descriptioε Amount
+---------------------------------+
ⁿ C▒ ⁿ 2░ Widget≤ ⁿ $85.0░ |
+---------------------------------+
ⁿ C▓ ⁿ 4╡ Grommet≤ ⁿ $1.3╡ |
+---------------------------------+
ⁿ C▒ ⁿ 3░ Widget≤ ⁿ $130.0░ |
+---------------------------------+
ⁿ ⁿ ⁿ |
+---------------------------------+
ⁿ ⁿ ⁿ |
B∙ creatinτ tw∩ relations¼ wσ caε vie≈ thσ column≤ a≤ fields¼ anΣ thσ ì
row≤ a≤ records« Thσ record≤ arσ accesseΣ b∙ key╗ iε thi≤ casσ custome≥ ì
number« Thσ relationa∞ mode∞ i≤ purel∙ aε abstrac⌠ mathematica∞ concept¼ anΣ ì
iε practice¼ relationa∞ database≤ havσ t∩ rel∙ upoε pointer≤ anΣ indexe≤ iε ì
orde≥ t∩ physicall∙ construc⌠ thσ database« However¼ i⌠ woulΣ bσ possiblσ t∩ ì
builΣ ß truσ relationa∞ databasσ usinτ ß content≤ addressablσ memory¼ which¼ ì
althougΦ i⌠ i≤ horrendousl∙ expensive¼ i≤ aε approacΦ beinτ investigateΣ b∙ ì
IC╠ fo≥ it≤ nex⌠ generatioε oµ mainframσ computers.
Iε thσ meantime¼ bea≥ iε minΣ tha⌠ therσ i≤ n∩ sucΦ thinτ a≤ ß truσ ì
relationa∞ databasσ runninτ oε microcomputer≤ - a⌠ best¼ ß systeφ wil∞ hidσ ì
thσ pointer≤ whicΦ makσ i⌠ ß heirarchica∞ database¼ bu⌠ usuall∙ macr∩ ì
database≤ simpl∙ providσ datß independence¼ leavinτ i⌠ t∩ thσ use≥ t∩ ì
implemen⌠ pointer≤ a≤ hσ woulΣ iε an∙ language¼ likσ thσ BASI├ examplσ above.
èCommercia∞ DBMSs
Iε thi≤ article¼ thσ discussioε i≤ confineΣ t∩ microcompute≥ softwarσ ì
products¼ s∩ ╔ looδ elsewherσ fo≥ coveragσ oµ mainframσ product≤ sucΦ a≤ TOTA╠ ì
o≥ IBM'≤ IM╙ anΣ DL/1.
Condo≥ Serie≤ 2░ i≤ ß relationa∞ databasσ whicΦ i≤ availablσ iε threσ ì
levels« Thσ ful∞ systeφ offer≤ ß widσ rangσ oµ filσ managemen⌠ anΣ transactioε ì
processinτ capabilities« Likσ mos⌠ macr∩ DBMSs¼ i⌠ include≤ ß repor⌠ ì
generatinτ package.
FMS-80¼ froφ System≤ Plus¼ woulΣ havσ t∩ bσ regardeΣ a≤ ß relationa∞ ì
databasσ systeφ iε comparisoε witΦ othe≥ system≤ whicΦ makσ tha⌠ claim¼ bu⌠ ì
it'≤ namσ actuall∙ stand≤ fo≥ Filσ Managemen⌠ System¼ whicΦ i≤ ß mucΦ morσ ì
realistiπ nomenclature« Primaril∙ menu-driven¼ i⌠ incorporate≤ ß datß ì
manipulatioε languagσ calleΣ EFM¼ whicΦ caε bσ useΣ t∩ generatσ extremel∙ ì
sophisticateΣ application≤ indeed.
dBaseI╔ i≤ thσ mos⌠ popula≥ microcompute≥ DBMS« BaseΣ oε ß relationa∞ ì
model¼ i⌠ feature≤ ß rangσ oµ transactioε processinτ anΣ reportinτ ì
capabilities¼ anΣ incorporate≤ it≤ own¼ nameles≤ language« Whilσ data-base≤ ì
incorporate≤ ß numbe≥ oµ sophisticateΣ concepts¼ i⌠ fall≤ dowε iε it≤ actua∞ ì
implementation¼ particularl∙ iε regarΣ t∩ documentation¼ whicΦ simpl∙ omit≤ ì
man∙ feature≤ oµ thσ system« Indeed¼ fo≥ ß lonτ time¼ ╔ wa≤ convinceΣ tha⌠ ╔ ì
mus⌠ bσ missinτ somethinτ abou⌠ thσ package« M∙ selµ confidencσ wa≤ recovereΣ ì
a≤ peoplσ starteΣ pointinτ ou⌠ thσ deficiencie≤ oµ thσ documentation!
MBD╙ i≤ actuall∙ ß superse⌠ oµ thσ heirarchica∞ mode∞ - termeΣ ß networδ ì
databasσ - anΣ i≤ primaril∙ aε acces≤ methoΣ fo≥ usσ froφ withiε othe≥ ì
programs« I⌠ i≤ possibl∙ thσ mos⌠ sophisticateΣ oµ thσ package≤ mentioneΣ ì
here¼ anΣ i≤ certainl∙ thσ mos⌠ complex¼ iµ thσ documentatioε i≤ an∙ ì
indication« I⌠ i≤ als∩ thσ mos⌠ expensivσ DBM╙ packagσ availablσ fo≥ micros.
TI═ III¼ froφ Innovativσ Software¼ run≤ oε botΦ IB═ P├ anΣ CP/M-baseΣ ì
machines« I⌠ i≤ ß men⌡ driveε systeφ witΦ extensivσ hel≡ screens¼ anΣ i≤ onσ ì
oµ thσ simples⌠ system≤ t∩ use.
Man∙ othe≥ databasσ system≤ arσ available¼ botΦ oε macro≤ anΣ mainframes« ì
Howeve≥ thσ basiπ principle≤ remaiε thσ same¼ anΣ the∙ al∞ sharσ tw∩ commoε ì
concept≤ ║ Thσ informatioε abou⌠ filσ structurσ i≤ knowε t∩ al∞ program≤ tha⌠ ì
usσ thσ database¼ anΣ thσ systeφ provide≤ ß repor⌠ generato≥ prograφ whicΦ caε ì
bσ useΣ witΦ virtuall∙ n∩ programminτ knowledge.
EN─ PREFACE