O bază de date de pe PC-ul a evoluat în direcția de pe ecranul monitorului (desktop), sau aplicații locale, atunci când într-adevăr baza de date poate opera o aplicație pentru acces multiplu la sistemul de baze de date.
aplicații locale sunt instalate pe un singur calculator; Ibid situate și baza de date (DB), din care această aplicație pentru a lucra. Cu toate acestea, necesitatea de a lucra în mod colectiv la aceeași bază de date PB implica transferul la server. Aplicații care funcționează cu baza de date, de asemenea, găzduit pe server.
Mai puțin tipic era alt mod este de a stoca aplicație care accesează o bază de date pe o anumită utilizatorii de computere ( „clienți“). Noile versiuni ale bazelor de date locale au fost eliberați, care vă permite să creați aplicații pentru a lucra simultan cu o singură bază de date pe un server de fișiere. Principala problemă a fost explicit sau implicit procesarea de tranzacții și care rezultă în mod inevitabil, atunci când problema de acces multiplu de integritate semantică și referențială bazei de date în timp ce schimbarea aceleași date.
Baza de date de locație determină arhitectura așa-numita bază de date. Există patru tipuri de arhitecturi de baze de date:
-bazele de date locale;
Utilizarea acestui sau că arhitectura impune o amprentă puternică asupra ideologia generală a cererii și a codului aplicației.
Atunci când se lucrează cu baze de date baze de date locale în sine sunt situate pe același computer ca și aplicația accesată. Lucrul cu baza de date este în modul de utilizare unică. Cererea este responsabil pentru menținerea integrității și performanța interogărilor bazei de date.
Când lucrați în arhitectura de bază de date „fișier server“ și aplicația se află într-o rețea server de fișiere. multiutilizator lucru posibil cu aceeași bază de date, în cazul în care fiecare utilizator de computer rulează o aplicație situată pe un server de rețea. Apoi calculatorul pe utilizator ruleaza o copie a cererii. Pentru fiecare interogare la baza de date din datele aplicației din tabelele bazei de date se distilează pe calculatorul utilizatorului, indiferent de modul în care este cu adevărat necesar de multe date pentru a completa cererea. Ulterior, o solicitare.
Fiecare utilizator are pe computerul lor, copia locală a datelor din timp în timp actualizate din baza de date reale situat pe un server de rețea. Schimbările pe care fiecare utilizator le face la baza de date, poate fi de până la un punct necunoscut altor utilizatori, ceea ce face ca sarcina reală de a actualiza în mod sistematic datele de pe computerul utilizatorului dintr-o bază de date reală. O altă sarcină urgentă este de înregistrări de bloc care variază în funcție de unul dintre utilizatori; este necesar să se asigure că acest timp celălalt utilizator nu a făcut modificări la aceleași date.
În timpul funcționării comune de abordare fișier-server de deficiențe, au fost identificate, asigurând totodată accesul mai multor utilizatori la baza de date.
Întreaga greutate a sarcinii de acces la o bază de date se află cu aplicația client, care este o consecință a principiilor de prelucrare a informațiilor în cadrul sistemelor „server de fișiere“: emiterea unei cereri de date eșantion din tabel întreg tabelul bazei de date este copiat în locația clientului, precum și prelevarea de probe se face pe client loc. Bază de date locală folosind așa-numita abordare „navigare“ orientat pentru a lucra cu înregistrări individuale.
Nu sunt cheltuite în mod optim resursele calculatorului client și a rețelei; De exemplu, dacă interogarea avem nevoie pentru a obține 2 intrări din tabelul de la 10.000 de intrări, toate 10.000 de intrări vor fi copiate de pe serverul de fișiere pe calculatorul client; rezultând în trafic a crescut de rețea și creșterea cererilor de capacitatea de hardware-ul computerului utilizatorului.
Baza de date de pe serverul de fișiere este mult mai ușor de a face modificări la tabele individuale, ocolind aplicația direct de instrument (de exemplu, compania de utilități bază de date desktop pentru paradox Borland sau fișiere dBASE); o astfel de posibilitate este facilitată de faptul că, de fapt, baza de date de bază de date locală - conceptul mai logic decat fizic, deoarece o bază de date este un set de tabele separate, coexistente într-un singur director pe disc. Toate acestea ne permite să vorbim despre nivelul scăzut de siguranță - atât în termeni de furt sau deteriorare, precum și din punctul de vedere al face modificări eronate.
tranzacții aparate nedezvoltate cu baza de date locală servește ca o sursă potențială de erori, atât în ceea ce privește schimbările simultane la același cont, iar din punct de vedere al materialului înapoi rezultatele unei serii de comune, în sensul într-o operațiuni singură unitate peste baza, în cazul în care unii dintre ei sa încheiat fără succes, iar unele - nu; aceasta poate interfera cu integritatea referențială și semantic al bazei de date.
dezavantaje de baze de date pentru desktop apar de obicei imediat, dar numai în timpul funcționării continue, atunci când cantitatea de date stocate și numărul de utilizatori devine suficient de mare - acest lucru duce la o performanță slabă a aplicațiilor care utilizează aceste baze de date.
Deoarece aplicația client trimite rezultatele interogării, rețeaua „călătorie“ doar acele date care sunt necesare clientului. Ca urmare, a redus de încărcare în rețea. Având în vedere că executarea cererii are loc în același loc în care sunt stocate datele (pe server), nu este nevoie pentru a trimite pachete mari de date. Mai mult decât atât, sql-server, dacă este posibil, pentru a optimiza cererea primită, astfel încât să se facă într-un timp minim, cu minim deasupra capului. Toate acestea mărește viteza sistemului și reduce timpul de așteptare al rezultatului interogării.
Atunci când nivelul a crescut în mod substanțial de interogări de server de securitate a datelor ca regulile de integritate a datelor sunt definite într-o bază de date de pe server și sunt aceleași pentru toate aplicațiile care utilizează baza de date. Aceasta elimină posibilitatea stabilirii normelor conflictuale de menținere a integrității. tranzacții de mașini puternice, susținute de sql-servere, elimină schimbarea simultană a acelorași date de către diferiți utilizatori și oferă posibilitatea de a se rostogolească înapoi la valorile inițiale atunci când se face modificări la baza de date sa încheiat anormal.
Funcțiile aplicației client sunt:
-Trimiterea cererilor către server;
-Interpretarea rezultatelor întrebărilor primite de la server, și să le prezinte pentru utilizator în forma cerută;
-Punerea în aplicare a interfeței cu utilizatorul.
sql-server trebuie să fie încărcate în momentul solicitării clientului. Funcțiile serverului de baze de date sunt:
-Primirea unei cereri de la aplicația client, interogările de interpretare, interogări la baza de date, trimiterea de rezultatul de interogare către aplicația client;
-managementul bazelor de date de integritate, sistem de securitate, bloca greșit cererile de acțiuni client;
-reguli de afaceri de stocare, utilizate în mod frecvent interogări sub forma deja interpreta;
-Furnizarea de operare tolerante la defecte în condiții de siguranță-multiutilizator simultan cu aceleași date.
În arhitectura „client-server“, așa-numitele (sau „industriale“) bază de date „la distanță“. Industria acestea sunt numite, din cauza faptului că acesta este un SGBD această clasă poate furniza sisteme de informare la scară medie și mari întreprinderi, organizații, bănci. Baze de date locale sunt proiectate pentru a funcționa autonom sau pentru operarea sistemelor de informații, concepute pentru grupuri mici de utilizatori.
Pentru categoria bazelor de date industriale deținute de Oracle, Informix, Sybase, sql server ms, db2, InterBase și un număr de alte persoane.
mecanism de acces
Atunci când alegeți o bază de date, ar trebui să înțeleagă, prin ceea ce înseamnă dezvoltarea va crea un sistem de informații pe baza bazei de date, precum și cu privire la modul de aplicare va fi dezvoltat pentru a manipula datele. Pe mecanismul de acces la date selectate în mod corespunzător, aceasta depinde foarte mult, în special, performanța aplicațiilor, posibilitatea de a folosi aceste sau alte caracteristici funcționale ale bazei de date, ușurința de design de interfață de utilizator și o serie de alți factori.
Există mai multe modalități de a accesa datele din instrumentele de dezvoltare și aplicațiile client.
Marea majoritate a bazei de date conține în structura bibliotecii, oferă o interfață specială de programare a aplicațiilor (interfață de programare a aplicațiilor, api) pentru a avea acces la datele din această bază de date. În mod normal, această interfață este un set de funcții care sunt apelate din aplicația client. În cazul bazelor de date desktop, aceste caracteristici oferă o citire / scriere (DB) din fișierele bazei de date, iar dacă serverul de baze de date este inițiată prin transmiterea cererilor către serverul de baze de date și de a primi de la rezultatele de server de interogare sau codurile de eroare care sunt interpretate de către aplicația client. Bibliotecile care conțin api pentru a accesa baza de date server de date, este de obicei inclus în compoziția de software-ul său client instalat pe computer în cazul în care funcția de aplicație client.
Recent, ferestre versiune a software-ului client al cel mai popular server de baze de date, cum ar fi serverul Microsoft SQL, Oracle, Informix, conține, de asemenea, serverele COM care oferă acces obiect la date și metadate.
Utilizarea api client (sau obiecte client COM) este cel mai evident mod de a manipula datele în aplicație. Cu toate acestea, în acest caz, aplicația creată poate utiliza numai datele de bază de date a producătorului, și înlocuirea acestuia cu un alt ar atrage după sine rescrierea o mare parte din codul aplicației client - modele api client și obiect nu sunt supuse nici unei standarde, și sunt diferite pentru diferite baze de date.
O altă metodă de manipulare a datelor în aplicația bazată pe aplicarea mecanismelor de acces la date universale. Mecanismul de acces universal de date este de obicei implementat ca o bibliotecă și module suplimentare numite drivere sau furnizori. Bibliotecile conțin un set standard de funcții sau clase sunt adesea subordonate unei anumite specificații. Modelele suplimentare care sunt specifice unei anumite baze de date, de punere în aplicare un apel direct la funcțiile API-ului de baze de date specifice cerute de client.
Trebuie remarcat faptul că avantajul mecanismelor universale este posibilitatea de a folosi una și aceeași api abstractă, și în multe cazuri - clasele de componente server de COM pentru a accesa diferite tipuri de baze de date. Prin urmare, aplicațiile care utilizează mecanismele de acces la date universal, ușor de modificat, dacă este necesar, pentru a schimba baza de date.
Cele mai populare poate fi numit printre mecanismele de acces la date universale sunt după cum urmează:
conectivitate baze de date deschise (ODBC).
db ole.
obiecte de date activex (ADO).
Baza de date Borland (BDE).
mecanisme universale odbc, ole dB și Ado firma Microsoft sunt, în esență standardele industriei. În ceea ce privește Borland de date BDE de acces mecanism de firmă, aceasta nu a devenit standard în industrie, dar până de curând a fost utilizat pe scară largă ca destul de la producția Delfi 5 a fost aproape singurul mecanism de acces la date univermalnym susținute de componente de nivel instrumente de dezvoltare Borland și clase
Ce este sql?
sql este adesea numit limba esperanto pentru SGBD. Într-adevăr, în lume nu există nici o altă limbă pentru lucrul cu baze de date (DB), care au fost utilizate pe scară largă atât în cadrul programelor. Primul a apărut în standard SQL 1986 și a obținut între acceptare universală. Acesta poate fi folosit chiar și cu baza de date non-relaționale. Spre deosebire de alte software-uri, cum ar fi limbile C și COBOL, care sunt apanajul programatori profesioniști, SQL folosit de specialiști din diferite domenii. Programatori, administratori de baze de date, analiștii de afaceri - toate au fost procesate datele folosind sql. Cunoașterea acestei limbi este util pentru oricine care are de a face cu baza de date.
sql - un limbaj non-procedural specializat, care permite descrierea de date, pentru a efectua prelevări de probe și de prelucrare a informațiilor din bazele de date relaționale. Specializat înseamnă că sql este proiectat numai pentru a lucra cu baza de date; este imposibil de a crea un sistem complet de aplicare doar prin intermediul limbajului - este necesar să se utilizeze alte limbi, care pot fi încorporate comenzi SQL. De aceea, de asemenea, numit sql instrument de suport lingvistic pentru prelucrarea datelor. Limba auxiliară este utilizat numai în combinație cu alte limbi.
În limba de aplicare de uz general sunt instrumente disponibile, în general, pentru crearea de proceduri și în sql ei nu sunt. Cu acesta, nu puteți specifica modul în care trebuie să îndeplinească unele sarcini, și poate determina doar exact ceea ce este. Cu alte cuvinte, atunci când se lucrează cu sql suntem interesați de rezultate, nu procedurile de obținere a acestora. Cu alte cuvinte, sql un limbaj nonprocedural. Termenul „non-procedurală“, înseamnă că este posibil să se formuleze yazykek exact ce să facă cu datele, dar nu se poate instrui modul în care acest lucru ar trebui făcut. În limbajul SQL nu modele algoritmice, cum ar fi etichete, declarații buclă, salturi condiționate, etc.
Cea mai importantă caracteristică este abilitatea de a accesa baza de date relaționale SQL. Mulți chiar cred că „baza de date, prelucrate prin intermediul SQL“ și fraza „baza de date relațională“ - sinonime. In sql-92 chiar nici un raport clauză standard (relație).
Să presupunem că există o bază de date gestionată de o bază de date. Pentru a extrage datele din acestea se utilizează interogarea formulată într-o limbă sql. Baze de date procesează cererea, preia datele zaprashmvaemye și returnează-l.
sql permite nu numai pentru a prelua date, dar, de asemenea, determina structura de date pentru a adăuga sau șterge date, a restricționa accesul, sau să furnizeze date pentru a menține integritatea referențială. sql în sine nu este nici o bază de date sau un produs separat. Aceasta este - limbajul utilizat pentru a interacționa cu baza de date și este într-un sens o parte integrantă a acestuia.