Mis on SQL? Täielik vorm ja põhitõed Õpetus

⚡ Nutikas kokkuvõte

Mis on SQL? Struktureeritud päringukeel (STR) on standardkeel relatsioonandmebaasidega töötamiseks. See võimaldab teil luua skeeme, päringukirjeid, ridu värskendada, õigusi hallata ja ühendada tänapäevaseid rakendusi selliste mootoritega nagu PostgreSQL, MySQLja SQL Server.

  • 📘 Määratlus: SQL tähistab struktureeritud päringukeelt (Structured Query Language), mis on ANSI ja ISO standard, mida kasutatakse relatsioonandmebaasis andmete määratlemiseks, päringute tegemiseks ja haldamiseks.
  • 🧩 Avalduse tüübid: DDL-, DML-, DCL-, TCL- ja DQL-rühmakäsud, näiteks CREATE, INSERT, UPDATE, DELETE, SELECT ja DROP.
  • 🏛️ Standard: ANSI SQL:2023 lisas natiivse JSON-toe ja PostgreSQL-stiilis standardsed omaduste graafiku päringud (SQL/PGQ).
  • ⚙️ Mootorid: PostgreSQL 17 MySQL 8, Oracle 23ai ja SQL Server 2022 rakendavad kõik suures osas tänapäevast SQL-standardit.
  • 🆚 SQL vs NoSQL: SQL jõustab skeeme, liitumisi ja ACID-tehinguid, samas kui NoSQL vahetab range struktuuri horisontaalse skaala ja paindlike dokumentide vastu.
  • 🤖 AI nurk: Tekstist SQL-i teisendamise assistendid, näiteks GitHub Copilot ja Vanna AI, tõlgivad nüüd lihtsad ingliskeelsed küsimused käivitatavateks SQL-päringuteks.

Mis on SQL?

Mis on SQL?

SQL on relatsioonandmebaasidega töötamise standardkeel. Seda kasutatakse kirjete sisestamiseks, otsimiseks, värskendamiseks ja kustutamiseks ning see saab ka andmebaase optimeerida ja hallata. SQL on ANSI ja ISO standard, seega töötab sama põhisüntaks kõigis mootorites, näiteks PostgreSQL, MySQL, Oracleja SQL Server.

SQL täisvorm

SQL tähistab Struktureeritud päringukeel, hääldatakse kui „SQL” või „See-Quel”. IBM arendas selle välja 1970. aastatel ja relatsioonandmebaasid, näiteks MySQL, Oracle Database, Microsoft SQL Server, PostgreSQLja SAP Sybase kasutab oma alusena ANSI SQL-i.

Kuidas SQL-i kasutada

SQL-päringu käivitamiseks kirjutage lause, mis nimetab operatsiooni, sihttabeli ja kõik filtreerimistingimused. SELECT-päring, mis tagastab vanemad kui 30 liiget, näeb välja selline:

SELECT * FROM Members WHERE Age > 30;

Andmebaaside süntaks on suures osas sarnane, kuna kõik suuremad mootorid rakendavad ANSI standardit. Mõned RDBMS-tooted lisavad patenteeritud dialekte, näiteks T-SQL SQL Serveris ja PL/SQL Oracle.

Click siin kui video pole juurdepääsetav

Milleks SQL-i kasutatakse?

Siin on SQL-i kasutamise peamised põhjused:

  • See aitab kasutajatel andmetele juurde pääseda RDBMS süsteem.
  • See aitab teil andmeid kirjeldada.
  • See võimaldab teil määratleda andmed andmebaasis ja manipuleerida nende konkreetsete andmetega.
  • SQL-i abil saate luua ja pukseerida andmebaase ja tabeleid.
  • SQL võimaldab teil kasutada funktsioone andmebaasis, luua vaateid ja kirjutada salvestatud protseduure.
  • Saate määrata õigused tabelitele, protseduuridele ja vaadetele.
  • SQL toetab analüütilisi ülesandeid, nagu aruandlus, ärianalüüs ja andmete edastamine masinõppe torujuhtmetele.

SQL-i lühiajalugu

