Dawo da abu

**RETRIEVE** tsarin gudanar da bayanai ne (DBMS) wanda aka bayar akan tsarin Tymshare tun daga watan Agustan shekara ta 1971. An rubuta shi a cikin Tymshare's own SUPER FORTRAN a kan SDS 940. Ya ba da fayil guda ɗaya, aikin bayanan da ba na dangantaka ba ta amfani da harshe na shirye-shiryen mu'amala. Yana daya daga cikin misalai na farko na software a matsayin sabis (SaaS). 

RETRIEVE ya kasance mai tasiri sosai kuma ya haifar da wasu nau'o'i masu yawa. RECALL na Wang Laboratories a kan ƙaramin kwamfuta na Wang 2200 kusan ya yi daidai da RETRIEVE, har zuwa lokacin da aka ba da cikakkun bayanai game da bambance-bambance a shafi ɗaya. JPL ta yi wani nau'i da aka sani da JPLDIS don UNIVAC 1108 a cikin 1973 wanda kuma yayi kama da haka.

Wayne Ratliff, dan kwangila a JPL na shekaru da yawa, JPLDIS ta yi wahayi zuwa gare shi zuwa IMSAI 8080 don gudanar da tafkin kwallon kafa, daga baya ya sake shi a kasuwanci a matsayin Vulcan don CP / M a cikin 1979. Ashton-Tate ya ba da lasisi ga Vulcan kuma ya sake sake shi a matsayin dBASE II a cikin 1980, wanda ya haifar da kasuwar bayanan microcomputer. Yawancin asalin RETRIEVE ba su canza ba a cikin dBASE da kuma yawancin xBASE clones da suka tsira cikin karni na 21.

## Tarihi
A shekara ta 1969, Jim Ryan na Tymshare ya tsara wani fadada sigar IBM System / 360 H-level (258 kB) FORTRAN, yana ƙara igiyoyi da sauran fasalulluka waɗanda suka yi amfani da tsarin SDS 940. Ryan ya hayar Richard Moore da Franck Bracher don bunkasa shi a matsayin SUPER FORTRAN, kuma ya tafi rayuwa a kan tsarin su a shekarar 1970.  Ba da daɗewa ba bayan da aka saki SUPER FORTRAN, Arden Scott ya tambayi Moore ya yi amfani da SUPER FOR TRAN don haɓaka hangen nesa na tsarin gudanar da bayanai (DBMS). Sashe na farko ya kasance a shirye a cikin 'yan makonni, kuma nan da nan ya zama sananne sosai ga abokan cinikin Tymshare. &nbsp;

A cikin shekarun 1970s, Tymshare ya fara motsa tsarin su daga SDS zuwa dandalin PDP-10, daga ƙarshe yana gudanar da TOPS-10. Wannan ya haifar da ƙoƙari na gina sabon injin bayanai gaba ɗaya don wannan dandamali, wanda aka sani da MAGNUM. MAGNUM cikakkiyar injin bayanai ce, kuma a cikin nassoshi da yawa ana da'awar cewa ita ce ta farko da aka bayar ta kasuwanci lokacin da ta tafi rayuwa a watan Oktoba na shekara ta 1975. Kodayake yawancin abokan ciniki na Tymshare, da masu amfani da ciki, sun sauya zuwa MAGNUM, a wannan lokacin an tura RETRIEVE zuwa dandamali da yawa kuma waɗannan sassan sun kasance masu shahara sosai a waje da kamfanin.

A cikin 1970, Jet Propulsion Laboratory (JPL) ya shigar da injuna uku na UNIVAC 1108. Fred Thompson ya kasance yana amfani da RETRIEVE don sarrafa bayanan lissafin inji a JPL, kuma ya yanke shawarar kawo tsarin a cikin gida lokacin da 1108 ya isa. A shekara ta 1971, ya yi aiki tare da mai tsara JPL Jack Hatfield don samar da JPLDIS . Hatfield ya bar JPL a shekara ta 1974, kuma an sanya aikin ga wani mai tsara shirye-shiryen JPL, Jeb Long, wanda ya kara da siffofi da yawa.

