Înțeleg sql

ÎN DETALII

SQL (CONVENTIONALLY INDICAT AS "SEQUEL") simbolizează limba Structurat Query. Aceasta este limba care vă oferă posibilitatea de a crea și de a lucra în baze de date relaționale care sunt seturi de informații conexe stocate în tabele.

Lumea bazelor de date devine din ce în ce mai unificată, ceea ce a dus la necesitatea de a crea un limbaj standard care ar putea fi utilizat pentru a opera într-un număr mare de diferite tipuri de medii de calculatoare. O limbă standardă va permite utilizatorilor care cunosc un set de comenzi să le utilizeze pentru a crea, recupera, modifica și transmite informații, indiferent dacă lucrează pe un computer personal, pe o stație de lucru de rețea sau pe un computer cu scop general.

În lumea calculatoarelor din ce în ce mai interconectate, un utilizator echipat cu o astfel de limbă are un avantaj imens în utilizarea și sintetizarea informațiilor din mai multe surse într-un număr mare de moduri.

Eleganța și independența față de specificul tehnologiei informatice, precum și sprijinul acordat de liderii industriei în domeniul tehnologiei bazelor de date relaționale, a făcut SQL și, probabil, în viitorul apropiat îl va lăsa, principalul limbaj standard. Din acest motiv, oricine dorește să lucreze cu bazele de date din anii '90 trebuie să cunoască SQL.

Standardul SQL este definit de ANSI (American National Standards Institute) și este acum acceptat și de ISO (Organizația Internațională pentru Standardizare). Cu toate acestea, majoritatea programelor de baze de date comerciale extind SQL fără notificare ANSI, adăugând diverse alte caracteristici acestei limbi, despre care cred că vor fi foarte utile.
Uneori acestea încalcă oarecum nivelul de limbă, deși ideile bune tind să se dezvolte și devin în curând standarde ale "pieței" în sine din cauza utilității calităților lor.

În această carte, vom urmări în principiu standardul ANSI, dar în același timp, uneori, vom arăta unele dintre cele mai frecvente deviații de la standardul său.

Ar trebui să consultați documentația pachetului software pe care îl veți folosi pentru a afla unde se modifică acest standard.

CE ESTE O BAZĂ DE DATE RELAȚIONALE?

Ceea ce ați obținut este baza bazei de date relaționale, așa cum a fost definită la începutul acestei discuții - și anume, un tabel de informații bidimensional (rând și coloană).
Cu toate acestea, bazele de date relaționale rareori constau într-un singur tabel. Un astfel de tabel este mai mic decât sistemul de fișiere. Prin crearea mai multor tabele de informații aferente, puteți efectua operații mai complexe și mai puternice cu datele dvs. Puterea bazei de date depinde de conexiunea pe care o puteți crea între fragmente de informații, mai degrabă decât din informația propriu-zisă.

Legarea unei mese cu alta

ORDINEA LINIILOR SUNT DENIED

Luați în considerare al doilea tabel. Uneori trebuie să vedeți aceste informații sortate în ordine alfabetică după nume, uneori în ordine ascendentă sau descendentă și uneori grupate în legătură cu un medic. Suprapunerea ordinii setului în rânduri va interfera cu capacitatea clientului de al modifica, astfel că rândurile sunt tratate întotdeauna ca neordonate. 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, nu linia, chiar dacă va fi al cincilea. Rândurile tabelului care sunt luate în considerare nu vor fi într-o anumită ordine.

IDENTIFICAREA LINIILOR (CHEIE PRIMARE)

Din aceste și alte motive, trebuie să aveți o coloană în tabel care identifică î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, ați putea folosi pacienți, dar este posibil să existe mai multe Mary Smith; și în acest caz, nu veți avea altă cale de a distinge acești pacienți unul de celălalt.

De aceea, numerele sunt atât de necesare. O astfel de coloană unică (sau un grup unic de coloane) folosită pentru a identifica fiecare linie și a stoca separat toate rândurile se numește cheia primară a tabelului.

Tabelele de tabele principale reprezintă un element important în structura bazei de date. Acestea sunt baza sistemului dvs. de fișiere; și când doriți să găsiți un rând specific în tabel, vă referiți la această cheie primară. În plus, cheile primare vă asigură că datele dvs. au o anumită integritate. Dacă cheia primară este folosită și întreținută corect, veți ști că nu există rânduri de tabele goale și că fiecare linie este diferită de orice alt rând. Vom discuta mai departe cheile atunci când vorbim despre integritatea referinței în capitolul 19.

COLOANELE SUNT NUMELE ȘI NUMERIFICATE

DATĂ DE BAZĂ TIPICĂ

Tabelele 1.1, 1.2 și 1.3 formează o bază de date relațională care este suficient de mică pentru a fi ușor de urmărit și suficient de completă pentru a ilustra principalele concepte și practici de utilizare a SQL. Aceste tabele sunt tipărite în acest capitol și în Anexa E.

Ați observat deja că prima coloană a fiecărui tabel conține numere ale căror valori sunt diferite pentru fiecare rând. După cum probabil ați ghicit, acestea sunt cheile primare ale meselor. Unele dintre aceste numere sunt de asemenea afișate în coloanele din alte tabele. Nu este nimic rău în asta. Acestea arată relația dintre șirurile care utilizează valoarea preluată de la cheia primară și rândurile în care această valoare este utilizată în cheia primară. De exemplu, câmpul "snum" din tabelul "Customer" indică vânzătorului la care este alocat clientul. Numarul de sex este asociat cu tabela Furnizori, care oferă informații despre acești vânzători. Evident, vânzătorul căruia îi sunt încredințați clienții ar trebui să existe deja - adică valoarea tabelului din tabelul Clienți trebuie să fie reprezentată și în tabelul vânzătorilor. Dacă da, atunci ei spun că "sistemul este într-o stare de integritate de referință". Această concluzie va fi explicată mai detaliat și formal în capitolul 19.

NOTĂ: Aceste trei tabele trimise în text au numele rusesc - vânzători, clienți și comenzi și vor fi menționați sub aceste nume. Numele oricărei alte tabele utilizate în carte vor fi scrise în limba engleză pentru a le distinge de tabelele de bază ale acestei baze de date. În plus, din motive de claritate, numele clienților, furnizorilor, cataloagelor de sistem și câmpurile din text vor fi de asemenea furnizate în limba latină.

Tabelele sunt date ca exemplu pentru o situație similară în viața reală, atunci când veți folosi SQL pentru a monitoriza vânzătorii, clienții lor și comenzile clienților. Să ne uităm la aceste trei tabele și valorile câmpului lor. Iată coloanele din Tabelul 1.1

Acum știi ce este o bază de date relațională, un concept care pare mai complicat decât este într-adevăr. De asemenea, ați învățat câteva principii fundamentale despre modul în care sunt realizate tabelele - modul în care funcționează rândurile și coloanele, modul în care cheile primare disting reciproc rândurile și modul în care coloanele se pot referi la valorile din alte coloane.

Înțelegeți că înregistrarea este un sinonim pentru șir și că câmpul este un sinonim pentru coloană. Ambii termeni se găsesc în discuția SQL și le vom folosi în mod egal în această carte.

Acum sunteți familiarizați cu tabelele de exemplu. Scurt și simplu. aceștia sunt capabili să arate cele mai multe dintre caracteristicile limbajului, așa cum veți vedea. În unele cazuri, vom folosi alte tabele sau postulate ale unor date diferite într-una din aceste tabele pentru a vă arăta câteva alte posibilități.

Lucrul cu SQL

Articole similare