Siin on olulised maamärgid SQL-i ajaloost:

  • 1970 – Dr Edgar F. “Ted” Codd kirjeldas andmebaaside relatsioonimudelit.
  • 1974 – Struktureeritud päringukeel (Structured Query Language) ilmus aadressil IBM Teadusuuringud.
  • 1978 - IBM avaldas System/R.
  • 1986 – ANSI standardiseeris SQL-i kui SQL-86.
  • 1989 – Avaldati SQL-standardi esimene kommertsversioon.
  • 1999 – SQL:1999 lisas päästikud ja objektorienteeritud funktsioonid.
  • SQL:2003 – Aknafunktsioonid ja XML-i omadused.
  • SQL:2006 – XML-päringukeele tugi.
  • SQL:2011 – Ajutiste andmebaaside tugi.
  • SQL:2016 – JSON, reamustrite tuvastamine, polümorfsed tabelifunktsioonid.
  • SQL:2023 – Omaduste graafiku päringud (SQL/PGQ) ja rangem JSON-i käsitlemine.

SQL-lausete tüübid

Siin on viis tüüpi laialdaselt kasutatavaid SQL-lauseid:

  • Andmete määratlemise keel (DDL)
  • Andmemanipulatsiooni keel (DML)
  • Andmehalduskeel (DCL)
  • Tehingute juhtimiskeel (TCL)
  • Andmepäringu keel (DQL)

SQL-käskude loend

Siin on nimekiri mõnest kõige sagedamini kasutatavast SQL-käsud:

  • LUUA – määratleb andmebaasi struktuuri või skeemi.
  • INSERT – lisab andmed tabeli ridadesse.
  • UPDATE – uuendab andmebaasis olemasolevaid andmeid.
  • Kustuta – eemaldab tabelist ühe või mitu rida.
  • SELECT – valib atribuudid, mis vastavad WHERE-klausliga kirjeldatud tingimusele.
  • DROP – eemaldab tabelid ja andmebaasid.
  • ÜHENDAB – teostab INSERT- või UPDATE-käsu ühes lauses vastetingimuse põhjal.

SQL protsess

SQL-käsu käivitamisel parsib andmebaasimootor lause, valib täitmisplaani ja käivitab selle salvestuskihis.

Selle protsessi olulised komponendid on:

  • SQL päringumootor
  • Optimeerimismootor
  • Päring dispetšer
  • Klassikaline päringumootor

Klassikaline päringumootor tegeleb mitte-SQL-päringutega, samas kui SQL-päringumootor töötleb struktureeritud töökoormust.

SQL protsess
SQL protsess

SQL standardid

SQL hõlmab andmebaasi loomist, kustutamist, ridade toomist ja muutmist ning juurdepääsu kontrolli. See on ANSI (Ameerika Riiklik Standardiinstituut) ja ISO standard ning praegune versioon on ISO / IEC 9075: 2023, mida tavaliselt nimetatakse SQL:2023-ks. Standard on jagatud mitmeks osaks:

Osa Kirjeldus
1. osa – SQL/raamistik Pakub loogilisi kontseptsioone, mis on iga teise osa aluseks.
2. osa – SQL/Foundation Määratleb SQL-i keskset süntaksit ja semantika.
3. osa – SQL/CLI Määrab ODBC ja sarnaste draiverite poolt kasutatava kõnetaseme liidese.
4. osa – püsivalt salvestatud moodulid SQL-i salvestatud rutiinid, välised rutiinid ja protseduurilise keele laiendused.
9. osa – välisandmete haldamine Lisab süntaksi ja definitsioonid, mis võimaldavad SQL-il juurde pääseda mitte-SQL-i andmeallikatele, näiteks failidele.
10. osa – Objektikeele köited Määrab SQL-i manustamise süntaksi ja semantika Java.
11. osa – SQL/skeem Teabe- ja definitsiooniskeemid.
13. osa – SQL/JRT SQL-rutiinid ja tüübid, mis kasutavad Java programmeerimiskeel.
14. osa – SQL/XML SQL ja XML, sh XMLTYPE ja XQuery integratsioon.
15. osa – SQL/MDA Pakub SQL-tuge mitmemõõtmelistele massiividele.
16. osa – SQL/PGQ Lisatud versioonis SQL:2023, et defineerida omaduste graafiku päringuid relatsioonitabelite peal.

Kaasaegsed SQL-mootorid

Iga mootor rakendab suurema osa ANSI tuumast ja lisab oma laiendused:

  • PostgreSQL 17: Avatud lähtekoodiga, järgib rangelt standardeid ja on rikkaliku JSON-toega.
  • MySQL 8: Populaarne veebirakenduste seas; toetab aknafunktsioone, CTE-sid ja dokumentide salvestamise režiimi.
  • Microsoft SQL Server 2022: Ettevõtte mootor päringuanalüüsi ja Azure Sünapsi peegeldamine.
  • Oracle Database 23. mai: Kombineerib SQL-i vektorotsingu ja JSON-relatsioonilise duaalsuse vaadetega.
  • SQLite: Kerge failipõhine mootor, mis on integreeritud mobiilirakendustesse ja brauseritesse.

Pilvelaod, näiteks Amazon Punane nihe, Google BigQuery ja Snowflake avalikustavad ka ANSI SQL-dialektid, muutes keele sülearvutist petabaidiskaalas analüütikaks kaasaskantavaks.

SQL-keele elemendid

Siin on SQL-keele olulised elemendid:

  • Märksõnad: Reserveeritud sõnad, näiteks SELECT, FROM või WHERE, mis moodustavad iga lause.
  • Identifikaatorid: Andmebaasiobjektide nimed, näiteks kasutajatunnused, tabelid ja veerud.
  • Stringid: VARCHAR- või CHAR-andmetüübiga literaalstringid või -avaldised.
  • Väljendid: Moodustatakse konstantidest, SQL-operaatoritest, veerunimedest ja alampäringutest.
  • Otsingu tingimused: Filtreeri ridu või kontrolli voolauseid (nt IF).
  • Eriväärtused: Väärtused, näiteks CURRENT_TIMESTAMP, mida kasutatakse avaldistes ja veergude vaikeväärtustes.
  • Muutujad: Enamik mootoreid toetab salvestatud protseduurides kohalikke, globaalseid ja ühenduse tasemel muutujaid.
  • Kommentaarid: Üherealised (–) ja plokkkommentaarid (/* */) dokumenteerivad SQL-i, aga neid ei täideta.
  • NULL väärtus: NULL tähistab väärtust, mis on tundmatu, puuduv või mittekohaldatav.

Mis on SQL-i andmebaas?

A andmebaas on tabelite kogum, mis salvestab struktureeritud andmeid. Tabel sisaldab ridu (kirjeid või tupleid) ja veerge (atribuute).

Igas veerus on teatud tüüpi teave, näiteks nimed, kuupäevad, rahasummad või numbrid. Tabelitevahelised seosed tagatakse primaar- ja võõrvõtmetega, mis muudab andmebaasi relatsiooniliseks.

Mis on NoSQL?

NoSQL on kategooria Andmebaasihaldussüsteemid mille peamine omadus on relatsioonilistest kontseptsioonidest mittekinnipidamine. NoSQL tähendab „Mitte ainult SQL“. Kategooria kasvas koos selliste internetihiiglastega nagu Google, Facebook ja Amazon, kes tegelevad hiiglaslike andmemahtudega.

Kui relatsioonandmebaasid käitlevad suuri andmemahtusid, võivad reageerimisajad olla aeglasemad. Saate riistvara uuendades "skaleerida" või "välja skaleerida", jaotades koormuse mitme hosti vahel.

NoSQL-i andmebaasid on mitte-relatsiooniline veebirakenduste jaoks loodud poodid. Need ei kasuta alati SQL-i ega jõusta rangeid skeeme ning ACID (Atompüsivus, järjepidevus, isolatsioon, vastupidavus) omadused ei ole alati garanteeritud, kuigi tänapäevased süsteemid, näiteks MongoDB ja Cassandra pakuvad nüüd häälestatavaid tehingurežiime.



Miks on mõttekas õppida SQL-i pärast NoSQL-i

Arvestades, et NoSQL skaleerub paremini kui relatsioonimudelid, võite mõelda, miks keegi peaks ikkagi SQL-i õppima?NoSQL-i andmebaasid on spetsialiseerunud ja sobivad kõige paremini suurte struktureerimata andmekogumite jaoks, kuid enamik ärirakendusi tugineb endiselt relatsioonandmebaasidele ja nende tööriistadele.

Relatsioonandmebaasidel on NoSQL-i ees järgmised eelised:

  • Küps andmesalvestus- ja haldusmudel, mis on ettevõtte kasutajatele ülioluline.
  • Vaadete tugi, mis võimaldab kasutajatel näha ainult volitatud andmeid.
  • Toetus salvestatud protseduuridele, mis sisestavad äriloogika andmebaasi.
  • Tugevamad turbemudelid, rollipõhised juurdepääsukontrollid ja auditeerimisfunktsioonid.
  • SQL on ärianalüütika, armatuurlaudade ja tehisintellekti tööriistade ühine keel, mis vajavad struktureeritud sisendit.

