Capitolul 1. Bazele de date relaționale. INTRODUCERE.
SQL (pronunțat de obicei "SEKVEL" (sau, mai angloobrazno - SKYUEL)) înseamnă Structured Query Language.
Este o limbă care vă permite să creați baze de date relaționale (și de a lucra cu), care sunt colecții de informații legate de stocate în tabele.
Bază de date Lumea devine din ce mai frecvente, ceea ce duce la necesitatea unui limbaj standard, care ar putea fi utilizate pentru operarea într-un număr mare de diferite tipuri de medii de calcul. Limba standard va permite utilizatorilor care sunt familiarizați cu un set de comenzi, le folosesc pentru a crea, pentru a recupera, să modifice și să facă schimb de informații, indiferent de locul în care lucrăm: pe un calculator personal, o stație de lucru de rețea sau mainframe.
In aceasta, mai mult și mai interconectată mondială de calcul, utilizatorul, echipat cu o limbă, are un avantaj imens în utilizarea și sinteza informațiilor dintr-o varietate de surse, cu un număr mare de moduri.
Eleganța și independența pe tehnologia informatică specifică, precum și sprijinul de lideri din industrie în domeniul tehnologiei SRM, a făcut SQL (și, probabil, în viitorul apropiat, va părăsi său) de bază de limbă bază de date standard. Din acest motiv, orice persoană care dorește să lucreze cu bazele de date ale anilor '90 (secolul trecut), datele trebuie să știe SQL.
Standardul SQL definit de ANSI (American National Standards Institute), iar acum este bine acceptat de ISO (Organizația Internațională de Standardizare). Cu toate acestea, cele mai multe programe de baze de date comerciale a spori SQL ANSI fără o notificare prealabilă. adăugarea de caracteristici diferite la limba, despre care cred că va fi de mare ajutor.
Uneori, încalcă mai multe standard de limbaj, dar idei bune tind să evolueze și să devină standarde de piață datorită calităților lor de utilitate.
În această carte, vom urmări în principal standardul ANSI, dar, de asemenea, uneori ne da si unele dintre cele mai comune abaterii de la standardul său.
Ar trebui să consultați documentația pachetului software pe care îl utilizați pentru a ști unde modificat acest standard.
Înainte de a putea utiliza SQL, trebuie să înțelegeți ce o bază de date relațională.
Ce ai, este baza unei baze de date relaționale. așa cum a fost definit la începutul acestei discuții - și anume, o bidimensională (rând și coloană) tabel de informații.
Cu toate acestea, DDB rareori constau dintr-un singur tabel. Un astfel de tabel este mai mică decât sistemul de fișiere. Cu mai multe tabele de informații legate, puteți efectua mai multe operații complexe și puternice cu datele tale. Puterea depinde de conexiunea de date pe care le puteți crea între bucăți de informații, mai degrabă decât din bucăți de informații.
Programele SRM sunt proiectate să se ocupe de set mare și complex de acest tip de date, care este, evident, o metodă mai universală în lumea afacerilor. Chiar dacă baza de date spital conține sute sau mii de nume, și modul în care acest lucru este probabil cazul în practică, o singură comandă SQL ar putea da Dr. Halben informațiile de care are nevoie, aproape imediat.
Luați în considerare un al doilea tabel. Uneori ai nevoie pentru a vedea aceste informații ordonate alfabetic după nume, uneori - în ordine crescătoare sau descrescătoare, și, uneori, - grupate în legătură cu orice medic.
Procedura stabilită în linii vor fi interfera cu capacitatea clientului de a schimba, astfel încât siruri de caractere sunt întotdeauna tratate ca neordonată. Din acest motiv, nu se poate spune doar: „Vrem să vedem al cincilea rând al tabelului.“ Ignorând ordinea în care a fost introdus datele sau orice alt criteriu, vom defini linia greșit, deși este a cincea. Rândurile de masă nu sunt în nici o ordine anume.
Pentru aceste și din alte motive, ar trebui să aveți în coloana tabel, care să identifice în mod unic fiecare rând. De obicei, această coloană conține un număr, de exemplu: numărul pacientului atribuit fiecărui pacient. Desigur, ai putea folosi numele pacienților, dar este posibil să existe mai mult de Mary Smith, caz în care nu va avea un alt mod de a distinge acești pacienți unul față de celălalt.
Acesta este motivul pentru care sunt atât de necesare camere. O astfel de coloană unică (sau un grup unic de coloane) este utilizat pentru a identifica fiecare rând și stoca toate rândurile numite individual cheia primară a tabelului.
Cheile primare ale mesei - un element important în structura bazei de date. Ei - baza sistemului de înregistrare într-un fișier; și atunci când doriți să găsiți un rând specific în tabel, vă referiți la această cheie primară. În plus, chei primare asigura că datele dumneavoastră are o anumită integritate. Dacă cheia primară este utilizat și întreținut în mod corespunzător, veți ști că nu există rânduri goale într-un tabel, iar fiecare linie este diferită de orice altă linie. Vom discuta cheile și apoi, atunci când vorbesc cu privire la integritatea referinței la capitolul 19.
Tabelele 1.1, 1.2 și 1.3 constituie o bază de date relațională, care este minimul suficient pentru a urmări cu ușurință ea și complet suficient pentru a ilustra conceptele și practicile folosind SQL de bază. Aceste tabele sunt tipărite în acest capitol și în apendicele E.
Este posibil să fi observat că prima coloană a fiecărui tabel conține numerele ale căror valori sunt diferite pentru fiecare linie. După cum probabil ați ghicit deja, ea - cheia primară a tabelului. Unele dintre aceste numere sunt de asemenea prezentate în coloanele de alte tabele. Nu este nimic greșit. Ele arată relația dintre liniile care utilizează valoarea primită de la cheia primară, iar rândurile, în cazul în care această valoare este utilizată în cheia primară.
De exemplu, snum câmp din tabel Clienții indică ceea ce vânzătorul este atribuit clientului. Câmpul Nr snum asociat cu tabelul de Merchants, care oferă informații despre aceste vanzatori. Este evident că vânzătorul, care a atribuit clienții trebuie să existe deja - adică, valoarea de masă Clienții snum ar trebui, de asemenea, prezentat la masa Sellers. Dacă este așa, atunci spunem că „sistemul este capabil de integritate de referință.“ Această concluzie va fi explicat în capitolul 19 mai complet și în mod oficial.
NOTĂ: Aceste trei tabele prezentate în text au un nume rusesc - furnizori, clienți și comenzi - și va continua să fie menționate de către aceste nume. Denumirile oricărei alte aplicabile în tabelul de carte va fi scrisă în limba engleză, pentru a le distinge de tabelele de bază ale acestei baze de date. În plus, în scopul unicitatea numelor clienților, furnizorilor, cataloage de sistem, precum și câmpurile din text, va fi dat în latină.
Tabelele sunt date ca exemplu de o situație similară în viața reală, atunci când utilizați SQL, pentru a monitoriza furnizorii, clienții și comenzile clienților. Să ne uităm la aceste trei tabele și valorile câmpurilor lor. Aici puteți vedea coloanele din tabelul 1.1:
Acum știi ce o bază de date relațională - un concept care sună mai complicat decât este de fapt. Veți învăța, de asemenea, unele principii de bază ale modului de a face un tabel: modul în care rândurile și coloanele ca chei primare sunt linii diferite unele de altele, iar coloanele se pot referi la valorile din celelalte coloane.
Înțelegeți că înregistrarea este sinonim cu linia și că câmpul este sinonim cu coloana. Ambii termeni se găsesc în discuție SQL, iar noi le vom folosi în mod egal în această carte.
Acum sunteți familiarizați cu exemplul din tabel. Scurt și simplu, ei sunt capabili să arate cele mai multe dintre caracteristicile de limbă, după cum veți vedea mai târziu. În unele cazuri, vom folosi una din tabel sau postulatele diferitelor date într-un alt tabel pentru a vă arăta câteva alte caracteristici.
Acum sunteți gata să se scufunde în SQL. Capitolul următor va da o scurtă trecere în revistă a limbii și a informațiilor care vă va ajuta să se refere la locurile deja trecut.