CodeGym /Java tanfolyam /All lectures for HU purposes /Magas szintű adatbázis-ismeret

Magas szintű adatbázis-ismeret

All lectures for HU purposes
Szint , Lecke
Elérhető

1.1 Az előadások felépítésének elve

Te és én alulról kezdtük az adatbázisokkal való ismerkedésünket . Ez az emberek tanításával kapcsolatos személyes megközelítésem jellemzője. Amikor új témákról beszélünk, először mindig elmondom, hogyan használjunk bizonyos eszközöket a gyakorlatban. És már amikor tudom, hogy valaki tudja, hogyan kell használni őket, elkezdem elmondani, hogyan működik minden.

Ennek a megközelítésnek több oka is van, de a legfontosabb az, hogy a tanulási folyamat legértékesebb és leginkább hiányzó erőforrása a tanulói motiváció .

Ez a megközelítés némileg eltér az általunk megszokottól, amelyet iskolákban és egyetemeken alkalmaznak. De minden világos: amikor az iskolában vagy az egyetemen tanulsz, megvannak a megfelelő prioritások: ebben a pillanatban a tanulás a legfontosabb az életben.

Ha felnőtt korában önképzéssel foglalkozik, akkor gyakran már össze kell kapcsolnia a tanulmányait a munkával, a háztartási teendőkkel, a gyermekek vagy idős szülők gondozásával. És itt gyakran nem a tanulás lesz az elsődleges.

Minden a prioritásokról szól. Még egy ilyen koncepció is létezik a startupok világában - Fail Fast, fail as gyorsan lehetséges . Furcsán hangzik, de valójában sok értelme van: egy startup feladata, hogy gyorsan ellenőrizze, helyes-e a hipotézise. És ha ez nem igaz, akkor nem kell éveket rászánni az életéből, jobb minél hamarabb megérteni, hogy egy bizonyos szolgáltatásra, termékre nincs kereslet.

Java és SQL tanítása során ugyanezt a megközelítést alkalmazom: lehetőséget adok arra, hogy a lehető legkorábban megértse, hogy rohan-e a programozástól vagy sem . Ha szereti a programozást, és maga is rájött, hogyan dolgozzon hurkokkal és tömbökkel, akkor mentorok és egy jól megtervezett program segítségével minden esélye megvan a tanulmányok befejezésére és az álláskeresésre.

De egy másik tény sem kevésbé fontos: néhány szabadnap alatt megértheti, hogy a programozás nem neked való. Lehet, hogy nem érdekli, és ez így van rendjén . Tehát nem kell hónapokat az életedből ezzel töltened.

A végzettek mindössze 40%-a dolgozik azon a szakon, amelyet az egyetemen kapott. Gondoljunk csak bele, az emberek 5-6 évig tanultak, és 60%-uk úgy döntött, hogy nem dolgozik a szakterületén. Igen, a megszerzett tudás egy részét még mindig használják, de körülbelül a felét nem.

Ez a Fail Fast koncepció értéke – hogy minél hamarabb megértse, hogy egy bizonyos szakma, egy bizonyos személy vagy egy bizonyos hobbi nem megfelelő az Ön számára. És ne pazarolja rájuk az idejét és energiáját. Hosszú távon ez egy nagyon jó stratégia.

1.2 SQL és minden, minden, minden

Elkészültünk a filozófiai bevezetéssel, térjünk vissza az SQL tanulásához.

Az SQL nyelv és a DBMS kissé különböző dolgok. Maga az SQL nyelv egyfajta szabvány, amely leírja, hogy mi írható SQL lekérdezésekben az adatbázisba. A DBMS már ennek a szabványnak a megvalósítása. Egyes DBMS-ek a szabvány egyes funkcióit valósítják meg, a másodikak másokat és így tovább.

Minél drágább a DBMS, annál több funkciót valósít meg a szabványból. Ezenkívül sok DBMS gyakran saját egyedi jellemzőit valósítja meg az SQL-szabványokon kívül. Ez néha hordozhatósági problémákhoz vezet: előfordulhat, hogy az egyik DBMS-hez írt SQL-lekérdezések nem működnek megfelelően a másikban.

A Java-nak is hasonló a helyzete. Ha egy Java programot Windows alatt írnak, akkor az nem fog normálisan működni Linuxon. A probléma megoldására a Java olyan speciális osztályokat vezet be, amelyek különböző operációs rendszerekhez különböző implementációkkal rendelkeznek. Példa: Path osztály, amely a WindowsPath, LinuxPath stb. implementációit tartalmazza.

A probléma második részét verziókezelés segítségével oldjuk meg. A különböző nyelvekből vagy DBMS-ből származó összes sikeres innováció hozzáadódik az új JDK vagy SQL szabványhoz. Azt már tudod, hogy a JDK-nak különböző verziói vannak, és minél újabb a verzió, annál több funkcióval rendelkezik. Ugyanez van az SQL-el is.

Az SQL nyelvben a szabványának több verziója létezik, amelyek évszám szerint vannak elnevezve:

  • SQL:1999
  • SQL:2003
  • SQL:2006
  • SQL:2011
  • SQL:2016
  • SQL:2019

Jó hír : nem fogjuk tanulmányozni ezeket a szabványokat. Először is évekbe fog telni mindezek tanulmányozása és elsajátítása. Másodszor, ezek a szabványok olyanok, mint az Android verziói: mindössze 5-10 évvel a megjelenés után a szabvány tömegesen elterjed.

A nagy mennyiségű adatot tartalmazó adatbázisokban az embereknek megbízhatóságra és stabilitásra van szükségük. „Működik, ne nyúlj hozzá” – ez a mottója mindenkinek, aki adatbázisokkal dolgozik. És az adatbázisok új verziójára való áttérés 5 évente történik, amikor egy ilyen megoldás minden előnye már nyilvánvaló.

1.3 A konzolokon túl

Ahogy fentebb mondtam, évekbe telik, hogy adatbázis-szakemberré váljunk. Egy szakember sok mindent tud, amit nem fogunk tanulmányozni. De beszélek egy kicsit arról, hogy mi van még az adatbázisokban.

Szinte minden modern adatbázis támogatja:

1 eljárási nyelv (PL)

Az RDBMS támogatja az SQL Serveren futó eljárások és függvények írásának lehetőségét, és sok mindent el tudnak végezni az adatokkal a lekérdezések során. Például egyszer PL SQL lekérdezéseket írtam az Oracle szerverre, amely válaszul a lekérdezésre ... egy HTML oldalt generált adatokkal. Igen tudsz.

2 esemény (triggerek)

Minden modern DBMS támogatja az események mechanizmusát, amelyeket az SQL nyelvben triggereknek neveznek. A trigger valamilyen műveletre adott válaszként jelentkezik. Például leállíthatja az adatbázisba való írási kísérleteket, és hozzáadhatja a változás pontos idejét az új sorokhoz.

3 Naplózás

A modern adatbázisok igyekeznek szupergyorsak lenni, ezért gyakran minden változtatás (új sorok, törölt sorok, módosított sorok) először egy speciális fájlba, úgynevezett naplóba kerül. És csak egy idő után az SQL szerver egyesíti ezeket a rekordokat a fő adatbázissal.

Ez bizonyos szempontból hasonló a Java szemétgyűjtőjének viselkedéséhez: először egyszerűen töröltként jelöli meg az objektumokat, tétlen időkben pedig memóriatisztítást és optimalizálást hajt végre.

4 plugin

A DBMS-hez, valamint számos programhoz saját beépülő modulokat írhat. Az ilyen beépülő modulok lehetővé teszik egyedi adattípusok, a velük való munkavégzésre szolgáló funkciók hozzáadását, vagy a DBMS szabványos viselkedésének megváltoztatását. Ez különösen akkor hasznos, ha nyílt forráskódú adatbázissal dolgozik, és vannak hibák.

5 Megosztott munka (klaszterek)

A modern SQL-kiszolgálók tipikus forgatókönyve több kiszolgálóból álló fürt. A legegyszerűbb lehetőség, ha az adatokat egy szerverre írjuk, és egy szervercsoportról olvassuk be. Ebben az esetben különféle forgatókönyveket konfigurálhat az SQL-kiszolgálók közötti adatbázis-szinkronizáláshoz.

6 Felosztás

Ha sok az adat, akkor azokat különböző adatbázisokra osztják fel. Akár odáig, hogy egy-egy tábla részenként tárolható különböző adatbázisokban.

A felosztás lehet függőleges és vízszintes. A függőleges szilánkolás azt jelenti, hogy az asztalt függőleges vonalakkal vágják, míg a vízszintes szilánkolást vízszintesekre vágják.

Például úgy döntöttünk, hogy a táblázatban szereplő összes adatot évekre osztjuk: 2019-re - egy táblázat, 2020-ra - a második és így tovább. Ez vízszintes felosztás lesz.

7 tolja a nem lökést

Az adatbázisok fejlesztésének egy bizonyos szakaszában egyre több üzleti logika került beléjük. Az egész eljárásokkal, funkciókkal, weblapok szerverek általi generálásával kezdődött, és azzal végződött, hogy a DBMS-hez szinte minden népszerű nyelvet támogattak: Python, JavaScript, sőt Java és C ++ is.

Jól hangzik, amíg nem kezd bele a részletekbe: valóban Java nyelven szeretné megírni webalkalmazásának üzleti logikáját, amely egy SQL szerveren belül fog futni, ahol nincs JDK, java könyvtárak, keretrendszerek, kevés memória és sok egyéb korlátozások?

Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION