Az SQL a strukturált lekérdezési nyelv. Kifejezetten a relációs adatbázisokban tárolt adatok kezelésére és elérésére hozták létre. Az SQL első kereskedelmi vállalkozása az Oracle volt, amelynek SQL * Plus lekérdezési nyelve továbbra is az összes relációs adatbázis-kezelő rendszer (RDMS) alapja..
Ma a MySQL, SQL Server, SAP és Sybase mind az SQL-t használja az adatbázis-hozzáféréshez. Ebben az útmutatóban megadjuk az SQL parancsok standard verzióját, különös figyelmet fordítva az SQL * Plus Oracle megvalósítására.
A SZERKESZTŐ VÁLASZTÁSA: Javasoljuk a SolarWinds infrastruktúra-kezelő eszközöket, hogy figyeljék az összes Microsoft-eszközt, beleértve az SQL Server-et is. Szüksége van megfigyelő segédprogramok készletére, amelyek kölcsönhatásba léphetnek annak érdekében, hogy lefedjék az összes olyan szolgáltatást, amely támogatja a relációs adatbázist.
Relációs adatbázisok
Az SQL kezeli relációs adatbázisok. A relációs adatbázis táblákat tartalmaz, amelyeket elválasztottak az adatok ismétlésének csökkentése érdekében. Az adatkategóriák megfelelő csoportosításáról szóló döntés folyamatát „normalizálás.„Egyes esetekben a teljesítményigény azt sugallhatja, hogy a táblák jobban működnek, ha nem teljesen normalizálják. Ezt a folyamatot „denormalizációnak” hívják, és ez ritka előfordulás.
Minden táblázatnak oszlopra van szüksége, amely egyedileg azonosítja az egyes sorokat. Ezt nevezzük „elsődleges kulcs.A többi táblához, amely csatlakozhat az entitáshoz, minden rekordban hivatkozást kell tartalmaznia az elsődleges kulcsra. Ezt a hivatkozást „idegen kulcs.” Te csatlakozik táblázatokat összeállítva, ha az idegen kulcsot egy táblában az elsődleges kulccsal illeszti egy másikban. Ezt a műveletet az SQL segítségével hajtják végre. Az Entitás-kapcsolati diagram hasznos referencia az SQL utasítás strukturálásának eldöntésekor.
A hozzáférés felgyorsítása érdekében normális a index az adatbázis minden elsődleges kulcsán. Lehetőség van a gyakran használt illesztések tárolására is virtuális táblák létrehozására, amelyeket „nézetek.”
Még egy adatbázis-objektum a ravasz. Ez egy SQL elem, amely akkor indul el, amikor egy értéket hozzáadnak egy oszlophoz vagy megváltoztatják. A ravaszt frissíti az értékek egy másik táblázat oszlopában vagy ugyanazon táblázat többi oszlopában. Ez akkor fordul elő, ha egy értéket hozzáadunk vagy megváltoztatunk az oszlopban, amelyen a ravaszt elhelyezzük. Ez korlátozhatja az oszlopba bevihető értékeket is.
DQL, DDL, DCL és DML
Az SQL négy parancs-alkészletet tartalmaz. Ezek Az adatkérdezés nyelve (DQL), Adatleírás nyelve (DDL), Adatkezelő nyelv (DCL) és Adatmanipulációs nyelv (DML).
A legtöbb projektnél a Adatbázis adminisztrátor (DBA) az egyetlen olyan csapattag, aki felhasználási jogosultsággal rendelkezik DDL. Ez a parancscsoport táblákat, indexeket, triggereket és nézeteket hoz létre, módosít és dob.
DML a rekordok hozzáadására, megváltoztatására vagy eltávolítására szolgál az adatbázis tábláiból. Az SQL funkciókhoz való hozzáférés általában a felhasználói közösség támogató személyzetére vagy vezető, felelős tagjaira korlátozódik.
DQL a jelentések létrehozására szolgál az adatbázisból. Ezt a parancs-részhalmazt a programozók használják, és a végfelhasználók számára is elérhetővé tehetik, hogy saját lekérdezéseiket végrehajthassák.
A felhasználói jogosultságok kezelését ugyanabban az adatbázisban tárolják, mint az adatokat. E táblákhoz való hozzáférés azonban általában a DBA-ra korlátozódik. A felhasználói hozzáférés kezelése mindezen keresztül történik DCL.
Van egy hasznos SQL parancs, amely nem tartozik a DQL, DDL, DCL vagy DML osztályozásba. Ez “leírniAmelyet általában úgy valósítanak meg, mint DESC. Ez egy objektum felépítését mutatja az adatbázisban. Táblázat esetén megjelenik az oszlopok listája, valamint az adattípus és az egyes méretek. Megmutatja az SQL-t, amely létrehozott egy nézetet vagy triggert, és megmutatja az adott indexben szereplő oszlopokat.
Relációs operátorok
A relációs adatbázisok mögött meghúzódó elméletet a E. F. Codd A Codd meghatározásán belül lekérdező eszköz követelménye felel meg, amelynek nyolc alapvető relációs műveletet kell végrehajtania. Ezek:
- SELECT
- PROJEKT
- CSATLAKOZIK
- TERMÉK
- UNIÓ
- átvág
- KÜLÖNBSÉG
- FELOSZT
A relációs adatbázisból származó adatokhoz való hatékony hozzáféréshez el kell végeznie ezeket a műveleteket. Ezeket az alábbiakban magyarázzuk.
SELECT
A SELECT eredetileg hívták KORLÁTOZ. Ez az a képesség, hogy az adatbázisból egy rekordot vagy egyező rekordok egy csoportját kinyerjük. Amellett, hogy elméleti művelet, SELECT a főparancs neve az SQL implementációkban. Valójában az összes adatkeresést a KIVÁLASZTÁS valósítja meg. A parancs annyira erős, hogy sok-sokféle módon módosítható. A legtöbb SQL, amelyet meg kell tanulnod, a SELECT utasítás „záradéka”.
PROJEKT
A PROJEKT egy oszlop (vagy “attribútum”) elkülönítésének képessége a táblázatban. Ezt mindig a SELECT utasítás valósítja meg.
CSATLAKOZIK
A JOIN összekapcsolja a táblákat egy közös attribútummal. Az idegen kulcsot használja az egyik táblázatban, hogy megfeleljen egy másik táblázat elsődleges kulcsának értékéhez. A törvény két táblát átmenetileg egységesít. Ezt záradékként valósítják meg a SELECT utasításban. A két tábla közötti összekapcsolás automatikusan kihagy minden olyan rekordot, amely nem szerepel mindkét támogató táblában. Egy „külső csatlakozás”Olyan rekordokat jelenít meg, amelyeknek nincs egyezésük a másik táblázatban, és a mezőket, amelyeket a másik táblázatnak kellett volna szolgáltatnia, üresen hagyja.
TERMÉK
A TERMÉKET más néven „alkalommal.”Ezt SELECT utasításként valósítják meg, amely két táblából nyer adatokat, de nem határozza meg a közöttük lévő összekapcsolást. A való életben nagyon kevés gyakorlati oka van annak, hogy valaki soha egyszer fellépne két asztalon. Ez általában figyelmeztető jel, hogy rosszul írtál egy JOIN-záradékot. A TERMÉK eredménye az, hogy az egyik táblában minden selejtező rekord megegyezik a másik táblázat minden kvalifikációs rekordjával. Tehát, ha két táblából készít SELECT utasítást, amelyek mindegyikében tíz rekord van, az eredmények összesen 100 rekordot fognak eredményezni.
UNIÓ
Az UNION a halmazelmélet közös operátora. Ha két halmazod van, akkor az unió egyesíti mindkét halmaz összes tagját. A másolatot eltávolítják az eredményekből. Az SQL-ben ezt a VAGY Logikai operátor.
átvág
Az INTERSECT a halmazelmélet másik fő operátora. Ha két halmazod van, az metszéspont azokat a tárgyakat írja le, amelyek mindkét halmaz tagjai. Bármely tárgy, amely csak a két halmaz egyikének tagja, kizárásra kerül az eredményekből. Az SQL-ben ezt a ÉS Logikai operátor.
KÜLÖNBSÉG
A DIFFERENCIA „mínusz”, És a jelölésben a mínuszjel („ – ”) jelöli. A DIFERENCIA megvalósításához többféle mód van. Ez létrehozható egy logikai érték beillesztésével NEM a kiválasztási kritériumokban, és a következővel is megvalósítható: MÍNUSZ operátor, majd egy alkérdés.
FELOSZT
A DIVIDE egy szokatlan művelet, amelyhez hasonlóan a PRODUCT-hoz is nagyon kevés gyakorlati alkalmazás van. Codd a DIVIDE-t bármilyen relációs rendszer és a lekérdező eszköz savtesztének tekintette, így minden SQL-megvalósítás magában foglalja ezt a képességet, csak azért, hogy „relációs” címet kapjon. Valójában soha nem fogja használni. A DIVIDE megvalósításához sorozat subquery-t kell bevinni a MÍNUSZ az Oracle SQL * Plus és az an KIVÉVE operátor más SQL implementációkban, például az SQL Server és a PostgreSQL.
Boolean operátorok
George Boole egy brit matematikus, aki 1864-ben halt meg. Úgy találta ki a logikai algebrát, amelynek gyakorlati alkalmazása nem volt lehetséges, amíg az informatika és a relációs adatbázisok területei meg nem jelentek a 20. század végén. A logikai algebra az SQL műveleteinek központi eleme – a legalapvetőbb SQL lekérdezést csak logikai logika használata nélkül tudta írni. A logikai logika alapja az összes keresőmotor. Az SQL kulcsfontosságú logikai operátorai:
- ÉS
- VAGY
- NEM
Egy másik furcsa viktoriánus Brit, amelyről tudnod kell, az Augustus de Morgan. Megfigyelést tett a logikai halmazelmélet átalakulásáról, amelyet minden SQL programozónak tudnia kell. Ez azt jelenti, hogy a NOT megváltoztathatja az AND és a OR működését. A rövid változat az, hogy óvatosnak kell lennie a zárójelek használatával a nyilatkozatokban a nem kívánt következmények elkerülése érdekében. Tehát az „és” és „vagy” is fontos logikai operátoroknak kell tekinteni az SQL-ben.
ÉS
ÉS végrehajtja a átvág a meghatározott elméletben. Ha olyan adatbázist szeretne kihozni egy adatbázisból, amely csak két követelménynek felel meg, és nem csak az összetett kritériumok egyikének, akkor AND-t kell használnia. Például futtathat egy vetőmag-vállalkozást, és az adatbázis egy táblázatot tartalmaz, amely az összes vetőmagot tárolja az attribútumokkal. Az ügyfél felhív és csak sárga begóniát akar. Tehát keresne az adatbázisában faj = „begónia” ÉS szín = „sárga” a megfelelő magkatalógus megszerzéséhez.
VAGY
VAGY megadja neked a két halmaz összes tagját – ez az UNIÓ a halmazelméletben. Tehát a mag adatbázisában, ha lekérdezést futtatott: faj = „begónia” VAGY szín = „sárga”, olyan eredményeket kap, amelyek tartalmazzák a sárga rózsa, a sárga begónia, a rózsaszín begónia és a sárga nárcisz. Ebben a példában a sárga begónia kétszer minősül. A relációs elméletben csak egy rekordot kell visszaadni. Szerencsére az SQL magában foglalja a minősítőt KÜLÖNBÖZŐ, tehát belépve KIVÁLASZTÁS DISTINCT * Virágoktól, ahol faj = „begónia” VAGY szín = „sárga”, ez a sárga begónia rekord csak egyszer jelenik meg.
NEM
NEM könnyű megérteni. Nem zárja ki azokat az eredményeket, amelyeket az alábbi állítás eredményezne: ÉS NEM, VAGY NEM. A gyakorlatban szinte soha nem fogja használni a „VAGY NEM” kérdést. Ha a vetőmag vevője bármi más színű begóniát szeretne, kivéve a sárga színűt, akkor Ön ezt használja faj = „begónia” ÉS NEM szín = „sárga” kiválasztani a kínált termékeket.
Konzolok
De Morgan törvénye szerint:
„A diszjunció tagadása a negatívumok összekapcsolása; és a konjunkció tagadása a negatívumok diszjunktusa ”.
A sima angol nyelvben használjon óvatosan zárójeleket az SQL-utasításban, amikor a NEM-et is tartalmazza, hogy megakadályozza az AND-k átalakulását legkülső régiókká és fordítva. A sorozatkezelési feltételek együtt csökkenthetik a kiválasztási kritériumokat is. Például, NEM (faj = „begónia” ÉS szín = „sárga”) ugyanaz mint NEM faj = “begónia” VAGY NEM szín = “sárga”.
Nyilvántartások kibontása
A különböző SQL implementációk eltérő szintaxist használnak, de ebben az útmutatóban az Oracle SQL * Plus-ját fogjuk követni. Az SQL adatkiválasztás alapvető felépítése:
SELECT
TÓL TŐL
CL vagy DML parancsok közé, de fontos szerepet játszik az adatbázis-kezelésben. Ez a COMMIT parancs, amely lehetővé teszi az adatbázisban végrehajtott változtatások véglegesítését. Az SQL * Plus Oracle megvalósítása további lehetőségeket kínál az adatbázis-kezelésre, és a SolarWinds infrastruktúra-kezelő eszközei segítségével könnyen figyelhetők az összes Microsoft-eszköz, beleértve az SQL Server-et is. Az SQL parancsok standard verziójának ismerete és a relációs adatbázisok kezelésének alapelveinek megértése kulcsfontosságú az adatbázis-kezelés hatékony és eredményes végrehajtásához.