Nõudlus relatsioonandmebaasidega tegelevate spetsialistide järele püsib kasvab, seega on SQL-i põhitõdede õppimisel endiselt selge eelis.

SQL ja tehisintellekt: tekstist SQL-iks teisendamise tööriistad

SQL on nüüd tehisintellekti assistentide sihtkeel. Tekstist SQL-iks tööriistad tõlgivad lihtsad ingliskeelsed küsimused, näiteks „näita eelmise kvartali 10 suurimat klienti tulu järgi”, käivitatavaks SQL-iks. Populaarsed valikud on järgmised: GitHubi koopia, Vanna AI, Microsoft Kaaspiloot sisse Azure SQL ja Oracle Valige tehisintellekt. Enne genereeritud SQL-i käivitamist tootmisandmetel kontrollige alati selle õigsust, turvalisust ja indekseerimist.

Parimad raamatud SQL-i õppimiseks

Siin on mõned parimad SQL-i raamatud:

  • SQL-i õpetus algajatele:

    see SQL-i õpetus algajatele PDF-fail hõlmab andmebaasi põhikontseptsioone, MS-SQL-käske ja edasijõudnutele mõeldud teemasid, näiteks SQL-liitmisi.

  • SQL 10 minutiga: Täisvärvilised koodinäited näitavad SQL-lausete struktuuri, lisaks otseteid ja valmislahendusi. OSTA KOHE
  • SQL kokaraamat: Sellised tehnikad nagu stringi läbimine SQL-iga märkide või eraldatud elementide parsimiseks. OSTA KOHE
  • SQL: The Complete Reference: Hõlmab aknafunktsioone, ridade veergudeks teisendamist ja tagurpidi pööramist. OSTA KOHE
  • SQL-i taskujuhend: Õpetab SQL-funktsioone, regulaaravaldiste süntaksit ja tüübi teisendamist. OSTA KOHE

Rohkem SQL-raamatuid leiate siit – Kliki siia

KKK

SQL on lühend lühendist Structured Query Language. Seda hääldatakse kas kolmetähelise „SQL” või algsest keelest päritud hüüdnimena „See-Quel”. IBM SEQUELi prototüüp töötati välja 1970. aastatel.

SQL on standardiseeritud keel relatsioonandmebaaside päringute tegemiseks. MySQL on üks paljudest andmebaasihaldussüsteemidest, mis rakendab SQL-i. Teised mootorid, mis samuti SQL-i kasutavad, on järgmised: PostgreSQL, Microsoft SQL Server, Oracle Databaseja SQLite.

Praegune standard on ISO/IEC 9075:2023, mida tavaliselt nimetatakse SQL:2023-ks. Sellega lisati omaduste graafiku päringute jaoks 16. osa SQL/PGQ ja selgitati JSON-i käsitlemist, tuginedes SQL:2016-s tutvustatud JSON-i ja reamustrite funktsioonidele.

Jah. Teksti SQL-iks teisendamise tööriistad, näiteks GitHubi koopia, Vanna tehisintellekt ja Microsoft Kaaspiloot sisse Azure SQL-id muudavad tavalised ingliskeelsed päringud päringuteks. Enne genereeritud SQL-i käivitamist kontrollige alati selle õigsust, turvalisust ja indekseerimist.

SQL valmistab ette treeningandmeid: funktsioonide kavandamine, liitumised, filtrid ja agregatsioonid toimuvad kõik andmeladus. Mootorid nagu Oracle 23ai, BigQuery masinõpe ja PostgreSQL pgvectoriga saab nüüd otsingu abil laiendatud genereerimiseks vektori sarnasuse otsinguid otse SQL-is käivitada.

Enamik algajaid suudab kahe-kolme nädala pikkuse sihipärase harjutamisega kirjutada põhilisi SELECT-, INSERT-, UPDATE- ja DELETE-lauseid. Keskmise taseme oskuste saavutamiseks liitumistes, alampäringutes, aknafunktsioonides ja päringute häälestamises kulub tavaliselt paar kuud regulaarset praktilist tööd.

Võta see postitus kokku järgmiselt: