1 Introducere în bazele de date relaționale
2 SQL: O prezentare generală
3 Utilizarea SQL pentru extragerea informațiilor din tabele
4 Utilizarea operatorilor logici și logici în crearea predicatelor complexe
5 Utilizarea operatorilor speciali în termeni
6 Sinteza datelor cu funcții agregate
7 Formatarea rezultatului interogării
8 Solicitarea mai multor mese ca una
9 Intră în masă cu tine
10 Punerea unei cereri în cealaltă
11 Subproiecte asociate
12 Utilizarea operatorului EXISTS
13 Utilizând operatorii ANY, ALL, and NOME
14 Utilizarea ofertei UNION
15 Introducere, ștergerea și modificarea valorii câmpului
16 Utilizarea Subqueries cu comenzi Modificare
17 Crearea de tabele
18 Limitarea valorilor datelor
19 Menținerea integrității datelor dvs.
20 Introducere: Vederi
21 Modificarea valorilor cu vizionări
22 Definirea Cine poate face
23 Aspecte globale ale SQL
24 Cum sunt incluse datele SQL într-o vizualizare comandată
25 Utilizarea SQL cu alte limbi (SQL imbricat)
Răspunsuri pentru exerciții
B Tipuri de date SQL
C Unele caracteristici comune non-standard ale SQL
D Referințe pentru sintaxă și comenzi
E tabele utilizate în exemple
1. Introducere în baza de date relațională
SQL (CONVENTIONALLY INDICAT AS "SEEQUEL") simbolizeaza limbajul de interogare structurat. 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 funcționa într-un număr mare de medii de calculator diferite. O limbă standardă va permite utilizatorilor să cunoască un set de comenzi, să le folosească pentru a crea, prelua, modifica și transfera informații dacă lucrează pe un computer personal, 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 dotat cu o astfel de limbă are un avantaj imens în utilizarea și sintetizarea informațiilor dintr-o serie de surse cu ajutorul unui 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ȚIE DE STANDARDIZARE INTERNAȚIONALĂ). Cu toate acestea, majoritatea programelor de baze de date comerciale extinde 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.
Ce este o bază de date relațională?
Gerry Farish (415) 365-8775 127 Primrose Ave., SF
Celia Brock (707) 874-3553 246 # 3rd St., Sonoma
Yves Grillet (762) 976-3665 778 Modernas, Barcelona
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 fragmentul de informații propriu-zis.
Conectarea unei mese la alta
Balanța asigurărilor pentru pacienți
Farish Drume B.C./B.S. 272,99 USD
Grillet Halben Nici unul $ 44. 76
Brock Halben Sănătate, Inc 9077,47 dolari
Multe funcții puternice pot fi efectuate prin extragerea informațiilor din acestea
tabele în funcție de parametrii specifici, în special atunci când acești parametri
includeți piese de informații asociate în diferite tabele
unul cu celălalt. De exemplu, doctorii. Să presupunem că Dr. Halben
pacienții - aceasta. Deși, în acest exemplu simplu, putea să-l țină
aceste tabele pot fi prea mari și prea complexe. Programele
baza de date relațională au fost dezvoltate pentru a face față
Un set mare și complex de date de acest tip, care este clar
este o metodă mai universală în lumea afacerilor. Chiar dacă baza
datele spitalului conțineau sute sau mii de nume - așa cum se poate și probabil
se întâmplă în practică - o comandă SQL ar putea să o dea dr. Halben
informațiile de care avea nevoie aproape imediat.
Ordinea rândurilor este arbitrară
Pentru a menține flexibilitatea maximă, rândurile de tabel, prin definiție,
nu ar trebui să fie într-o anumită ordine. Cu asta
comandă. În sistemele cu o bază de date relațională, există unul puternic
abilitatea utilizatorilor este capacitatea de a organiza informații
astfel încât să-l poată restabili.
Luați în considerare al doilea tabel. Uneori trebuie să vedeți aceste informații.
Comandat în ordine alfabetică după nume, uneori în creștere-
sau în ordinea descrescătoare și uneori grupate în funcție de
Cineva la doctor. Suprapunerea ordinii setului în rânduri va fi
cu abilitatea clientului de ao schimba, deci liniile întotdeauna
sunt considerate ca dezordonate. Din acest motiv, nu puteți
spuneți: "Vrem să vedem a cincea linie a mesei."
ordinea în care au fost introduse datele sau prin orice alt criteriu, noi
vom defini, nu acea linie, deși va fi a cincea. Rândurile mesei
Ele nu sunt considerate în nici o secvență precisă.
Rânduri de identificare (chei primare)
Din aceste și alte motive, trebuie să aveți o coloană în tabel
care ar identifica în mod unic fiecare linie. De obicei, acest tabel-
Există un număr, de exemplu, numărul pacientului atribuit fiecărui pacient.
la domiciliu. Desigur, ai putea folosi numele pacienților, dar poate
că există mai multe Mary Smith; și în acest caz, nu veți avea
O altă modalitate 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 uni-
grup de coloane) utilizate pentru a identifica fiecare
șir și stocați toate liniile separat, sunt numite - cheie primară -
Tabelele de tabele principale reprezintă un element important în structura bazei de date. ei
- baza sistemului dvs. de scriere într-un fișier; și când vrei să găsești a
în tabel, vă referiți la această cheie primară. cu excepția
Mai mult, cheile primare vă asigură că datele dvs. au o anumită cerință
integritate. Dacă cheia primară este folosită și acceptată corect
Veți ști că nu există rânduri de tabele goale și că fiecare linie
diferă de orice altă linie. Vom discuta cheile și mai departe
când vorbim despre integritatea referinței în capitolul 19.
Coloanele sunt numite și numerotate
Spre deosebire de rânduri, coloanele din tabel (numite și câmpuri)
aceasta înseamnă că fiecare coloană din acest tabel trebuie să aibă un caracter unic
pentru a evita ambiguitatea. Cel mai bine ar fi dacă aceste nume sunt
Utilizați astfel de abrevieri pentru numele coloanei, ca nume pentru numele pentru
și odată pentru data comenzii. Vom da, de asemenea, fiecărei mese personal
numărul coloanei ca cheie primară. Data viitoare,
cazurile vor explica aceste tabele și cheile lor în detaliu.
Baza de date tipică
Tabelele 1.1, 1.2 și 1.3 formează o bază de date relațională care
este suficient de minim pentru a fi ușor de urmărit;
cu precizie completă pentru a ilustra principalele concepte și practici ale
Aceste tabele sunt tipărite în acest capitol și în apendicele E. Deoarece
ele vor fi folosite pentru a ilustra diferite caracteristici
ușurința de referință la acestea.
Ați observat deja că prima coloană a fiecărui tabel este co-
păstrează numere ale căror valori sunt diferite pentru fiecare linie. Cum poți
și a sugerat că acestea sunt cheile primare ale tabelelor. Unele dintre aceste numere
Acestea sunt de asemenea afișate în coloanele din alte tabele. Nu este nimic în neregulă cu asta.
Nogo. Acestea leagă liniile care utilizează valoarea
primite de la cheia primară și rândurile unde se utilizează această valoare
în cheia primară.
Tabelul 1.1: Furnizori
SNUM SNAME CITY COMM
1001 Peel London .12
1002 Serres San Jose .13
1004 Motika Londra .11
1007 Rifkin Barcelona .15