More

    Mi az SQL és hogyan működik

    Merülés a relációs adatbázisokba 2020. december 22. 7 perc 180https: //d2xzmw6cctk25h.cloudfront.net/post/2491/og_image/9d0f392ec052f922f41e5792374d7fcd.png

    A Wikipedia azt állítja, hogy az SQL egy deklaratív programozási nyelv, amelyet egy társított adatbázis-kezelő rendszer által kezelt relációs adatbázisban hoznak létre, módosítanak és manipulálnak. Nem a legemészthetőbb meghatározás. Elemezzük, hogy megértsük, miről is van szó.

    A deklaratív programozási nyelv megmondja, hogy mit kell tenni, és nem azt, hogy hogyan kell csinálni. A deklaratív nyelv másik példája a HTML. Vegye figyelembe ezt a kódot:

     

    Segítségével kijelentjük (deklaráció – nyilatkozat) a böngészőnek, hogy szeretnénk látni egy class className nevű blokkot és egy gombot a „I see. Egyértelmű.” belül. Ehhez nem hozunk létre változókat, ciklusokat, feltételeket. Tudjuk, hogy a böngésző megértett minket, maga elemzi a parancsot, és eredményt vagy hibát ad vissza.

    A jelentés itt nagyon egyszerű: megadjuk a parancsot, és megkapjuk az eredményt. Nem írjuk le a parancs végrehajtásának módját. Annak megértéséhez, hogy mi a relációs adatbázis, nézzük meg, mi is az az adatbázis elvben. Bontjuk le ezt a fogalmat „bázisra” és „adatokra”.

    Adat

    Az adatbázisok összefüggésében az adatok értékek halmazaként értendők, amelyeket sorokban és oszlopokban gyűjtenek, ezáltal táblázatot jelentenek. Tegyük fel, hogy van egy bútorüzlet katalógusunk. A könyvtár “Szekrények” részéből minden adatot el kell mentenünk egy táblázatba. Úgy döntöttünk, hogy az összes szekrény jellemzői szerint különbözik egymástól:

    • a gyártó neve;
    • modell név;
    • magasság;
    • hossz;
    • Szín;
    • Ajtók száma.

    Készítsünk egy táblázatot, és tegyünk bele kitalált adatokat.

    Mi az SQL és hogyan működik

    Van egy táblázata az adatokkal. Az oszlopok megmutatják, hogyan fogják tárolni őket. A példában jeleztem, hogy információkat tárolunk a szerkezetben: gyártó, modell, magasság, hosszúság, szín, ajtók száma. Más szavakkal, létrehoztam egy táblázatszerkezetet.

    Sorok hozzáadásával a táblához adatokat adtam meg, az oszlopokban megadott struktúrára összpontosítva. Minél több sor, annál több adat. Minél több oszlop, annál részletesebbek lesznek ezek az adatok.

    Van olyan is, hogy “érték” – ez egy oszlop és egy sor metszéspontja. Például a Szín oszlop utolsó sorában a „kaki” felirat szerepel. Itt a “kaki” jelentése. Ha elkezdjük a táblákat csoportosítani, és hozzáadjuk a manipulálás képességét, akkor kapunk egy adatbázist.

    Most az alapokról

    Kiderült, hogy az adatbázis egy bizonyos módon bemutatott adatgyűjtemény (esetünkben táblázat), és azok manipulálására szolgáló eszközkészlet.

    Az adatok nemcsak táblákba, hanem gyűjteményekbe is csoportosíthatók. Minden adatbázisnak megvan a maga eszköze a táblák / gyűjtemények létrehozásához, az adatok hozzáadásához, törléséhez vagy megváltoztatásához, valamint a kiválasztáshoz. Ebben a cikkben táblázatokból álló adatbázisokat fogunk megvizsgálni, és az SQL nyelv lesz az adatkezelési eszköz.

    A táblák sémákká egyesíthetők egymással – egy adatbázisban több is lehet, vagy egyáltalán nincs sémára osztás. Ez a DB-től függ.

    Térjünk vissza a Wikipedia definíciójára, és emlékezzünk a “relációs” szóra. A relációs (az angol relációból – relációkból) olyan adatbázisok, amelyek táblázatai különféle kapcsolatokban építhetők fel. Vegyük az előző példát, és egészítsük ki azokat a “kapcsolatokat”. Hozzunk létre egy “Gyártó” táblázatot, és a példában szereplő “Katalógus” lesz jelölve.

    Gyártói táblázat:

    Mi az SQL és hogyan működik

    Most a „Catalog” táblázatot más formában lehet megtervezni:

    Mi az SQL és hogyan működik

    Történt, hogy a “Catalog” és a “Producer” táblák kapcsolatban álltak egymással. A Katalógus oszlop értékei a Gyártó táblázat soraira vonatkoznak. A kapcsolat hozzáadásával számos problémát megoldottunk:

    1. Megszabadultunk a felesleges adatoktól. A katalógus kezdett kevesebb helyet foglalni. A teljes sor tárolása helyett csak a Gyártó táblázat sorszámát használjuk.
    2. Csökkentette a tévedés valószínűségét. A gyártó nevének megváltoztatásakor csak a „Gyártó” táblázat sorát kell szerkesztenünk, a „Katalógus” változatlan marad.
    OLVASS TOVÁBB:  Új szakma - mobilalkalmazás-tesztelő

    Nem minden problémát oldottunk meg kapcsolatok hozzáadásával. A többi kérdés megértéséhez mélyebbre kell mélyedni az adatbázisok témájában. Az adatok táblázatokra osztása összefüggésekkel normalizálási folyamat. Ily módon különféle normalizált adatformák érhetők el. Az egyes normalizált űrlapok elérésekor mentjük az adatokat a további problémáktól.

    Vissza az SQL-hez

    Ha az olvasó azt hitte, hogy eltávolodunk az SQL-től, akkor az vagyunk. De nagyon nehéz megérteni, mi is az az SQL, anélkül, hogy tudnánk, miben működik.

    Kiderült, hogy az SQL egy olyan programozási nyelv, amely szükséges a parancsok beírásához az adatbázisba, amely után az eredményt adja vissza. Az eredmény az SQL-ben írt parancstól függ. Mint minden más programozási nyelvben, az SQL-ben is vannak olyan utasítások, amelyek parancsokat alkotnak. Az üzemeltetőket négy nyelven terjesztik:

    • DDL – Data Definition Language;
    • DML – adatkezelési nyelv;
    • DCL – Adatkezelési nyelv;
    • TCL – Tranzakcióvezérlő nyelv.
    OLVASS TOVÁBB:  Python fejlesztő: mi a teendő, ha megtanultad az alapokat

    DDL

    A DDL (Data Definition Language) egy olyan nyelv, amely operátorokat tartalmaz az adatszerkezettel való munkához. DDL utasításokra van szükség ezen képességek megvalósításához:

    • Adatbázis objektumok (táblák, sémák) létrehozása. Operátor: TEREMTENI.
    • Adatbázis-objektumok eltávolítása. Operátor: DROP.
    • Adatbázis objektumok módosítása. Operátor: ALTER.

    A DDL-t akkor használják, ha az adatok tárolásához struktúrát kell létrehoznia. Magáért az adatokért nem felelős – csak azért, hogy ezeket táblákra és diagramokra osztják fel.

    DML

    A DML (Data Manipulation Language) az adatok hozzáadásához, törléséhez, módosításához és az adatbázisból történő lekéréséhez szükséges nyelv. Más szavakkal, az adatok manipulálására. Menjünk át az operátorokon:

    1. A SELECT utasítás lehetővé teszi adatok kiválasztását.
    2. INSERT utasítás – adjon hozzá újakat.
    3. UPDATE utasítás – módosítsa a meglévőket.
    4. DELETE utasítás – törlés.

    DCL

    A DCL (Data Control Language) az adatokhoz való hozzáférés biztosításához szükséges operátorok összessége. Az adatok mellett az adatbázis olyan entitásokat is tartalmaz, mint a felhasználók. Elengedhetetlen, hogy korlátozni lehessen a felhasználók hozzáférését az adatokhoz. Például nem akarjuk, hogy a projektmenedzser képes legyen szerkeszteni az adatokat vagy azok szerkezetét. Ennek három operátorcsoport van.

    • GRANT – operátor, amely egy felhasználónak vagy csoportnak minden engedélyt megad;
    • REVOKE – operátor az engedélyek visszavonására;
    • DENY – tiltást határoz meg. A DENY utasítás magasabb prioritást élvez, mint a GRANT utasítás által adott engedély.

    TCL

    Van olyan dolog, mint tranzakciók. Ez egy parancskészlet (lehet, hogy csak egy van), amely sikeresen teljesül, ha az összes parancsot megfelelően hajtják végre. Ha egy tranzakcióból egy parancsot sikertelenül hajtanak végre, az teljesen visszagördül (a korábbi parancsok végrehajtásának eredményei törlődnek), megvalósítva az atomicitás elvét. Általában a DML parancsok szerepelnek a tranzakcióban.

    A tranzakciók kezeléséhez TCL (Transaction Control Language) van. Az üzemeltetők a következők:

    • TRANZAKCIÓ KEZDETE – szükséges a tranzakció kezdetének megjelölésére;
    • COMMIT TRANSACTION – parancsváltozásokat alkalmaz egy tranzakción belül;
    • ROLLBACK TRANSACTION – visszaveti a tranzakciót;
    • TRANZAKCIÓ MENTÉSE – Közbeiktatott mentési pontot jelöl egy tranzakción belül.

    A TCL csak azokban az adatbázisokban érhető el, amelyek támogatják a tranzakciókat. Itt az ideje, hogy az adatbázisok típusairól beszéljünk.

    A DBMS típusai

    Ismerkedjünk meg egy új koncepcióval – egy DBMS-sel, egy adatbázis-kezelő rendszerrel.

    Szergej Kuznyecov “Adatbázis alapjai” című könyvében a DBMS-t olyan programkészletként írta le, amely lehetővé teszi adatbázis (DB) létrehozását és az adatok manipulálását (beszúrás, frissítés, törlés és kijelölés). A rendszer biztosítja a biztonságot, a tárolás megbízhatóságát és az adatok integritását, valamint eszközöket kínál az adatbázis-adminisztrációhoz.

    OLVASS TOVÁBB:  A számítógépes látás a GeekBrains új kara

    Kiderült, hogy a DBMS SQL és egy sor szoftver. Nagyon gyakran összekeverik az adatbázisokat az adatbázis-kezelő rendszerrel. Ez normális: a fogalmak elválaszthatatlanok, maga az adatbázis is, amely nincs vezérlő rendszer nélkül, nem sokban különbözik a vonalakkal ellátott szöveges fájltól. Fontos nemcsak az adatok tárolása, hanem kezelése is. A DBMS-t bárhol használják, ahol strukturált módon kell tárolni az adatokat – egy egyszerű blogtól kezdve a Data Science projektekig.

    Sok a népszerű DBMS, nézzünk meg néhányat közülük.

    MySQL

    A MySQL egy ingyenes relációs adatbázis-kezelő rendszer. Könnyű pótlékként fejlesztették ki egy nehéz DBMS-hez, amelyet alacsony fogyasztású szerverre lehet telepíteni, a képességek súlyos vesztesége nélkül. A MySQL-t olyan óriások működtetik, mint a YouTube, a Facebook, a Twitter, a GitHub.

    A DBMS C és C ++ nyelven íródott. A MySQL sok olyan ágat hozott létre, amelyek mára önálló adatbázisokká váltak, mint például a Percona és a MariaDB.

    Oracle Database

    Az Oracle Database története 1977-ig nyúlik vissza. Ez egy objektum-relációs adatkezelő rendszer. Ez egy meglehetősen nehéz DBMS, amely bármilyen összetettségű rendszereket támogat, például a banki vagy pénzügyi szektorban. Nincs ingyenes engedélye. Eljárási SQL – PL / SQL. DBMS írási nyelvek – Java / C / C ++

    Microsoft SQL Server

    A Microsoft SQL Server egy relációs adatbázis-kezelő rendszer, amelyet a Microsoft fejlesztett ki. Az SQL Server első verziója 1989. április 29-én jelent meg. Az Oracle Database versenytársa. Ingyenes licenc van a fejlesztők számára, de nem használható kereskedelmi célokra. Eljárási SQL – Transact-SQL. A DBMS C / C ++ / C # nyelven íródott.

    PostgreSQL

    A PostgreSQL egy ingyenes objektum-relációs adatbázis-kezelő rendszer. Ez a DBMS 1996. július 8-án jelent meg. A versenytárs MySQL bármilyen összetettségű webfejlesztési projektben, versenyez az Oracle és a Microsoft adatbázisával az ipari fejlesztésben is. Kiváló orosz nyelvű dokumentációval rendelkezik. A MySQL-hez hasonlóan itt is van egy ingyenes fejlesztési licenc, amelyért a MySQL-hez hasonlóan nagyon szeretik. Eljárási SQL – PL / pgSQL. C-ben kifejlesztve.

    OLVASS TOVÁBB:  "A 20. század története inspirált játékteremtésre"

    A fenti DBMS mindegyik a saját SQL kiterjesztésén működik. Mindegyiknek megvan a maga hiánypótló alkalmazása, előnyei és hátrányai.

    Mi lesz találkozás után?

    Ha nem tudja, melyik DBMS-re van szüksége, válassza a MySQL lehetőséget. Hiányoznak belőle olyan kifinomult funkciók, amelyek csak egy kezdő fejlesztőt fognak megzavarni. Egy nagy közösség nem hagyja bajban, és már megoldotta a problémák 95% -át. Az operációs rendszerek különféle grafikus kliensei már korán sokat segítenek. A MySQL lehetővé teszi, hogy tapasztalatokat szerezzen, és megértse, miért rosszabb vagy jobb, mint a többi DBMS. Miután megértette a MySQL működését, könnyen át kell állnia PostgreSQL-re vagy más DBMS-re. Az összes DBMS célja ugyanaz – racionális és megbízható adattárolás, valamint gyors visszakeresés vagy módosítás.

    Miután választott, jó lesz megnézni más fejlesztők gyakorlatait a Technostream Mail.ru Group vagy a HighLoad Channel YouTube csatornáin, elolvasni a csodálatos ruhighload.com portált, ahol az adatbázisokról szóló cikkek mellett a nagy terhelések problémáit is figyelembe veszik. Azok számára, akik szeretnek többet olvasni, a „MySQL maximálisan. 3. kiadás ”, báró Schwartz, Pjotr Zaicev és Vadim Tkacsenko. Természetesen többet megtudhat a GeekBrains oldalon – jöjjön el hozzám vagy kollégáimhoz az Adatbázis alapjai tanfolyamra.

    Friss cikkek

    A YouTube lehetővé tette a bloggereknek, hogy kiválasszák saját URL-jüket

    De évente legfeljebb háromszor változtathatja meg. A Search Engine Land külföldi kollégái az új lehetőségről beszéltek a YouTube-csatorna beállításaiban. Mostantól a videohoszting felajánlja...

    A Yandex egy új blokkot tesztel a keresési eredmények között

    A Google-on "Az emberek is keresnek" analógia alapján készül. Olvasónk, Vitya Smertny megosztotta a pr-cy csapattal egy megfigyelést a Yandex keresési eredményeinek új...

    Fontos a héten: TOP-20 orosz ajkú YouTube blogger

    A levegőben rendszeres Likeney-emésztés folyik a legfontosabb friss és okos tartalommal. Ebben az epizódban a TOP 20 orosz ajkú YouTube bloggert fogjuk megvitatni a...

    Mítoszok a társult programok bevételeiről

    „Próbáltam linkeket beilleszteni, egy hét alatt több tucat konverziót, egyetlen akciót sem! Inkább a YAN-tól teszek fel hirdetéseket, mint korábban. Legalább lesz pénz. "...

    Mesterkurzus: hatékony reklám elindítása a Yandex Advertising Network-ben (YAN)

    Január 21-én tartották a "Master Class: Hatékony reklám elindítása a Yandex Advertising Network (YAN)" című webináriumot. A webes szemináriumot Nikita Kravchenko, a fizetett...

    Kapcsolódó történetek

    HOZZÁSZÓLOK A CIKKHEZ

    Kérjük, írja be véleményét!
    írja be ide nevét

    Maradjon op - Ge a napi híreket a postaládájában