Michael J. Hernandez, John L

În ultimii câțiva ani, SQL a evoluat de la un limbaj cunoscut doar de informaticieni la un standard internațional utilizat pe scară largă. Numărul total de baze de date compatibile cu SQL livrate în fiecare an se ridică acum la milioane. Dacă contactați informație corporativă pe Internet sau printr-o rețea internă, atunci probabil că utilizați SQL. SQL Queries for Mere Mortals îi ajută pe începători să învețe elementele de bază ale interogărilor SQL și este un ghid de referință esențial pentru utilizatorii experimentați și avansați.


Conţinut.
Partea I Baze de date relaționale și SQL. 1
Capitolul 1 Ce este „relațional”? 3
Tipuri de baze de date 3
Poveste scurta model relațional. 4
Anatomia bazelor de date relaționale. 5
De ce este nevoie de toate acestea? 14
Rezultate.16
Capitolul 2 Asigurarea fiabilității structurii bazei de date. 17
De ce este plasat acest capitol aici? 17
De ce ai nevoie de o structură bine gândită? 18
Configurarea câmpurilor. 18
Amenajarea meselor. 26
Instalarea și corectarea conexiunilor. 36
Și e tot?. 43
Rezultate. 43
Capitolul 3 O scurtă istorie a SQL. 45
Originile SQL. 45
Implementări timpurii. 47
„.și apoi a fost Standardul”. 48
Dezvoltarea standardului ANSI/ISO. 49
Ce ne rezerva viitorul. 54
De ce să înveți SQL. 56
Rezultate. 57
Partea a II-a Noțiuni de bază SQL. 59
Capitolul 4 Crearea de interogări simple. 61
Introducere în SQL. 61
instrucțiunea SELECT. 62
O scurtă digresiune: Date versus information.64
Traducerea interogării în SQL. 66
Eliminați rândurile duplicate.72
Sortarea informațiilor. 74
Economie de locuri de muncă79
Exemple de operatori. 79
Rezultate.87
Sarcini pentru decizie independentă. 88
Capitolul 5 Cum să obțineți mai mult decât coloane. 91
Condiția SELECT, ia doi.92
Dincolo de elementele de bază96
Ce este o „expresie”97
Ce încerci să exprimi.97
Tipuri de expresii. 100
Utilizarea expresiilor într-o condiție SELECT. 109
Valoare nulă. 117
Exemple de operatori. 120
Rezultate.127
Probleme pentru rezolvare independentă. 128
Capitolul b Filtrarea datelor 131
Calificarea a ceea ce s-a obţinut folosind WHERE.131
Definirea termenilor de căutare.135
Folosind mai multe condiţii.156
Revizuirea NULL: Notă de avertizare.168
Exprimarea Condiţiilor căi diferite. 172
Exemple de operatori. 173
Rezultate.179
Probleme pentru rezolvare independentă. 179
Partea a III-a Lucrul cu mai multe tabele. 183
Capitolul 7 Gândirea în seturi. 185
Ce este un set? 186
Operatii pe platouri.186
Intersecție. 187
Diferență. 192
O asociere. 199
Setați operațiuni în SQL. 203
Rezultate.212
Capitolul 8 Conexiuni interne. 214
Ce este JOIN. 214
INNER JOIN. 215
Aplicarea conditiilor INNER JOIN.231
Exemple de operatori.233
Rezultate.251
Probleme de rezolvare independentă.251
Capitolul 9 Conexiuni externe.255
Ce este OUTER JOIN.255
UNIUNEA EXTERIOR STÂNGA/DREAPTA.257
ÎNTREPRINDERE EXTERIOR COMPLET.276
Folosind operațiunile OUTER JOIN.281
Exemple de operatori.282
Rezultate.295
Probleme de rezolvare independentă296
Capitolul 10 Operațiunile UNION 298
Ce este UNIREA.298
Scrierea interogări cu UNION.300
Aplicarea UNIUNII.311
Exemple de operatori.312
Rezultate.322
Probleme de rezolvare independentă.322
Capitolul 11* Subinterogări325
Ce este o subinterogare.326
Subinterogări ca expresii cu coloane.327
Subinterogări ca filtre.332
Folosind subinterogări.347
Exemple de operatori349
Rezultate.361
Probleme de rezolvare independentă.362
Partea a IV-a Rezumarea datelor și gruparea. 365
Capitolul 12* Sumă simplă.367
Funcţii agregate.367
Utilizarea funcţiilor agregate în filtre.381
Exemple de operatori.384
Rezultate.390
Probleme de rezolvare independentă.390
Capitolul 13 Gruparea datelor. 393
De ce trebuie să grupați datele.393
Clauza GROUP BY. 395
Impunerea unor restricţii.404
Folosind GROUP BY.408
Exemple de operatori.409
Rezultate.417
Probleme de rezolvare independentă.418
Capitolul 14 Filtrarea datelor grupate.420
Îngustarea grupelor.420
Filtre: Simțiți diferența. 425
Folosind HAVING. 432
Exemple de operatori. 433
Rezultate. 441
Probleme pentru rezolvare independentă. 441
Concluzie. 445
Aplicații 447
Anexa A Diagrame standard SQL. 449
Anexa B Structuri de baze de date utilizate
ca exemple. 455
Anexa C Lectură recomandată. 459

