Tudjon meg többet a DDL, DML és JOIN kapcsolatokról
A strukturált lekérdezési nyelv a modern adatbázis-architektúra egyik alapvető építőeleme. Az SQL meghatározza a relációs adatbázisok létrehozására és manipulálására használt módszereket minden nagyobb platformon. Első pillantásra a nyelv félelmetes és összetettnek tűnhet, de ez nem minden nehéz.
Az SQL alapjainak bevezetése rövid áttekintést nyújt az adatbázisok létrehozásához és módosításához használt fő parancsok közül.
Az SQL-ről
Az SQL helyes kiejtése az adatbázis közösségében vitatható kérdés. SQL szabványában az American National Standards Institute kijelentette, hogy a hivatalos kiejtés "es queue el." Azonban sok adatbázis szakember vett a slang kiejtés "folytatás". A választás a tiéd.
Az SQL számos ízben jön létre. Az Oracle adatbázisok saját tulajdonú PL / SQL-jét használják. A Microsoft SQL Server a Transact-SQL programot használja. Mindegyik változat az iparági szabvány ANSI SQL alapján készült. Ez a bevezetés ANSI-kompatibilis SQL parancsokat használ, amelyek bármely modern relációs adatbázis rendszeren dolgoznak.
DDL és DML
Az SQL parancsok két fő al-nyelvre oszthatók. Az Adatmeghatározási Nyelv (DDL) tartalmazza az adatbázisok és adatbázis objektumok létrehozására és megsemmisítésére szolgáló parancsokat. Miután az adatbázis struktúráját DDL-sel definiálták, az adatbázis adminisztrátorok és a felhasználók használhatják az adatkezelési nyelvet (DML) a benne lévő adatok beillesztésére, lekérésére és módosítására.
Adatmeghatározás Nyelvi parancsok
Az Adatmeghatározási Nyelv adatbázisok és adatbázis objektumok létrehozására és megsemmisítésére szolgál. Ezeket a parancsokat elsősorban adatbázis-adminisztrátorok használják az adatbázisprojekt telepítési és eltávolítási fázisai során. Íme a négy alapvető DDL parancs struktúrája és használata:
TEREMT. Adatbázis-kezelő rendszer telepítése számítógépen lehetővé teszi számos független adatbázis létrehozását és kezelését. Például érdemes megőriznie az ügyfélszolgálatok adatbázisát az értékesítési részlegénél és a személyzeti adatbázisban a HR részlegénél. A CREATE parancs segítségével minden egyes adatbázis megtalálható a platformon. Például a parancs:
létrehoz egy üres, "alkalmazottak" nevű adatbázist a DBMS-ben. Az adatbázis létrehozása után a következő lépés az adatot tartalmazó táblák létrehozása. A CREATE parancs egy másik változata használható erre a célra. A parancs:
CREATE TABLE personal_info (first_name char (20) nem nulla, last_name char (20) nem nulla, employee_id int nem null)létrehoz egy "personal_info" nevű táblát a jelenlegi adatbázisban. A példában a táblázat három attribútumot tartalmaz: first_name, last_name és employee_id valamint néhány további információ.
HASZNÁLAT. Az USE parancs lehetővé teszi, hogy megadja a DBMS-ben lévő adatbázist. Például ha jelenleg az értékesítési adatbázisban dolgozik, és olyan parancsokat szeretne kiadni, amelyek hatással lesznek a munkavállalói adatbázisra, akkor az alábbi SQL paranccsal előterjesztheti őket:
FELHASZNÁLÓI alkalmazottakFontos, hogy mindig tudatában legyen az adatbázisnak, amelyen dolgozik, mielőtt kiadná az SQL-parancsokat, amelyek manipulálják az adatokat.
VÁLTOZTAT. Miután létrehozott egy táblát egy adatbázisban, érdemes módosítani a meghatározását. Az ALTER parancs lehetővé teszi, hogy változtatásokat hajtson végre a táblázat struktúráján, törlés nélkül és újra létrehozásakor. Vessünk egy pillantást a következő parancsra:
ALTER TABLE personal_info ADD fizetési pénz nullEz a példa új attribútumot ad a személyes_info táblához - egy alkalmazott fizetése. A "pénz" argumentum meghatározza, hogy a munkavállaló fizetését dollár és cent formátumban tárolják. Végül a "null" kulcsszó azt mondja az adatbázisnak, hogy ez a mező nem megfelelő értéket tartalmaz a megadott alkalmazottak számára.
CSEPP. Az Adatmeghatározási Nyelv (DROP) végső parancsja lehetővé teszi számunkra, hogy teljes adatbázis objektumokat távolítsunk el a DBMS-ről. Ha például a létrehozott személyes_info táblát véglegesen el szeretnénk távolítani, a következő parancsot használnánk:
DROP TABLE személyes_infoHasonlóképpen az alábbi parancsot használjuk a teljes alkalmazotti adatbázis eltávolítására:
DROP DATABASE alkalmazottakHasználja ezt a parancsot óvatosan. A DROP parancs eltávolítja a teljes adatstruktúrát az adatbázisból. Ha el szeretné távolítani az egyes rekordokat, használja az Adatkezelési nyelv DELETE parancsát.
Adatkezelési nyelvek parancsai
Az adatkezelési nyelv (DML) az adatbázis-információk lekérésére, beillesztésére és módosítására szolgál. Ezeket a parancsokat az adatbázis minden felhasználó használja az adatbázis rutin mûködése során.
INSERT. Az SQL INSERT parancs segítségével rekordokat adhat hozzá egy meglévő táblához. Visszatérve az előző részhez tartozó personal_info példához, képzeld el, hogy HR részlegünknek új alkalmazást kell felvennie az adatbázisába. Használhat egy ehhez hasonló parancsot:
Ne feledje, hogy a rekordhoz négy érték van megadva. Ezek megfelelnek a táblázatban szereplő attribútumoknak abban a sorrendben, amelyet definiáltak: first_name, last_name, employee_id and salary.
SELECT. A SELECT parancs a leggyakrabban használt parancs az SQL-ben. Lehetővé teszi az adatbázis-felhasználók számára, hogy a működési adatbázishoz kérjenek konkrét információkat. Vegyünk egy pillantást néhány példara, ismét a personal_info táblát a munkavállalói adatbázisból.
Az alább látható parancs a személyes_info táblában található összes információt behívja. Vegye figyelembe, hogy a csillagot az SQL-ben helyettesítő karakterként használják. Ez szó szerint azt jelenti, hogy "Válassz mindent a personal_info táblából".
Alternatív megoldásként a felhasználók korlátozhatják az adatbázisból lekérhető attribútumokat. Például az Emberi Erőforrás részlege megkövetelheti a vállalat összes alkalmazottjának utolsó nevét. A következő SQL parancs csak az adatokat olvashatja ki:
SELECT last_name FROM personal_infoA WHERE záradék segítségével korlátozhatók a felveendő rekordok azokhoz, amelyek megfelelnek a megadott kritériumoknak. A vezérigazgató érdekelheti a magasan fizetett alkalmazottak személyzeti nyilvántartását. A következő parancs a személyes_információban található összes adatot lekérni olyan rekordokhoz, amelyeknek fizetési értéke nagyobb, mint 50 000 USD:
SELECT * FROM personal_info WHERE fizetés> 50000 $UPDATE. Az UPDATE parancs segítségével módosíthatja a táblázatban található információkat, akár tömegesen, akár egyenként. Tegyük fel, hogy a vállalat évente 3 százalékos bérköltségnövekedést ad minden munkavállalónak. A következő SQL parancs segítségével gyorsan alkalmazható az adatbázisban tárolt alkalmazottakra:
UPDATE személyes_info SET fizetés = fizetés * 1.03Amikor az új alkalmazott, Bart Simpson bemutatja teljesítményét a felhatalmazás felett és túl, a menedzsment 5000 dolláros emeléssel szeretné felismerni csillagászati eredményeit. A WHERE klauzulát arra lehetne használni, hogy kiválassza Bartet az emelésre:
UPDATE személyes_info SET fizetés = fizetés + $ 5000 WHERE employee_id = 12345TÖRÖL. Végezetül vessünk egy pillantást a DELETE parancsra. Meg fogja találni, hogy a parancs szintaxisa hasonló a többi DML parancshoz. Sajnos, a legutóbbi vállalati bevételi jelentésünk nem elégedett a várakozásokkal, és a szegény Bartet elbocsátották. A DELETE paranccsal WHERE klauzulával lehet eltávolítani a rekordot a personal_info táblából:
TÖRLÉS A személyes_info-ból WHERE employee_id = 12345csatlakozik
Most, hogy megtanulta az SQL alapjait, itt az ideje, hogy továbblépjen a nyelv egyik leghatékonyabb fogalmára - a JOIN utasításra. A JOIN utasítás lehetővé teszi az adatok több táblázatban való kombinálását a nagy mennyiségű adat hatékony feldolgozásához. Ezek a megállapítások az, ahol az adatbázis valódi ereje lakik.
Egy alapvető JOIN művelet használatának feltérképezésére két táblázatból származó adatok kombinálásához folytassa a PERSONAL_INFO táblázat használatával, és adjon hozzá egy kiegészítő táblát a keverékhez. Tegyük fel, hogy van egy DISCIPLINARY_ACTION nevű táblája, amelyet a következő kijelentéssel hoztak létre:
Ez a táblázat a vállalati alkalmazottak fegyelmi intézkedéseinek eredményeit tartalmazza. Észre fogja venni, hogy nem tartalmaz semmilyen információt a munkavállalóról, kivéve a munkavállalói létszámot. Könnyű elképzelni sok olyan forgatókönyvet, ahol az információkat a DISCIPLINARY_ACTION és a PERSONAL_INFO táblákból kívánja kombinálni.
Tegyük fel, hogy megbízott egy jelentés elkészítésével, amely felsorolja a 40 000 dollárnál nagyobb fizetéssel rendelkező munkavállalókkal szembeni fegyelmi intézkedéseket. A JOIN művelet használata ebben az esetben egyszerű. Ezt az információt a következő paranccsal tudjuk letölteni:
A kód határozza meg a két táblázatot, amelyekhez csatlakozni szeretnénk a FROM-záradékban, majd tartalmaz egy nyilatkozatot a WHERE záradékban, hogy az eredményeket olyan rekordokra korlátozzuk, amelyek azonosító azonosítóval rendelkeznek, és megfelelnek a 40 000 dollárnál magasabb fizetési feltételeknek.