Što je SQL? Potpuni tutorijal o osnovama i obrascima

⚡ Pametni sažetak

Što je SQL? Strukturirani jezik upita je standardni jezik za rad s relacijskim bazama podataka. Omogućuje vam stvaranje shema, upite o zapisima, ažuriranje redaka, upravljanje dozvolama i povezivanje modernih aplikacija s tražilicama poput PostgreSQL, MySQLi SQL Server.

  • 📘 Definicija: SQL je kratica za Structured Query Language (strukturirani jezik upita), ANSI i ISO standard koji se koristi za definiranje, ispitivanje i kontrolu podataka unutar relacijske baze podataka.
  • 🧩 Vrste izjava: DDL, DML, DCL, TCL i DQL grupne naredbe kao što su CREATE, INSERT, UPDATE, DELETE, SELECT i DROP.
  • 🏛️ Standard: ANSI SQL:2023 dodao je izvornu JSON podršku i PostgreSQLstandardni upiti grafova svojstava u stilu (SQL/PGQ).
  • motori: PostgreSQL 17, MySQL 8, Oracle 23ai i SQL Server 2022 implementiraju velike dijelove modernog SQL standarda.
  • 🆚 SQL u odnosu na NoSQL: SQL provodi sheme, spajanja i ACID transakcije, dok NoSQL žrtvuje strogu strukturu za horizontalnu skalu i fleksibilne dokumente.
  • 🤖 Kut umjetne inteligencije: Asistenti za pretvaranje teksta u SQL kao što su GitHub Copilot i Vanna AI sada prevode jednostavna engleska pitanja u izvršne SQL upite.

Što je SQL?

Što je SQL?

SQL je standardni jezik za rad s relacijskim bazama podataka. Koristi se za umetanje, pretraživanje, ažuriranje i brisanje zapisa, a također može optimizirati i održavati baze podataka. SQL je ANSI i ISO standard, tako da ista osnovna sintaksa radi na svim tražilicama kao što su PostgreSQL, MySQL, Oraclei SQL Server.

SQL puni obrazac

SQL je kratica za Strukturirani jezik upita, izgovara se kao „SQL“ ili „See-Quel“. IBM razvio ga je 1970-ih, a relacijske baze podataka kao što su MySQL, Oracle Database, Microsoft SQL Server, PostgreSQLi SAP Sybase koristi ANSI SQL kao osnovu.

Kako koristiti SQL

SQL naredbu izdajete pisanjem naredbe koja imenuje operaciju, ciljnu tablicu i sve uvjete filtriranja. SELECT upit koji vraća članove starije od 30 izgleda ovako:

SELECT * FROM Members WHERE Age > 30;

Sintaksa u bazama podataka je uglavnom slična jer svaki veći mehanizam implementira ANSI standard. Nekoliko RDBMS proizvoda dodaje vlasničke dijalekte, na primjer T-SQL u SQL Serveru i PL/SQL u Oracle.

Kliknite ovdje ako video nije dostupan

Za što se koristi SQL?

Evo važnih razloga za korištenje SQL-a:

  • Pomaže korisnicima pristupiti podacima u RDBMS sustav.
  • Pomaže vam u opisivanju podataka.
  • Omogućuje vam da definirate podatke u bazi podataka i manipulirate tim specifičnim podacima.
  • Uz pomoć SQL-a možete stvarati i ispuštati baze podataka i tablice.
  • SQL vam omogućuje korištenje funkcija u bazi podataka, stvaranje prikaza i pisanje pohranjenih procedura.
  • Možete postaviti dopuštenja za tablice, procedure i poglede.
  • SQL podržava analitičke zadatke poput izvještavanja, poslovne inteligencije i slanja podataka u cjevovode strojnog učenja.

Kratka povijest SQL-a

Evo važnih orijentira iz povijesti SQL-a:

  • 1970. – Dr. Edgar F. “Ted” Codd opisao je relacijski model za baze podataka.
  • 1974. – Strukturirani jezik upita pojavio se na IBM Istraživanje.
  • 1978 - IBM objavljen System/R.
  • 1986. – ANSI je standardizirao SQL kao SQL-86.
  • 1989. – Objavljena je prva komercijalna verzija SQL standarda.
  • 1999. – SQL:1999 dodao je okidače i objektno orijentirane značajke.
  • SQL:2003 – Funkcije prozora i XML značajke.
  • SQL:2006 – Podrška za XML jezik upita.
  • SQL:2011 – Podrška za temporalne baze podataka.
  • SQL:2016 – JSON, prepoznavanje uzoraka redaka, polimorfne tablične funkcije.
  • SQL:2023 – Upiti grafova svojstava (SQL/PGQ) i preciznije rukovanje JSON-om.

Vrste SQL naredbi

Evo pet vrsta široko korištenih SQL naredbi:

  • Jezik definicije podataka (DDL)
  • Jezik za manipulaciju podacima (DML)
  • Jezik kontrole podataka (DCL)
  • Transaction Control Language (TCL)
  • Jezik upita podataka (DQL)

Popis SQL naredbi

Evo popisa nekih od najčešće korištenih SQL naredbe:

  • STVORITI – definira strukturu ili shemu baze podataka.
  • INSERT – unosi podatke u retke tablice.
  • UPDATE – ažurira postojeće podatke u bazi podataka.
  • DELETE – uklanja jedan ili više redaka iz tablice.
  • SELECT – odabire atribute koji odgovaraju uvjetu opisanom klauzulom WHERE.
  • KAP – uklanja tablice i baze podataka.
  • SJEDINITI – izvršava INSERT ili UPDATE u jednoj naredbi na temelju uvjeta podudaranja.

SQL proces

Kada izvršite SQL naredbu, mehanizam baze podataka analizira naredbu, odabire plan izvršenja i pokreće ga na sloju za pohranu.

Važne komponente u ovom procesu su:

  • SQL Query Engine
  • Optimizacijski mehanizam
  • Dispečer upita
  • Klasični mehanizam upita

Klasični mehanizam za upite obrađuje upite koji nisu SQL, dok SQL mehanizam za upite obrađuje strukturirano opterećenje.

SQL proces
SQL proces

SQL standardi

SQL pokriva stvaranje baze podataka, brisanje, dohvaćanje i mijenjanje redaka te kontrolu pristupa. To je ANSI (Američki nacionalni institut za standarde) i ISO standard, a trenutno izdanje je ISO / IEC 9075: 2023, obično nazvan SQL:2023. Standard je podijeljen u nekoliko dijelova:

Dio Description
Dio 1 – SQL/Framework Nudi logičke koncepte koji podupiru svaki ostali dio.
2. dio – SQL/Foundation Definira središnju sintaksu i semantiku SQL-a.
Dio 3 – SQL/CLI Određuje sučelje na razini poziva koje koriste ODBC i slični upravljački programi.
Dio 4 – Postojani pohranjeni moduli Pohranjene rutine, vanjske rutine i proširenja proceduralnog jezika za SQL.
Dio 9 – Upravljanje vanjskim podacima Dodaje sintaksu i definicije koje omogućuju SQL-u pristup izvorima podataka koji nisu SQL, kao što su datoteke.
Dio 10 – Vezanje jezika objekta Određuje sintaksu i semantiku ugrađivanja SQL-a u Java.
Dio 11 – SQL/shema Sheme informacija i definicija.
Dio 13 – SQL/JRT SQL rutine i tipovi koji koriste Java programski jezik.
Dio 14 – SQL/XML SQL i XML, uključujući integraciju XMLTYPE i XQuery.
Dio 15 – SQL/MDA Pruža SQL podršku za višedimenzionalne nizove.
Dio 16 – SQL/PGQ Dodano u SQL:2023 za definiranje upita grafova svojstava na vrhu relacijskih tablica.

Moderni SQL mehanizmi