Prefaţă
SQL Queries for Mere Mortals este o introducere excelentă în interogările SQL și completează cartea anterioară, Database Design for Mere Mortals, de la Addison-Wesley. S-ar putea spune că aceasta este o introducere și mai bună decât prima carte. Un programator adevărat (adică un simplu muritor) petrece mai mult timp scriind interogări SQL și mai puțin timp proiectând baza de date în sine. Schemele sunt create de administratorii de baze de date foarte plătiți, care dețin birouri private și mașini sport. Ceea ce fac majoritatea programatorilor este să încerce să facă SQL să funcționeze într-o schemă definită rigid.
Am creat baze de date și predau SQL avansat în profesia mea, astfel încât să pot atesta că majoritatea textelor SQL sunt la fel de lizibile ca hieroglifele egiptene. Odată ce un program începe să funcționeze, programatorul care l-a scris trece la următoarea sarcină, fără să se uite niciodată înapoi la ceea ce a fost făcut. Și când ceva nu merge bine cu acest program, o altă persoană trimite mesaje disperate către grupurile de discuții de pe Internet, unde John și Mike îl vor salva cu câteva cuvinte de înțelepciune și o rescrie a codului. Ei au ajutat oamenii să-și rezolve problemele SQL de ani de zile. În sfârșit, este timpul să punem totul într-o carte pe care oricine o poate folosi!


Descărcare gratuită e-carteîntr-un format convenabil, urmăriți și citiți:
Descarcă cartea SQL Queries for Mere Mortals, A Practical Guide to Data Manipulation in SQL, Michael J. Hernandez, John L. Viescas., 2003 - fileskachat.com, descărcare rapidă și gratuită.

Descărcați pdf
Puteți cumpăra această carte mai jos cel mai bun preț la reducere cu livrare în toată Rusia.

Baze de date General Michael J. Hernandez, John L. Viescas - interogări SQL pentru simpli muritori

Michael J. Hernandez, John L. Viescas - Interogări SQL pentru simpli muritori

03.09.2009

Cartea SQL Queries for Mere Mortals este o introducere excelentă în interogările SQL. Un programator adevărat (un simplu muritor) petrece mult timp scriind interogări SQL și mai puțin timp proiectând baza de date în sine. Schemele sunt create de administratori de baze de date foarte plătiți, care dețin birouri private și mașini sport. Majoritatea programatorilor încearcă să facă SQL să funcționeze într-o schemă definită rigid.

Despre autori
Michael J. Hernandez este un cunoscut consultant de baze de date relaționale și proprietar al DataTex Consulting Group din Seattle. Face adesea prezentări la diverse conferințe. De asemenea, a scris cartea Database Design for Mere Mortals.

Ioan L. Viescas- Președinte al Viescas Consulting, Inc., o firmă renumită de consultanță în baze de date. El este, de asemenea, autorul celor mai bine vândute cărți Running Microsoft Access 2000 și al Programer’s Quick Reference Guide to SQL.

SQL pentru simpli muritori + SQL în 10 minute
Sams Teach Yourself SQL în 10 minute
Postat de Ben Forta
Traducător: V. Ginzburg
Limbi: rusă
Editura: Williams
Seria: Învață în 10 minute
ISBN 978-5-8459-1858-1, 978-0-672-33607-2; 2014

Paginile 288 p.
Format 84x108/32 (130x200 mm)
Tiraj 2000 exemplare.
Volum broşat

Cartea SQL în 10 minute oferă soluții simple și practice pentru cei care doresc să obțină rezultate rapid. După ce ați studiat toate cele 22 de lecții, fiecare dintre ele nu va dura mai mult de 10 minute, veți învăța despre tot ce aveți nevoie pentru a aplicație practică SQL. Exemplele date în carte sunt potrivite pentru IBM DB2, Microsoft Access, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SQLite, MariaDB și Apache OpenOffice Base.
acces la toate linkurile
Exemplele vizuale vă vor ajuta să înțelegeți cum sunt structurate instrucțiunile SQL.
Sfaturile vor sugera comenzi rapide către soluții.
Avertismentele vă vor ajuta să evitați greșelile comune.
Notele vor oferi clarificări suplimentare.
Ce poți învăța în 10 minute:


  • - instrucțiuni SQL de bază;
    - crearea de interogări SQL complexe cu multe clauze și operatori;
    - extragerea, sortarea si formatarea datelor;
    - obţinerea de date specifice utilizând diverse metode filtrare;
    - aplicarea funcţiilor de rezumat pentru obţinerea de date rezumative;
    - combinarea tabelelor relaționale;
    - adaugarea, actualizarea si stergerea datelor;
    - crearea si schimbarea meselor;
    - lucrul cu vizualizări, proceduri stocate și multe altele.
Ben Forta este director de dezvoltare la Adobe Systems. Autor al numeroaselor cărți cele mai bine vândute, inclusiv cărți despre baze de date, SQL și ColdFusion. Are o vastă experiență în proiectarea bazelor de date și dezvoltarea de aplicații.

Înțelegerea SQL
Autor: Martin Graber
Traducător: V. Yastrebov
Limbi: rusă
Editura: Lori
ISBN 978-5-85582-301-1; 2014
caracteristici suplimentare
Paginile 378 p.
Format 70x100/16 (170x240 mm)
Tiraj 200 de exemplare.
Volum broşat

SQL FOR MERE MORTALS este o introducere completă la limbaj structuratîntrebări, scrise special pentru începători. Dacă nu aveți experiență în gestionarea bazelor de date, această carte vă va învăța cum să lucrați cu SQL ușor și fluent, folosind interogări simple și operatii complexe. Pentru a stăpâni SQL:
- Înțelegeți conceptele asociate cu gestionarea bazelor de date cu o scurtă și simplă introducere în bazele de date relaționale.
- Urmați aceste instrucțiuni pentru a utiliza comenzile SQL de bază pentru a găsi și manipula informații în tabelele de date. Învățați să selectați, să rezumați și să gestionați datele cu pricepere.
- Lucrați eficient cu tabele de date compuse prin aplicarea tehnicilor avansate de interogare la mai mult de un tabel simultan, construind interogări și subinterogări complexe.
- Creați noi tabele de date pentru tranzacționarea aplicațiilor de afaceri. Explora principii importante proiectare eficientă a bazelor de date și tehnici pentru asigurarea integrității și protecției datelor.
- Învață să folosești SQL cu limbaje de programare folosind un capitol special pentru programatori.

SQL FOR MERE MORTALS este un ghid esențial pentru orice implementare a unui limbaj de interogare structurat, inclusiv o referință rapidă la SQL standard și o descriere a proprietăților generale ale SQL non-standard.



SQL FOR MERE MORTALS este o introducere completă a unui limbaj de interogare structurat, scris special pentru începători. Dacă nu aveți experiență în gestionarea bazelor de date, această carte vă va învăța cum să lucrați cu SQL ușor și fluent, folosind interogări simple și operații complexe. Pentru a stăpâni SQL:

  • Înțelegeți conceptele asociate cu gestionarea bazelor de date cu o scurtă și simplă introducere în bazele de date relaționale.
  • Urmați aceste instrucțiuni pentru a utiliza comenzile SQL de bază pentru a găsi și manipula informații în tabelele de date. Învățați să selectați, să rezumați și să gestionați datele cu pricepere.
  • Lucrați eficient cu tabele de date compuse prin aplicarea tehnicilor avansate de interogare la mai mult de un tabel simultan, construind interogări și subinterogări complexe.
  • Creați noi tabele de date pentru tranzacționarea aplicațiilor de afaceri. Aflați principiile importante ale proiectării eficiente a bazelor de date și tehnici pentru asigurarea integrității și securității datelor.
  • Învață să folosești SQL cu limbaje de programare folosind un capitol special pentru programatori.

SQL FOR MERE MORTALS este un ghid esențial pentru orice implementare a unui limbaj de interogare structurat, inclusiv o referință rapidă la SQL standard și o descriere a proprietăților generale ale SQL non-standard.

1. Introducere în bazele de date relaționale
2. Introducere în SQL
3. Folosind SQL pentru a prelua date din tabele
4. Utilizarea operatorilor relaționali și booleeni pentru a crea predicate mai complexe
5.Utilizare operatori speciali in conditii"
6. Rezumarea datelor folosind funcții de agregare
7. Formatarea rezultatelor interogării
8. Utilizarea mai multor tabele într-o singură interogare
9. Operație de îmbinare, ai cărei operanzi sunt reprezentați printr-un singur tabel
10. Imbricare interogări
11. Subinterogări aferente
12. Utilizarea operatorului EXISTS
13. Utilizarea operatorilor ANY, ALL și SOME
14. Folosirea clauzei UNION
15. Introducerea, ștergerea și modificarea valorilor câmpului
16. Utilizarea subinterogărilor cu comenzi de actualizare
17. Crearea tabelelor
18. Restricții asupra setului de valori de date valide
19. Mențineți integritatea datelor
20. Introducere în Vizualizări
21. Modificarea valorilor folosind vizualizări
22. Determinarea drepturilor de acces la date
23. Aspecte globale ale SQL
24. Cum se menține ordinea în baza de date date SQL
25. Utilizarea SQL cu alte limbaje de programare (SQL încorporat)
Aplicații
A. Răspunsuri la exerciții
B. Tipuri de date SQL
C. Câteva abateri comune de la standardul SQL
D. Ajutor pentru sintaxă și comandă
E. Tabele folosite în exemple
F. SQL Astăzi

Introducere în bazele de date relaționale

... Vom folosi, de asemenea, ambii termeni ca sinonime atunci când discutăm despre SQL. Sunteți deja familiarizat cu tabelele simple. Cu toată concizia și simplitatea lor, ele sunt destul de potrivite pentru a demonstra cele mai importante caracteristici ale limbii, așa cum veți vedea mai târziu. Uneori vom introduce alte tabele sau vom analiza alte date într-unul dintre aceste tabele pentru a arăta unele caracteristici suplimentare aplicatiile lor. Acum suntem gata să pătrundem direct în SQL. Următorul capitol, la
la care va trebui să revii din când în când, oferă o idee generală despre limbaj și te orientează în materialul prezentat în carte.

Introducere în SQL

Acest capitol acoperă o mulțime de informații de bază pentru a vă oferi o privire de ansamblu asupra SQL. Ați învățat cum este structurat, cum este utilizat, cum exprimă datele, cum și de către cine este definit (și tensiunile care apar) și unele dintre convențiile și terminologia folosită pentru a o descrie. Următorul capitol explică în detaliu formarea și funcționarea comenzilor. Veți afla despre o comandă care vă permite să preluați informații din tabele și este una dintre comenzile cele mai frecvent utilizate în SQL. Veți putea prelua singur anumite informații din baza de date.

Aspecte globale ale SQL

  • Sinonime (cum se creează nume noi pentru obiectele de date)
  • Spațiu bază de date (dbspace) (cum se particționează spațiul disponibil într-o bază de date)
  • Procesarea tranzacțiilor (cum să salvezi sau să renunți la modificările din baza de date)
  • Controlul concurenței (cum SQL vă permite să împiedicați comenzile să interfereze între ele)

Sinonimele sunt obiecte, au nume și (uneori) proprietari, dar nu există independent de tabelul al cărui nume îl înlocuiesc. Acestea pot fi partajate și, prin urmare, accesibile tuturor celor care au acces la obiect sau pot fi deținute numai de un anumit utilizator. Dbspaces sunt subsecțiuni ale bazei de date alocate utilizatorilor. Tabelele înrudite care suferă frecvent o operație de îmbinare sunt cel mai bine stocate în același spațiu de bază de date. COMMIT și ROLLBACK sunt comenzi folosite pentru a salva ca grup toate modificările aduse bazei de date de la comanda anterioară COMMIT sau ROLLBACK sau de la începutul unei sesiuni, sau pentru a le abandona. Controlul concurenței determină măsura în care comenzile simultane se afectează reciproc. Aici apar diferențele operaționale în modul în care funcționează bazele de date și cum sunt izolate comenzile.

Cum să mențineți ordinea într-o bază de date SQL

Deci, sistemele SQL folosesc un set de tabele numit directorul de sistem al structurii bazei de date. Aceste tabele pot fi interogate, dar nu pot fi actualizate. De asemenea, puteți adăuga (sau șterge) coloane de comentarii în tabelele SYSTEMCATALOG și SYSTEMCOLUMNS. Crearea vizualizărilor pe aceste tabele este o modalitate excelentă de a defini exact ce informații sunt autorizați să acceseze utilizatorii. Aceasta încheie discuția noastră despre SQL în modul interactiv. Următorul capitol va analiza cum să utilizați SQL direct în programele scrise în limbaje de programare; Această utilizare vă permite să profitați de interacțiunea programului cu baza de date.

Utilizarea SQL cu alte limbaje de programare (SQL încorporat)

Comenzile SQL sunt incluse în limbaje de programare procedurală pentru a combina punctele forte ale celor două abordări. Implementarea acestei caracteristici necesită unele extensii SQL. Comenzile Embedded SQL sunt traduse de un program numit precompilator (preprocesor) pentru a produce un program care poate fi înțeles de un compilator de limbaj de nivel înalt. Comenzile Embedded SQL sunt înlocuite cu apeluri la rutine care sunt create folosind preprocesorul încorporat; aceste rutine se numesc module de acces. Folosind această abordare, ANSI acceptă SQL încorporat pentru limbi Programare Pascal, FORTRAN, COBOL, PL/1. Alte limbi sunt, de asemenea, folosite de dezvoltatori. Cel mai important dintre acestea este C. Când descrieți SQL încorporat, trebuie acordată o atenție deosebită următoarelor:

  • Toate comenzile SQL încorporate încep și se termină cu EXEC SQL, în funcție de limbajul de nivel înalt folosit.
  • Toate variabilele de limbaj de nivel înalt utilizate în comenzile SQL trebuie incluse în secțiune Descrieri SQLînainte de utilizarea sa.
  • Dacă în comenzile SQL sunt folosite variabile de limbaj de nivel înalt, numele acestora trebuie să fie precedate de două puncte.
  • Ieșirea interogărilor poate fi stocată direct în variabile de limbaj de nivel înalt folosind INTO dacă și numai dacă interogarea selectează un singur rând.
  • Cursoarele pot fi folosite pentru a stoca rezultatul interogării și pentru a le accesa rând pe rând. Cursoarele sunt declarate (împreună cu o definiție a interogării a cărei ieșire o conține cursorul), deschise (care corespunde execuției interogării) și închise (care corespunde cu eliminarea ieșirii de pe cursor, rupând legătura dintre ieșire și cursorul). În timp ce cursorul este deschis, puteți utiliza comanda FETCH pentru a accesa rezultatul interogării: un rând pentru fiecare execuție a comenzii FETCH.
  • Cursoarele pot fi actualizate sau numai pentru citire. Pentru a putea fi actualizat, un cursor trebuie să îndeplinească aceleași criterii ca și o vizualizare. Nu trebuie să folosească clauzele ORDER VU și UNION, cărora le este interzisă utilizarea în vizualizare. Un cursor care nu este actualizat este un cursor numai pentru citire.
  • Dacă cursorul este actualizabil, poate fi folosit pentru a manipula rândurile care sunt utilizate de comenzile SQL încorporate UPDATE și DELETE din clauza WHERE CURRENT OF. DELETE sau UPDATE trebuie să aparțină tabelului accesat prin cursorul de interogare.
  • SQLCODE poate fi declarat ca o variabilă numerică pentru fiecare program care utilizează SQL încorporat. Valorile acestei variabile sunt setate automat după ce fiecare comandă SQL este executată.
  • Dacă comanda SQL rulează normal, dar nu produce rezultate sau nu face modificările așteptate în baza de date, SQLCODE este setat la 100. Dacă comanda eșuează, SQLCODE este setat la o valoare negativă care descrie cauza erorii, în funcție de sistemul SQL specific. În caz contrar, SQLCODE este zero.
  • Clauza WHENEVER poate fi folosită pentru a determina ce acțiune trebuie întreprinsă dacă SQLCODE este 100 (NOT FOUND) sau negativ (SQLERROR). Această acțiune constă în a merge la un anumit punct al programului (GOTO<метка>) sau pentru a efectua o „acțiune goală” (CONTINUA, echivalent cu conceptul de „a nu face nimic”). Valoarea implicită este „acțiune goală”.
  • Numai variabilele numerice pot fi folosite ca indicatori. Variabilele indicator urmează alte nume de variabile în comanda SQL fără caractere de separare, cu excepția cuvântului INDICATOR.
  • De obicei, valoarea unei variabile indicator este O. Dacă o comandă SQL încearcă să plaseze o valoare NULL într-o variabilă de limbaj de nivel înalt care utilizează acest indicator, i se atribuie o valoare negativă. Această proprietate poate fi folosită pentru protecția împotriva erorilor și ca flag pentru a marca valorile NULL în SQL care vor fi interpretate special în programul principal.
  • Variabilele indicatoare pot fi folosite pentru a insera valori NULL în comenzile SQL INSERT sau UPDATE. Ele iau valori pozitive atunci când apare o situație de trunchiere a șirurilor.

Descărcați cartea SQL Queries for Mee Mortals

Cărți SQL - Interogări SQL pentru simpli muritori

În ultimii câțiva ani, SQL a evoluat de la un limbaj cunoscut doar de informaticieni la un standard internațional utilizat pe scară largă. Numărul total de baze de date compatibile cu SQL livrate în fiecare an se ridică acum la milioane. Dacă accesați informații corporative pe Internet sau printr-un intranet, atunci probabil că utilizați SQL. SQL Queries for Mere Mortals îi ajută pe începători să învețe elementele de bază ale interogărilor SQL și este un ghid de referință esențial pentru utilizatorii experimentați și avansați.

Interogări SQL pentru simpli muritori. Descrierea cărții despre SQL

Cartea este o introducere excelentă în interogările SQL și completează bine cartea anterioară, Database Design for Mere Mortals, publicată de Addison-Wesley. S-ar putea spune că aceasta este o introducere și mai bună decât prima carte. Un programator adevărat (adică un simplu muritor) petrece mai mult timp scriind interogări SQL și mai puțin timp proiectând baza de date în sine. Schemele sunt create de administratori de baze de date foarte plătiți, care dețin birouri private și mașini sport. Ceea ce fac majoritatea programatorilor este să încerce să facă SQL să funcționeze într-o schemă definită rigid.
Configurez baze de date și predau SQL avansat în profesia mea, așa că pot confirma că majoritatea textelor SQL sunt la fel de
atractiv de citit, la fel ca hieroglifele egiptene. Odată ce un program începe să funcționeze, programatorul care l-a scris trece la următoarea sarcină, fără să se uite niciodată înapoi la ceea ce a fost făcut. Și când ceva nu merge bine cu acest program, o altă persoană trimite mesaje disperate către grupurile de discuții de pe Internet, unde John și Mike îl vor salva cu câteva cuvinte de înțelepciune și o rescrie a codului. Ei au ajutat oamenii să-și rezolve problemele legate de SQL. În sfârșit, este timpul să punem totul într-o carte pe care oricine o poate folosi!
Nu este deloc dificil și nu necesită alt timp pentru a scrie program bun. Dacă înțelegeți ce faceți, atunci majoritatea problemelor pot fi rezolvate destul de simplu. În primul rând, trebuie să înveți elementele de bază. Această carte vă oferă șansa de a învăța aceste elemente de bază într-un mod ușor de înțeles și bine scris. Apoi, trebuie să înțelegeți când și cum să adaptați o soluție simplă la un anumit SGBD și o anumită implementare SQL. Când elementele de bază sunt stăpânite în mod fiabil, contactați-mă și vă voi învăța lucruri cu adevărat non-triviale.

Acțiune