Articolul Introducere în bazele de date

Introducere în bazele de date

Cu ceva timp în urmă am discutat o serie de Thunder interesant, în opinia, domeniile noastre de informații, care din anumite motive încă nu primesc o acoperire de pe forum. Unul dintre aceste domenii de sisteme de management al bazelor de date (DBMS).
De la deschiderea unui subiect martor nu ar dori să înceapă a decis să articole care pune in lumina acestui subiect. Primul (și, sperăm, nu ultimul) este oferit cititorilor.
În ceea ce privește stilul de prezentare, am nota următoarele. Nu am stabilit pentru a face un instantaneu al stării actuale a bazei de date. In schimb, a existat o încercare de a arăta un scurt fundal pentru dezvoltarea de metode și mijloace de prelucrare a datelor, care, ca urmare a condus la un SGBD. De multe ori, pentru a înțelege de ce este un astfel de obiect, mult mai ușor, urmărirea evoluției sale. Prin urmare, la început este o scurtă trecere în revistă istorică a evenimentelor, fiecare dintre care, în opinia mea, a jucat un rol, chiar dacă în mod indirect, în aspectul SGBD. În primul rând, în opinia mea, este doar interesant. În al doilea rând, baza de date nu a apărut de nicăieri. Aspectul lor este rezultatul inevitabil al rezolvarea problemelor, care variază cu calculatoare.
Îmi cer scuze în avans pentru cei care consideră devin plictisitoare și uninformative. Planul meu nu a fost scris un articol enciclopedie scurtă (cred în ele, și deci nu există nici o lipsă). Mai degrabă, este o generalizare a procesului, din care o parte a curs ochii mei.
O parte din materialul prezentat se bazează pe experiența mea personală și experiența trase din această hotărâre (cred, nu departe de a fi perfectă). Asa ca voi fi bucuros la orice critici constructive, adăugiri și corecturi (pe fond).

Din cele mai vechi timpuri, omenirea a stat înainte de sarcina care a necesitat volume de calcule în continuă creștere. Bineînțeles, în timp, cele mai multe dintre ele pentru a găsi soluții. Chiar și în cele mai vechi timpuri, unele domenii ale matematicii au fost dezvoltate, astfel încât o persoană educată în acei ani nivelul de cunoștințe este greu inferior absolvent școlar curent.
Apariția proprietății pe teren a luat o modalitate de a calcula suprafața de teren care a dus la nașterea geometriei. Realizările de Euclid, Pitagora și alți oameni de știință greci în acest domeniu sunt bine cunoscute.
Dezvoltarea comerțului a ridicat, de asemenea, noi provocări. În plus față de tratamentul de bunuri și sume de bani, și au existat probleme mai complexe. Comercianții a trebuit să ia o călătorii tot mai lungi, iar pentru acest lucru a luat mijloace de navigație. Astronomii din antichitate surprinzător cu pricepere făcut față cu această sarcină. Bineînțeles, toate în cele din urmă reduse la calcul și mai exacte acestea sunt, cu atât mai mult cu succes vom rezolva problema imediat.
Nu este un secret faptul că capacitatea de calcul de cele mai multe dintre noi sunt foarte limitate. Chiar și pliat în vedere costul de câteva achiziții mici și se calculează valoarea depozitului nu este ușor, și numai în calcularea orbitei unei planete sau stele coordonate și nu se poate vorbi. Prin urmare, odată cu dezvoltarea teoriei cele mai strălucite minți și a luptat cu privire la problema de automatizare a calculelor. Dar apoi, din păcate, progresul a fost mult mai lent.
Mai mult de o mie de ani, singurul asistent persoanei în calcule au fost diferite soiuri de cont. Puțin sa schimbat, și au ajuns la timpul nostru.
Genius Pascal, Leibniz, Babbage și alții au încercat să construiască o mașină pentru calcule automate. Din păcate, tehnica timpului permis doar pentru a construi un dispozitiv mecanic. mașini de calculat mecanice au fost prea lente, costisitoare și nesigure pentru utilizare în masă, atât de mult răspândirea nu este primit. Cu excepția, poate, a fost bună mașină adăugând vechi, poreclit Zheleznyy Feliks, care recent a servit cu fidelitate în calitate de funcționari. Dar a devenit disponibil relativ recent (mașini adăugarea, producția industrială a fost început în 1822).
Încercările de a folosi componentele electrice în mașini de calcul făcut perfecte, și dispozitive electromecanice specializate au fost încununate de succes în unele aplicații (de exemplu, tabulators Hollerith de prelucrare a datelor statistice sunt utilizate cu succes la recensãmântul din Statele Unite ale Americii).
Cu toate acestea, într-adevăr universal automat de calcul computerele dispozitiv au reușit să creeze numai pe baza de componente electronice. Pentru aspectul lor necesare două condiții principale: prezența componentelor respective și conceptul unui program memorat. Și apoi, și un altul a apărut abia în anii '40 ai secolului XX.

Prima utilizare a primelor calculatoare.

Majoritatea lucrărilor privind dezvoltarea calculatoarelor a fost făcută prin ordin al armatei și banii lor. Firește, printre problemele care trebuie rezolvate pe primul computer, a predominat calculele pentru militari, și anume, tabele, calcule de calcul tunurile gama de preluare, traiectorii de rachete, reacție în lanț de simulare de fisiune nucleară, calcule aerodinamice, etc.
Impune restricții privind natura sarcinii și caracteristicile arhitecturale ale calculatoarelor din acei ani: În cazul în care circuitele lămpii dat o viteză relativ mare (zeci la sute de mii de operații pe secundă), dispozitivele de stocare au capacitate extrem de scăzută în unități de zeci de cuvinte k, și performanțe limitate. Ei fac fie linii de întârziere de mercur (mic container) sau pe tuburile catodice (capacitate mai mare, la un preț ridicat de aproximativ 1000 $, și fiabilitate scăzută a duratei de viață de aproximativ o lună, ceea ce este extrem ridică costul utilizării calculatoarelor cu o mulțime de RAM).
Detalii despre dispozitive periferice este, de asemenea, izbitoare. A fost foarte popular și dispozitiv cu viteză perfolentochnye card I / O. Au existat, de asemenea, o bandă magnetică și tobe magnetice. Toate aceste medii de stocare, cu excepția ultimei opțiune, face ca posibilitatea de a secvenței de prelucrare a datelor, dar acestea nu au fost adecvate pentru prelevarea de probe le în ordine aleatorie. Aceleași tobe magnetice au o capacitate prea mică, deși oferind acces aleator la date.

Apariția calculatoarelor comerciale.

Organizarea de date pe un suport extern.

prelucrare a datelor non-numeric necesar să acorde mai multă atenție la structurarea informațiilor stocate. Evoluția datelor de structurare uite aproximativ după cum urmează.

Sisteme de management al bazelor de date (DBMS)

Dezavantajele fișierului tradițional, a împiedicat dezvoltarea în continuare a sistemelor informatice. Nu a fost nevoie de instrumente, sarcini mai potrivite. Aceste mijloace au fost DBMS.
În crearea bazei de date a implicat o multime de companii, bine-cunoscute și nu foarte mult. Fiecare producător are propriul punct de vedere asupra a ceea ce ar trebui să fie produsul ideal. Rezultatul a fost un set de baze de date, a avut nimic de-a face unul cu celălalt. Cel puțin una idei de dezvoltare Baze de date obținute, împrumutat de la unul de altul, în timp ce alții au murit.
Destul de repede sa dovedit că, în ciuda diferențelor dintre sistemele exterioare, marea majoritate dintre ele pot fi atribuite la trei tipuri: ierarhic, rețea și baze de date relaționale. Să luăm în considerare pe scurt caracteristicile fiecărei specii.

Baza de date ierarhică este modelul de date destul de simplu, care poate fi imaginat ca un arbore al unui graf orientat aciclic de formă specială.
Arborele este format din noduri, fiecare dintre acestea, cu excepția unuia, are un singur nod părinte și multiple (inclusiv audio) filială.
Partea superioară a avea nici un părinte se numește rădăcina copacului. Tops care nu au filiale, numite frunze. Vârfurile rămase sunt ramuri.
baze de date ierarhice sunt cele mai potrivite pentru structurile de modelare sunt de natură ierarhică. În Exemplele includ unități militare sau mecanisme complexe, compuse din unități mai simple, care, la rândul lor, pot fi, de asemenea, supuse descompunerii.
Cu toate acestea, există un număr semnificativ de structuri care nu sunt reductibile la o ierarhie simplă. De exemplu, arborele genealogic bine-cunoscut, care nu este de fapt un copac în sens strict, deoarece cei mai mulți oameni au doi părinți. Pe structuri mai complexe și nu poate vorbi.
baze de date ierarhizate a trecut rapid de vârf de popularitate, care este responsabil pentru ușurința de utilizare și un aspect timpuriu pe piață, în cazul în care principalii concurenți nu au fost încă coapte pentru uz comercial. Apoi, numeroase neajunsuri le-a făcut necompetitive, și este în prezent modelul ierarhic este doar de interes istoric.

Sistemele de gestiune a bazei de date sunt în prezent cele mai comune. Punerea lor în aplicare există la toate mai mult sau mai puțin potrivite pentru această platformă (de la PC-uri la mainframe-uri), pentru toate sistemele de operare și toate aplicațiile de la produse simple pentru efectuarea de fișiere de carduri pentru uz personal, la sisteme complexe multi-utilizator distribuite.
În ciuda acestui soi pestriță, aceste baze de date sunt baza unui cadru comun un model de date relațional, dezvoltat de Codd în '70 ai secolului XX. La suprafață, acest model este destul de simplu: baza de date este la fel de simplu ca un set de tabele aferente. Dar în spatele simplitatea externă se află un formalism puternic, dar elegant matematic de algebra relațională, care, la rândul său, se bazează pe o serie de discipline matematice, cum ar fi logica, calculul predicatelor, teoria mulțimilor
rol important în succesul bazelor de date relaționale și piese de limbaj SQL concepute special pentru interogarea bazelor de date relaționale. Aceasta este o destul de simplu și în același limbaj expresiv timp, cu ajutorul căruia se pot efectua interogări destul de sofisticate pentru baza de date.

Desigur, de asemenea precedent a SGBD Data Definition Language (DDL) și limbaj de manipulare a datelor (LMD). SQL combină ambele funcții. Dar caracteristica cea mai atractivă, în special pentru utilizatorii neprofesioniști în programare este că se poate construi pe baza subset SQL neprocedural de interogări. Acest lucru înseamnă că, în formularea de interogare specifică ce ar trebui să fie incluse în rezultat, dar nu și cum să-l. Există, totuși, și elementele procedurale ale limbajului, cum ar fi organizarea de ramificare și bucle, dar utilizarea lor este adesea evitată. În aceeași bază de date cu programator de rețea a trebuit să utilizeze proceduri de navigație, fiind distras în timp ce pe rezolvarea problemei.

Această revizuire a fost conceput ca o parte introducerea unei serii mici de articole dedicate SGBD moderne și programarea lor. El nu a făcut în nici un revendici să fie completă și / sau adâncimea întrebării de cercetare, singurul său scop este de a oferi cititorului o idee de ce SGBD dominat până în prezent în sistemele de informații, și calea evolutivă pe care au trebuit să meargă.
Alte articole în cazul în care acestea sunt destinate să vadă lumina, va fi dedicată aspectelor specifice ale unei baze de date relaționale.

articole similare