A cikin 1973 an saki Wang 2200, ƙaramin kwamfuta na tebur tare da ajiyar tef. An tura RETRIEVE zuwa wannan dandamali a ƙarƙashin sunan RECALL . Wani rahoto ga Sojojin Amurka ya ba da cikakken bayani game da bambance-bambance a cikin shafi ɗaya kuma ya kammala "Bambance tsakanin aiwatarwa biyu kaɗan ne".

Yayinda yake aiki a JPL a matsayin dan kwangila, Wayne Ratliff ya shiga tafkin kwallon kafa na ofis. Ba shi da sha'awar wasan, amma ya ji zai iya lashe tafkin ta hanyar sarrafa kididdigar bayan wasan da aka samu a cikin jaridu. Don yin wannan, ya fara neman tsarin bayanai kuma, ta hanyar sa'a, ya haɗu da takardun JPLDIS. Ya yi amfani da wannan a matsayin tushen tashar jiragen ruwa zuwa PTDOS a kan kayan aikinsa na IMSAI 8080 microcomputer, kuma ya kira tsarin da ya haifar **Vulcan** (bayan Mista Spock a kan *Star Trek*). Daga baya aka canza shi zuwa CP / M lokacin da wannan tsarin ya zama kusan duniya a kasuwar Bas din S-100.

A cikin 1980, George Tate ya ga wani talla don Vulcan ana sayar da shi don $ 49.  Ya shirya yarjejeniyar lasisi tare da Ratliff, ya sake masa suna zuwa dBASE II don yin sauti kamar na biyu, kuma ya sanya shi a kasuwa don $ 695. Tsarin ya kasance mai nasara, kuma a cikin 1981, IBM ta ba da izinin tashar jiragen ruwa ga PC DOS da ba a sake bugawa ba. Wannan nasara ce mai ban mamaki, ɗaya daga cikin manyan kunshe-kunshe guda uku, tare da Kalmar Cikakken da Lotus 1-2-3 waɗanda suka zama daidai da ɗakin ofis a farkon kasuwar DOS.

## Bayyanawa

### Ayyuka na asali
RETRIEVE wani bayanan da ba na dangantaka ba ne, wannan ra'ayi ba a gabatar da shi ba sai 1970. RETRIEVE bayanan sun ƙunshi tebur ɗaya da aka adana a cikin fayil ɗaya, wanda yawanci yana amfani da ɗan gajeren sunan bayanan a matsayin sunan fayil. An bayyana tsarin teburin lokacin da aka halicci bayanan, yana ba da izinin filayen halayyar, ƙididdiga ko ƙididdigar ƙididdiga kyauta. Wani bayanan bayanai na iya samun matsakaicin filaye 98, tare da matsakaicin haruffa 72 a kowane filin, kuma jimlar kowane jere ɗaya ya kasance haruffa 768, ko kalmomi 256. Sunayen filin dole ne su fara da harafi kuma zasu iya haɗawa da ƙarin haruffa, lambobi, lokaci da halayen @, tare da matsakaicin haruffa 31 gabaɗaya.

The system was interactive, using a command prompt within the system for user interaction. For instance, to start a new database the user would type CREATE at the command prompt, which would then respond by asking the user to type in the name for the database and then prompt for the field definitions. An empty line stops this process and sends it into data-entry mode, allowing rows to be entered. Any step of this operation could be removed by providing the data in the original command, for instance, if one typed CREATE EMPLOYEES instead of CREATE, the system no longer asked for the file name.

Akwai tsarin fayilolin bayanai guda uku, wanda za'a iya ƙayyadewa a lokacin CREATE, tsarin halayyar SYMBOLIC, BINARY wanda ya adana lambobi a cikin tsarin ciki na 24-bit, da SCRAMBLED wanda ya ɓoye fayil ɗin tare da kalmar sirri da mai amfani ya bayar.

An ɗora bayanan da ke akwai ta amfani da LOAD ko BASE (sun kasance daidai).  An adana bayanai yayin da aka canza shi, amma akwai kuma umarnin SAVE don rubuta bayanai (ko zaɓin su) zuwa fayiloli masu laushi. QUIT ya fita daga tsarin kuma ya koma tsarin aiki na asali.

### Dawoda bayanai
Once the database was defined and populated, or an existing one was loaded, data could be displayed using LIST. Without any parameters, it printed out all the records in the order they were entered, their "RECNO", which was printed at the front of the line. One could also provide a field list to select and reorder the fields in the printout, like LIST EMP.NUM,NAME,SALARY. The PRINT statement worked almost identically, differing only in that it did not print out the RECNO at the start of the lines. FAST was similar to PRINT, but suppressed the field headers as well.

Za'a iya zaɓar rikodin mutum ta amfani da tsarin adireshin lambar rikodin, wanda aka ƙaddara zuwa LIST ko PRINT. Wannan tsari ne mai sassauƙa wanda ke ba da damar RECNO guda ɗaya da aka raba ta hanyar commas ko kewayon tare da mazauna da za a ƙayyade, alal misali, 1,7:20,50 PRINT zai buga rikodin 1, komai daga 7 zuwa 20, sannan 50. Har ila yau, ya haɗa da rikodin $ don wakiltar rikodin ƙarshe, don haka 100: $ LIST ya buga duk rikodin daga 100 zuwa gaba.

Ga fassarar wannan rubutu a **Hausa**:

Ana iya zaɓar **rikodi (records)** ta hanyar filayen da suka cika wasu ka'idoji bisa ga abinda suke ɗauke da shi, ta amfani da **FOR syntax**.

Misali: don jerawa duk ma’aikatan da albashinsu ya fi **$40,000**, za a rubuta:

`PRINT FOR SALARY>40000`.

Haka ma wannan syntax ɗin za a iya amfani da shi don zaɓar **rikodi guda ɗaya** bisa ga abinda yake ɗauke da shi, ba lallai ya zama **RECNO** ba. Misali:

`LIST FOR NAME="Bob Smith"`.

**RETRIEVE** tana goyon bayan dukkanin manyan kwatance (comparisons) na asali:

`=, <, >, <=, >=` da `#` (wato *not equals* – ba daidai ba), wanda aka saba samu a wasu **BASIC** na wancan lokaci.

Abin da ya bambanta shi ne, **RETRIEVE** tana kuma goyon bayan **kalmar Ingilishi** don waɗannan kwatance. Misali:

Za ka iya amfani da `SALARY>40000` ko `SALARY GREATER THAN 40000` – duka biyun suna nufin abu ɗaya.

Haka ma irin waɗannan furuci na iya haɗawa da lissafi na asali, kamar:

`+` (ƙari), `-` (ragi), `*` (ninkawa), `/` (rarrabuwa), da `↑` (ikon ko exponentiation).

Waɗannan kuma za a iya haɗa su da **boolean expressions** ta amfani da `AND`, `OR`, da `NOT`.
----Kana so in **sauƙaƙa wannan bayani cikin Hausa mai sauƙin fahimta (irin ta yara makaranta)**, ko kuma in **ci gaba da fassara muku wannan littafin gaba ɗaya?**

Bugu da ƙari, SUM, COUNT da AVERAGE sun yi aiki kamar LIST ko PRINT, gami da ra'ayoyin zaɓin rikodin iri ɗaya. Kamar yadda sunan ya nuna, waɗannan suna fitar da darajar guda ɗaya tare da dabi'un da suka haɗa. Misali, COUNT FOR NAME='Bob Smith' zai iya dawowa 1, yayin da AVERAGE SALARY FOR SALARY>40000 na iya dawowa 42500.

Baya ga LIST / PRINT / FAST, ƙarin sanarwar fitarwa shine REPORT. Wannan yana aiki a cikin irin wannan salon, amma yana da zaɓuɓɓuka da yawa don buga kyawawan fitarwa. Ana iya kiran shi kadai ko tare da masu cancanta kamar yadda yake a sama, amma lokacin da aka yi amfani da shi yana shiga yanayin mu'amala wanda ke tambayar tambayoyi da yawa game da inda za a aika fitarwa (tare da T shine tashar), ko ya kamata ya zama ɗaya ko sau biyu, sun haɗa da kawuna da jimlar, da dai sauransu.

### Gyara bayanai
Ga fassarar wannan rubutu a **Hausa**:

Ana iya **goge rikodi (records)** ta amfani da umarnin **DELETE**, kana amfani da irin waɗancan **zaɓen rikodi (record selectors)** ko **fannonin bayanai (field expressions)** kamar yadda aka ambata a baya.

Sabbin rikodi ana ƙara su ta amfani da **APPEND**.

**APPEND FIELDS** yana shiga wani yanayin **hira (interactive mode)** wanda ke ba mai amfani damar shigar da sabbin rikodi ɗaya bayan ɗaya bisa kowane fanni, maimakon shigar da su cikin layi ɗaya da **comma-separated values (CSV)**.

**APPEND FROM filename** kuma yana karanta bayanai daga wani **fayil ɗin rubutu mai raba bayanai da alamar comma** (comma-delimited text file) zuwa cikin **database** ɗin da yake cikin ƙwaƙwalwa a lokacin.

**MERGE** ana amfani da shi don **sabunta rikodi (updating existing records)**; yana aiki kusan iri ɗaya da **APPEND**, wato yana ɗora bayanai zuwa database na yanzu daga wani fayil.

Sai dai a wannan yanayin, ana amfani da wani ƙarin **ma’auni (qualifier)** mai suna **ON**.

Misali:

`MERGE ON NAME FROM ADDRESSES`

Wannan yana karanta bayanai daga fayil ɗin **ADDRESSES**, yana duba a cikin wannan fayil don ginshiƙin (column) da yake da **NAME** a matsayin shigarwar farko.

Sai ya ci gaba da sarrafa fayil ɗin **layi zuwa layi (row-by-row)**, yana duba a cikin database don bayanan da suke da wannan **NAME**, sannan ya sabunta sauran filaye da bayanan da suka fito daga wannan layin a fayil ɗin **ADDRESSES**.
----Kana so in **fitar da duk muhimman kalmomi daga wannan rubutun ɗaya bayan ɗaya tare da fassara su kamar yadda na yi a baya?**

RETRIEVE ta goyi bayan hanyoyin hulɗa guda biyu don sabunta bayanan da ke akwai, CHANGE da REPLACE. REPLACE ya yi aiki iri ɗaya da kwatankwacin SQL na zamani, UPDATE, yana ɗaukar maganganun zaɓaɓɓu na wani nau'i, ɗaya ko fiye da filaye, da sabbin dabi'u. Misali, mutum na iya REPLACE SALARY=SALARY*1.05 Wane ne Shekaru. EMP>5. Idan akwai fiye da ɗaya na musamman, alal misali, CHANGE FOR YEARS. EMP>5, an buga kowane darajar a kan layi daban kuma an aika canje-canje ga duk bayanan da suka dace. MODIFY ya kasance daidai da CHANGE amma bai buga dabi'un da ke akwai da farko ba.

Ba a yi rarraba ba a lokacin dawowa, amma an aiwatar da shi ta hanyar gyara bayanan da sake rubuta abubuwan da ke ciki a cikin tsari. An kammala wannan tare da SORT BY, sannan har zuwa sunayen filin ashirin. An rubuta bayanan da ba a tsara su ba a fayil ɗin ajiya.

Za'a iya amfani da RESULTS TO modifier tare da kowane bayanin gyaran bayanai don sake tura sakamakon zuwa sabon bayanan. Misali, APPEND FROM FEBSALES RESULTS TO CURSALES zai ƙara bayanai a cikin fayil ɗin FEBSAAS zuwa bayanan yanzu sannan adana sakamakon zuwa CURSALAS ba tare da sabunta bayanan da aka riga aka buɗe ba. Ko kuma mutum zai iya SORTEMP ta SORTAMP.

### Sauran umarni
Dokokin amfani sun haɗa da STRUCTURE wanda ya buga tsarin bayanan, da SIZE wanda ya dawo da adadin rikodin.

## RETRIEVE na shirye-shirye
Kodayake ana amfani da RETRIEVE sau da yawa, tsarin ya haɗa da ikon adana jerin umarni ga fayiloli sannan a kunna su. Fayilolin umarni na iya haɗawa da wasu maganganun "mai taimako", gami da TYPE 'kayan' don fitar da kowane igiya, HUSH don murkushe umarnin (wani lokaci), TALK don juya umarnin baya, da ECHO ON da ECHO OFF don dakatar da sake kunnawa daga bayyana a tashar.

Wadannan fayilolin umarni ana gudanar da su ta amfani da bayanin sunan DO daga layin umarni na ciki  ko sunan fayil na COMMAND daga waje RETRIEVE, a cikin EXECUTIVE.  Idan rubutun ya yi niyyar barin mai amfani a cikin RETRIEVE a ƙarshen, mutum na iya sanya COMMAND T a ƙarshen, "yana gudana" Terminal, wanda ya ƙayyade abin da ya kamata ya faru a gaba. Ana iya haɗa rubuce-rubuce tare da COMMAND don samar da ayyukan da suka fi rikitarwa.

Lokacin da aka gudanar da fayilolin umarni, **umarnin da ke cikin fayilolin suna aiki kamar yadda za su yi idan mai amfani ya rubuta su da kansa**.

Wannan yana nufin cewa idan an bayar da wata sanarwa (statement) da yawanci tana buƙatar ƙarin shigarwar mai amfani, misali **CHANGE** ba tare da wani ƙarin bayani (parameters) ba, **yanayin mu’amala (interactive mode)** zai fara kamar yadda aka saba.

Wannan ya ba da damar fayilolin umarni su **nemi bayanin mai amfani kai tsaye**, sannan su ci gaba da aiwatar da sauran umarni.

Misali:

* Za a iya amfani da: `REPLACE ALL WEEK.SAL=SALARY/52` – don raba albashi zuwa na mako-mako.
* Sai a kira: `CHANGE HOURS` – don tsarin ya nuna kowane rikodin ma’aikaci ya tambaye shi **yawan sa'o'in mako-mako**.
* Bayan haka a yi: `REPLACE ALL PAY=HOURS*WEEK.SAL` – don ƙididdige albashin mako-mako ga kowane mai amfani.
* A ƙarshe: `REPORT` – don aika duk wannan bayani zuwa **na'urar buga takardu (printer)**.

----

# **Run** – Gudanar / kaddamar.
# **Commands** – Umarnai.
# **Files** – Fayiloli.
# **Statement** – Sanarwa / umarni ɗaya.
# **Parameters** – Ƙarin bayanai / ƙimomin shigarwa.
# **Interactive mode** – Yanayin mu'amala kai tsaye.
# **Invoke** – Kira / kunna.
# **REPLACE ALL** – Maye gurbin duka bayanai.
# **WEEK.SAL** – Albashin mako-mako.
# **SALARY** – Albashi.
# **HOURS** – Sa’o’i.
# **PAY** – Biya.
# **REPORT** – Rahoto / fitar da rahoto.
# **Printer** – Na'urar buga takardu.

Kana so in ci gaba da fassara maka **dukkan sauran rubutun iri haka** ko kuma in tattara **duk waɗannan kalmomin a cikin tebur** don ka rika nazari da sauƙi?

## Kwatanta da dBASE
Kodayake an raba su da kusan shekaru goma, kuma bayan sun koma dandamali huɗu a cikin tsari, dBASE akan DOS ya kasance kama da RETRIEVE. Ratliff ya bayyana cewa akwai "wani nau'in ci gaba daga Retrieve zuwa JPLDIS zuwa shirin na, wanda na kira Vulcan. "  John Walker, wanda aka fi sani da AutoCAD, ya kuma yi amfani da JPLDIS kuma ya bayyana cewa "DBase II, tsarin bayanan Ashton-Tate, kwafin ne, sake aiwatar da kunshin da aka haɓaka a Jet Propulsion Laboratory da ake kira JPLDIS. "

LOAD / BASE ya zama USE kuma an maye gurbin lokutan a cikin sunayen filin da mazauna, amma yawancin wasu umarni da fasalulluka sun kasance ba su canza ba sai dai don tallafawa bambance-bambance a cikin dandamali na asali, kamar tsarin lambobi. Misali, littafin mai amfani na dBASE na asali yana amfani da wannan misali:

Wanda ya yi daidai da umarnin da ke cikin RETRIEVE:

Ayyukan duka na maganganun sun fi kama da juna tsakanin tsarin biyu. Bambance-bambance na farko na dBASE suna da alaƙa da shirye-shiryen; dBASE ya kara masu canji, zai iya LIST ginshiƙan da aka yi da tsari kamar LIST SALARY * 1.05, kuma ya kara da ayyuka iri-iri don sarrafa bayanai, gami da ayyuka don dawo da tsawon igiya ko nau'in bayanai na filin da aka ba shi.

## Bayani

## Manazarta

### Bayani

### Bayanan littattafai

* - cirewa a shafin yanar gizon FoxPro History. 
*  
*  
*  
*  
*  
*