Svaki engine implementira većinu ANSI jezgre i dodaje vlastita proširenja:

  • PostgreSQL 17: Otvoreni kod sa strogim poštivanjem standarda i bogatom JSON podrškom.
  • MySQL 8: Popularno kod web aplikacija; podržava funkcije prozora, CTE-ove i način rada za pohranu dokumenata.
  • Microsoft SQL Server 2022: Enterprise engine s inteligencijom upita i Azure Zrcaljenje sinapsi.
  • Oracle Database 23ai: Kombinira SQL s vektorskim pretraživanjem i JSON-relacijskim dualnim prikazima.
  • SQLite: Lagani mehanizam temeljen na datotekama ugrađen u mobilne aplikacije i preglednike.

Skladišta u oblaku kao što su Amazon crveni pomak, Google BigQuery i Snowflake također otkrivaju ANSI SQL dijalekte, što jezik čini prenosivim s prijenosnog računala na analitiku petabajtne skale.

Elementi SQL jezika

Evo važnih elemenata SQL jezika:

  • ključne riječi: Rezervirane riječi kao što su SELECT, FROM ili WHERE koje grade svaku naredbu.
  • Identifikatori: Imena objekata baze podataka kao što su korisnički ID-ovi, tablice i stupci.
  • Žice: Doslovni nizovi ili izrazi s tipovima podataka VARCHAR ili CHAR.
  • Izrazi: Formirano od konstanti, SQL operatora, naziva stupaca i podupita.
  • Uvjeti pretraživanja: Filtrirajte retke ili upravljajte naredbama toka poput IF.
  • Posebne vrijednosti: Vrijednosti poput CURRENT_TIMESTAMP koje se koriste u izrazima i zadanim vrijednostima stupaca.
  • Varijable: Većina mehanizama podržava lokalne, globalne i varijable na razini veze u pohranjenim procedurama.
  • Komentari: Jednolinijski (–) i blokovni (/* */) komentari dokumentiraju SQL, ali se ne izvršavaju.
  • NULL vrijednost: NULL označava vrijednost koja je nepoznata, nedostaje ili nije primjenjiva.

Što je baza podataka u SQL-u?

A baza podataka je skup tablica koje pohranjuju strukturirane podatke. Tablica sadrži retke (zapise ili n-torke) i stupce (atribute).

Svaki stupac pohranjuje određenu vrstu informacija, na primjer imena, datume, iznose u dolarima ili brojeve. Odnosi između tablica provode se primarnim i stranim ključevima, što bazu podataka čini „relacijskom“.

Što je NoSQL?

NoSQL je kategorija Sustavi za upravljanje bazama podataka čija je glavna karakteristika nepridržavanje relacijskih koncepata. NoSQL znači „Ne samo SQL“. Kategorija je rasla s internetskim divovima kao što su Google, Facebook i Amazon, koji se bave gigantskim količinama podataka.

Kada relacijske baze podataka obrađuju ogromne količine podataka, vrijeme odziva može se usporiti. Možete "skalirati" nadogradnjom hardvera ili "skalirati van" raspodjelom opterećenja na više hostova.

NoSQL baze podataka su nerelacijski trgovine dizajnirane za web aplikacije. Ne koriste uvijek SQL ili ne provode stroge sheme, a ACID (Atomsvojstva (npr. čvrstoća, konzistentnost, izolacija, trajnost) nisu uvijek zajamčena, iako moderni sustavi poput MongoDB i Cassandra sada nude prilagodljive transakcijske načine rada.



Zašto ima smisla učiti SQL nakon NoSQL-a

S obzirom na to da se NoSQL bolje skalira od relacijskih modela, možda se pitate zašto bi netko ipak učio SQLNoSQL baze podataka su specijalizirane i najbolje za ogromne nestrukturirane skupove podataka, ali većina poslovnih aplikacija i dalje se oslanja na relacijske baze podataka i njihove alate.

Relacijske baze podataka zadržavaju sljedeće prednosti u odnosu na NoSQL:

  • Zreli model pohrane i upravljanja podacima, ključan za poslovne korisnike.
  • Podrška za prikaze, omogućujući korisnicima da vide samo ovlaštene podatke.
  • Podrška za pohranjene procedure koje prenose poslovnu logiku u bazu podataka.
  • Jači sigurnosni modeli, kontrole pristupa temeljene na ulogama i značajke revizije.
  • SQL je lingua franca poslovne inteligencije, nadzornih ploča i AI alata koji zahtijevaju strukturirani unos.

Potražnja za stručnjacima koji mogu rukovati relacijskim bazama podataka i dalje raste. rastući, tako da učenje osnova SQL-a i dalje ima jasnu vrijednost.

SQL i umjetna inteligencija: Alati za pretvaranje teksta u SQL

SQL je sada ciljni jezik za AI asistente. Pretvaranje teksta u SQL Alati prevode jednostavna engleska pitanja, poput „prikaži 10 najvećih kupaca prošlog kvartala prema prihodu“, u izvršni SQL. Popularne opcije uključuju GitHub kopilot, Vanna AI, Microsoft Kopilot unutra Azure SQL i Oracle Odaberite umjetnu inteligenciju. Uvijek pregledajte generirani SQL radi ispravnosti, sigurnosti i indeksiranja prije nego što ga pokrenete na produkcijskim podacima.

Najbolje knjige za učenje SQL-a

Evo nekih od najboljih knjiga o SQL-u:

  • SQL tutorijal za početnike:

    Ova SQL Tutorial za početnike PDF pokriva osnovne koncepte baza podataka, MS-SQL naredbe i napredne teme poput SQL spajanja.

  • SQL u 10 minuta: Primjeri koda u boji pokazuju kako su SQL naredbe strukturirane, plus prečace i gotova rješenja. KUPITE ODMAH
  • SQL kuharica: Tehnike poput raščlanjivanja znakova ili razgraničenih elemenata pomoću SQL-a kroz niz znakova. KUPITE ODMAH
  • SQL: The Complete Reference: Obuhvaća funkcije prozora, zakretanje redaka u stupce i obrnuto zakretanje. KUPITE ODMAH
  • Džepni vodič za SQL: Podučava SQL funkcije, sintaksu regularnih izraza i pretvorbu tipova. KUPITE ODMAH

Za više SQL knjiga – Kliknite ovdje

Pitanja i odgovori

SQL je kratica za Structured Query Language (strukturirani jezik upita). Izgovara se ili kao tri slova „SQL“ ili kao „See-Quel“, nadimak naslijeđen od izvornika. IBM Prototip SEQUEL-a razvijen je 1970-ih.

SQL je standardizirani jezik za upite relacijskim bazama podataka. MySQL je jedan od mnogih sustava za upravljanje bazama podataka koji implementiraju SQL. Ostali mehanizmi koji također koriste SQL uključuju PostgreSQL, Microsoft SQL Server, Oracle Databasei SQLite.

Trenutni standard je ISO/IEC 9075:2023, obično nazvan SQL:2023. Dodao je SQL/PGQ dio 16 za upite grafova svojstava i razjasnio rukovanje JSON-om, nadograđujući se na značajke JSON-a i uzoraka redaka uvedene u SQL:2016.

Da. Alati za pretvaranje teksta u SQL kao što su GitHub kopilot, Vanna AI i Microsoft Kopilot unutra Azure SQL pretvara jednostavne engleske upute u upite. Uvijek provjerite generirani SQL radi ispravnosti, sigurnosti i indeksiranja prije pokretanja.

SQL priprema podatke za obuku: inženjering značajki, spajanja, filteri i agregacije odvijaju se u skladištu. Mehanizmi poput Oracle 23ai, BigQuery ML i PostgreSQL S pgvectorom sada se pretraživanja sličnosti vektora pokreću izravno u SQL-u za generiranje prošireno pronalaženjem.

Većina početnika može napisati osnovne naredbe SELECT, INSERT, UPDATE i DELETE nakon dva do tri tjedna usredotočene vježbe. Postizanje srednje razine vještine sa spajanjima, podupitima, prozorskim funkcijama i podešavanjem upita obično traje nekoliko mjeseci redovitog praktičnog rada.

Sažmite ovu objavu uz: