Adatbázisok és táblázatok létrehozása SQL-ben

Az adatbázis létrehozása

Készen áll arra, hogy létrehozzon adatbázisokat és táblákat a strukturált lekérdezési nyelvvel ? Ebben a cikkben a CREATE DATABASE és a CREATE TABLE parancsok kézzel történő létrehozásával foglalkozunk . Ha új az SQL-ben, először érdemes átnéznie az SQL alapok cikkét.

Üzleti követelmények

Mielőtt leülünk a billentyűzeten, biztosítanunk kell, hogy megértsük az ügyfél igényeit. Mi a legjobb módja ennek a betekintésnek? Beszélgetés az ügyféllel, persze! Miután leült az XYZ Humánerőforrás-igazgatójával, megtudtuk, hogy ezek egy widget-értékesítési vállalat, és elsősorban érdeklődnek az értékesítési személyzetükre vonatkozó információk követésében.

Az XYZ Corporation értékesítőerejét keleti és nyugati régiókra osztja, amelyek mindegyike több, az egyes értékesítési képviselők által lefedett területre oszlik. A HR részleg szeretné nyomon követni az egyes alkalmazottak által lefedett területet, valamint az egyes alkalmazottak fizetési információit és felügyeleti struktúráját. Ezeknek a követelményeknek való megfelelés érdekében három táblázatot tartalmazó adatbázisot tervezünk, amely ezen az oldalon az Entity-Relationship diagramban látható .

Adatbázis-platform kiválasztása

Úgy döntöttünk, hogy olyan strukturált lekérdezési nyelvre (SQL) épülő adatbázis-kezelő rendszert (vagy DBMS-t) használunk. Ezért minden adatbázist és táblázat-létrehozási parancsot meg kell adni a szabványos ANSI SQL-szel.

További előnyként az ANSI-kompatibilis SQL használatával biztosítható, hogy ezek a parancsok minden olyan DBMS-re működjenek, amely támogatja az SQL szabványt , beleértve az Oracle és a Microsoft SQL Server rendszert is. Ha még nem választott ki platformot az adatbázis számára, az Adatbázis szoftver opciók című cikk a kiválasztási folyamaton keresztül halad.

Az adatbázis létrehozása

Első lépésünk az adatbázis létrehozása. Számos adatbázis-kezelő rendszer számos lehetőséget kínál az adatbázis paramétereinek testreszabására ebben a lépésben, de adatbázisunk csak az adatbázis egyszerű létrehozását teszi lehetővé. Mint minden parancsunkhoz, kérjük, tanulmányozza a DBMS dokumentációját annak megállapításához, hogy az Ön speciális rendszere által támogatott speciális paraméterek megfelelnek-e az Ön igényeinek. Használjuk a CREATE DATABASE parancsot adatbázisunk beállításához:

CREATE DATABASE személyzet

Különös figyelmet kell fordítani a fenti példában használt tőkésítésre. Általános gyakorlat az SQL programozók között, hogy minden nagybetűs betűt használjon az SQL kulcsszavakhoz, mint például a "CREATE" és a "DATABASE", miközben minden kisbetűs betűt használ a felhasználó által megadott nevekhez, például a "személyi" adatbázisnévhez. Ezek az egyezmények biztosítják az egyszerű olvashatóságot.

Folytassa ezt az oktatóanyagot, amikor adatbázisokat hoztunk létre.

Többet megtudni

Ha szeretne többet megtudni a strukturált lekérdezési nyelvről , olvassa el a Bevezetés az SQL-be, vagy iratkozzon fel az ingyenes Learning SQL e-mail tanfolyamra.

Most, hogy terveztük és létrehoztuk adatbázisunkat, készen állunk az XYZ Corporation személyi adatainak tárolására használt három táblázat létrehozására. Végrehajtjuk azokat a táblázatokat, amelyeket a bemutató előző részében terveztek.

Első Táblázatunk létrehozása

Az első táblázat az egyes alkalmazottak személyes adatait tartalmazza. Minden alkalmazott nevét, fizetését, azonosítóját és vezetőjét fel kell tüntetni. Jó tervezési gyakorlat az utolsó és az elnevezések elkülönítése külön mezőkbe, hogy egyszerűsítse az adatkeresést és a válogatást a jövőben. Továbbá nyomon követjük az egyes alkalmazottak munkatársait azáltal, hogy minden munkavállalói rekordba beillesztjük a vezető alkalmazotti azonosítóját. Nézzük először a kívánt munkavállalói táblát.

A ReportsTo attribútum minden alkalmazottnak tárolja a kezelői azonosítót. A bemutatott példányokból megállapíthatjuk, hogy Sue Scampi mind Tom Kendall, mind John Smith vezetője. Az Sue menedzserén azonban nincs információ az adatbázisban, amint azt a sorban lévő NULL bejegyzés is jelzi.

Az SQL segítségével létrehozhatjuk a táblázatot a személyzeti adatbázisunkban. Mielőtt ezt megtennénk, győződjön meg róla, hogy a megfelelő adatbázisban egy USE parancs kiadásával állunk rendelkezésünkre:

USE személyzet;

Alternatív megoldásként a "DATABASE személyzet"; parancs végrehajtja ugyanazt a funkciót. Most megnézhetjük az alkalmazottak táblázatának létrehozásához használt SQL parancsot:

CREATE TABLE alkalmazottak (employeeid INTEGER NOT NULL, utónév VARCHAR (25) NOT NULL, első név VARCHAR (25) NOT NULL, reportsto INTEGER NULL);

A fenti példához hasonlóan vegye figyelembe, hogy a programozási egyezmény előírja, hogy az SQL kulcsszavakhoz használt nagybetűket és a kis névvel rendelkező oszlopokat és táblázatokat használjuk. A fenti parancs elsősorban zavarosnak tűnhet, de valójában egy egyszerű struktúra van mögötte. Itt van egy általánosított nézet, amely tisztázhatja a dolgokat:

CREATE TABLE táblázat_neve (attribútum_neve adatkészlet-beállítások, ..., attribútum_neve adatkészlet-beállítások);

Attribútumok és adattípusok

Az előző példában az asztal neve az alkalmazottak, és négy attribútumot tartalmazunk: employeeid, lastname, firstname és reportsto. Az adattípus jelzi az egyes mezőkben tárolni kívánt információk típusát. A munkavállalói azonosító egy egyszerű egész szám, így az INTEGER adatstípust az employeeid mezőre és a reportsto mezőre is használjuk. A munkavállalók nevei változó hosszúságú karakterkészletek lesznek, és nem számítunk arra, hogy a munkavállalónak az első vagy a vezetéknév több mint 25 karaktert tartalmazna. Ezért ezekre a mezőkre a VARCHAR (25) típust használjuk.

NULL értékek

Azt is megadhatjuk, hogy NULL vagy NOT NULL a CREATE utasítás opciók mezőjében. Ez egyszerűen megmondja az adatbázisnak, hogy NULL (vagy üres) értékek engedélyezettek-e ehhez az attribútumhoz, amikor sorokat adnak az adatbázisba. Példánkban a HR-részleg megköveteli, hogy minden munkavállalóra tárolják a munkavállalói azonosítót és a teljes nevet. Azonban nem minden alkalmazottnak van menedzsere - a vezérigazgató nem jelent semmit! - így engedélyezzük a NULL-bejegyzéseket ezen a területen. Ne feledje, hogy a NULL az alapértelmezett érték, és ennek az opciónak a kihagyása implicit módon lehetővé teszi egy attribútum NULL értékét.

A fennmaradó táblák kiépítése

Vessünk egy pillantást a területek táblájára. Az adatok gyors áttekintéséből kiderül, hogy egész számot és két változó hosszúságú karakterláncot kell tárolnunk. A korábbi példánkhoz hasonlóan nem várjuk, hogy a régiók azonosítója több mint 25 karaktert használjon. Azonban néhány területünknek hosszabb neve van, ezért kibővítjük az attribútum megengedett hosszát 40 karakterre. Nézzük meg a megfelelő SQL-t:

CREATE TABLE területek (territoryid INTEGER NOT NULL, terület Leírás VARCHAR (40) NOT NULL, regionid VARCHAR (25) NOT NULL);

Végül a EmployeeTerritories táblát használjuk az alkalmazottak és a területek közötti kapcsolatok tárolására. Az egyes alkalmazottakra és területekre vonatkozó részletes információkat az előző két táblában tároljuk. Ezért csak a két egész azonosító számot kell tárolnunk ebben a táblázatban. Ha ki kell bővítenünk ezt az információt, használhatunk JOIN-ot az adatkiválasztási parancsainkban, hogy több táblából információkat kaphassunk. Ez az adatmegőrzési módszer csökkenti a redundanciát az adatbázisunkban, és optimális helyet biztosít a tárolóeszközökön. A JOIN parancsot alaposan áttekintjük egy későbbi bemutatóban. Itt van az SQL kód a döntő asztal végrehajtásához:

CREATE TABLE munkáltatói létszám (employeeid INTEGER NOT NULL, territoriális INTEGER NOT NULL);

A Mechanizmus SQL biztosítja az adatbázis szerkezetét a létrehozás után

Ha ma különösen okos vagy, akkor észrevette, hogy adatbázis-tábláink végrehajtásakor "véletlenül" elhagyta az egyik tervezési követelményt. Az XYZ Corporation HR igazgatója azt kérte, hogy az adatbázis nyomon kövesse az alkalmazottak fizetési adatait, és elhanyagoltuk, hogy biztosítsuk ezt az általunk létrehozott adatbázis táblázatokban .

Mindazonáltal nem minden elveszett. Az ALTER TABLE parancs segítségével hozzáadhatjuk ezt a tulajdonságot a meglévő adatbázisunkhoz. A fizetést egész értékként szeretnénk tárolni. A szintaxis nagyon hasonlít a CREATE TABLE parancshoz, itt van:

Az ALTER TABLE alkalmazottai növelik az INTEGER NULL fizetést;

Vegyük észre, hogy meghatároztuk, hogy NULL értékek engedélyezettek ehhez az attribútumhoz. A legtöbb esetben nincs lehetőség, ha egy oszlopot hozzáad egy meglévő táblához. Ez annak köszönhető, hogy a táblázatban már vannak olyan sorok, amelyeknek nincs bejegyzésük ehhez az attribútumhoz. Ezért a DBMS automatikusan beír egy NULL értéket az ürítés kitöltéséhez.

És ez lezárja az SQL adatbázis és a táblázat létrehozásának folyamatát. Gyakran ellenőrizzük az SQL oktatói sorozatok új részleteit . Ha szeretnél egy e-mail emlékeztetőt, amikor új cikkeket adunk hozzá a Névjegyek webhelyhez, győződjön meg róla, hogy feliratkozik hírlevelünkre!