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

click fraud protection

Készen áll az adatbázisok és táblázatok létrehozására a Strukturált lekérdezési nyelv? Ebben a cikkben a CREATE DATABASE és a CREATE TABLE parancsokkal vizsgáljuk meg a táblázatok manuális létrehozásának folyamatát. Ha még nem ismeri az SQL-t, érdemes áttekinteni néhányat SQL alapok első.

Üzleti követelmények

Mielőtt leülnénk a billentyűzethez, meg kell győződnünk arról, hogy alaposan megértsük az ügyfél igényeit. Hogyan lehet a legjobban megszerezni ezt a betekintést? Természetesen beszélni az ügyféllel! Miután leültünk az XYZ emberi erőforrás igazgatójához, megtudtuk, hogy ők egy widget értékesítő cég, és elsősorban az értékesítési személyzetükkel kapcsolatos információk nyomon követése érdekli őket.

Az XYZ Corporation forgalmazói körzetét keleti és nyugati régiókra osztja, amelyek mindegyike számos területre oszlik, amelyekre egyedi értékesítési képviselők vonatkoznak. A HR osztály szeretné nyomon követni az egyes munkavállalók által lefedett területet, valamint az egyes munkavállalók fizetési információit és felügyeleti struktúráját. Ezen követelmények teljesítése érdekében három táblából álló adatbázist terveztünk, amely a

instagram viewer
Entitás-kapcsolat diagram ezen az oldalon.

Adatbázis-platform kiválasztása

Úgy döntöttünk, hogy a adatbázis kezelő rendszer (vagy DBMS), amely a strukturált lekérdezési nyelvre (SQL) épül. Ezért az összes adatbázis és tábla létrehozási parancsunkat az ANSI SQL szem előtt tartásával kell megírni.

További előnyként az ANSI-kompatibilis SQL használata biztosítja, hogy ezek a parancsok minden olyan DBMS-en működjenek, amelyek támogatják az SQL-szabványt, beleértve az Oracle-t és a Microsoft SQL Server-t is. Ha még nem választott platformot az adatbázisához, akkor az Adatbázis-szoftver beállításai végigvezeti Önt a kiválasztási folyamaton.

Az adatbázis létrehozása

Első lépésünk az adatbázis létrehozása. Számos adatbázis-kezelő rendszer kínál számos lehetőséget az adatbázis-paraméterek 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 parancsunk esetében, érdemes elolvasnia a DBMS dokumentációját, hogy megállapítsa, megfelelnek-e az Ön speciális rendszere által támogatott speciális paraméterek az Ön igényeinek. Használjuk a CREATE DATABASE parancsot az adatbázisunk beállításához:

DATABÁZIS személyzetének létrehozása

Külön vegye figyelembe a fenti példában használt nagybetűket. Az SQL programozók körében bevett gyakorlat, hogy minden nagybetűt használnak az SQL kulcsszavakhoz, például a "CREATE" és "DATABASE", miközben az összes kisbetűt használja a felhasználó által definiált nevekhez, például a "personal" adatbázishoz név. Ezek a konvenciók könnyű olvashatóságot biztosítanak.

Most, hogy megterveztük és létrehoztuk az 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.

Első táblázatunk elkészítése

Első táblázatunk a cégünk minden alkalmazottjának személyes adatait tartalmazza. Meg kell adnunk minden alkalmazott nevét, fizetését, személyi igazolványát és vezetőjét. Megfelelő tervezési gyakorlat, hogy a vezeték- és keresztneveket külön mezőkbe választja szét az adatok jövőbeni keresésének és rendezésének egyszerűsítése érdekében. Ezenkívül nyomon követjük az egyes alkalmazottak menedzsereit úgy, hogy minden munkavállalói nyilvántartásba beillesztünk egy hivatkozást a vezető munkatársának azonosítójára. Először vessünk egy pillantást a kívánt alkalmazotti táblára.

A ReportsTo attribútum minden alkalmazott kezelői azonosítóját tárolja. A bemutatott mintarekordok alapján megállapíthatjuk, hogy Sue Scampi Tom Kendall és John Smith menedzsere. Az adatbázisban azonban nincs információ Sue menedzseréről, amint azt a sorában található NULL bejegyzés is jelzi.

Most az SQL segítségével létrehozhatjuk a táblázatot a személyi adatbázisunkban. Mielőtt ezt megtennénk, a USE parancs kiadásával ellenőrizzük, hogy a megfelelő adatbázisban vagyunk-e:

USE személyzet;

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

CREATE TABLE alkalmazottak
(alkalmazotti INTEGER NULL,
vezetéknév VARCHAR (25) NEM NULL,
keresztnév VARCHAR (25) NEM NULL,
jelentést INTEGER NULL);

A fenti példához hasonlóan, vegye figyelembe, hogy a programozási konvenció előírja, hogy az SQL kulcsszavakhoz minden nagybetűt, a felhasználónevű oszlopokhoz és táblázatokhoz kisbetűket használjunk. A fenti parancs elsőre zavarónak tűnhet, de valójában egy egyszerű szerkezet áll mögötte. Itt van egy általánosított nézet, amely kissé tisztázhatja a dolgokat:

CREATE TABLE tábla_neve
(attribute_name adattípus beállítások,
...,
attribute_name adattípus beállításai);

Attribútumok és adattípusok

Az előző példában a tábla neve alkalmazott, és négyet tartalmazunk attribútumok: alkalmazott, vezetéknév, keresztnév és jelentés. 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ó egyszerű egész szám, ezért az INTEGER adattípust mind a alkalmazott azonosító mezőbe, mind a jelentés mezőbe használjuk. Az alkalmazottak nevei változó hosszúságú karakterláncok lesznek, és nem várjuk el, hogy egy alkalmazott 25-nél hosszabb utó- vagy vezetéknévvel rendelkezzen. Ezért ezekhez a mezőkhöz a VARCHAR (25) típust fogjuk használni.

NULL Értékek

Megadhatjuk bármelyiket is NULL vagy NOT NULL a CREATE utasítás opciómezőjében. Ez egyszerűen megmondja az adatbázisnak, hogy NULL (vagy üres) értékek engedélyezettek-e az adott attribútumhoz, amikor sorokat adnak az adatbázishoz. Példánkban a HR osztály megköveteli, hogy minden alkalmazott számára tárolja a munkavállalói azonosítót és a teljes nevet. Azonban nem minden alkalmazottnak van vezetője (a vezérigazgató senkinek nem számol be!), Ezért NULL bejegyzéseket engedélyezünk ezen a területen. Ne feledje, hogy a NULL az alapértelmezett érték, és ennek az opciónak a mellőzése implicit módon engedélyezi az attribútum NULL értékeit.

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

Most vessünk egy pillantást a területek táblára. Az adatok gyors áttekintése alapján úgy tűnik, hogy egy egész számot és két változó hosszúságú karakterláncot kell tárolnunk. Az előző példához hasonlóan nem számítunk arra, hogy a Region ID 25 karakternél többet használ. Néhány területünknek azonban 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:

TABLE területek létrehozása
(a terület nem INTEL NULL,
terület Leírás VARCHAR (40) NEM NULL,
regionid VARCHAR (25) NEM NULL);

Végül az EmployeeTerritories táblázatot 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ázat tartalmazza. Ezért ebben a táblázatban csak a két egész azonosító számot kell tárolnunk. Ha bővítenünk kell ezeket az információkat, JOIN-t használhatunk az adatkiválasztási parancsokban, hogy információkat szerezzünk több táblából.

Az adatok tárolásának ez a módja csökkenti a redundanciát az adatbázisunkban, és biztosítja az optimális helykihasználást a tároló meghajtóinkon. A JOIN parancsot egy későbbi oktatóanyagban részletesen bemutatjuk. Itt van az SQL-kód a végső táblázat megvalósításához:

CREATE TABLE alkalmazói kritériumok
(alkalmazotti INTEGER NULL,
territoriális INTEGER NULL);

Az SQL mechanizmusa lehetővé teszi az adatbázis felépítésének megváltoztatását a létrehozás után

Ha ma különösen ügyes vagy, észreveheted, hogy "véletlenül" kihagytuk az egyik tervezési követelményt az adatbázis-táblázataink megvalósításakor. Az XYZ Corporation HR igazgatója kérte, hogy az adatbázis nyomon kövesse az alkalmazottak fizetésével kapcsolatos információkat, és ezt elhanyagoltuk a létrehozott adatbázis táblákban.

Mégsem minden veszett el. Az ALTER TABLE paranccsal hozzáadhatjuk ezt az attribútumot a meglévő adatbázisunkhoz. A fizetést egész számként szeretnénk tárolni. A szintaxis meglehetősen hasonló a CREATE TABLE parancséhoz, itt van:

ALTER TABLE alkalmazottak
ADD BÉR INTEGER NULL;

Vegye figyelembe, hogy megadtuk, hogy a NULL értékek megengedettek ennek az attribútumnak. A legtöbb esetben nincs lehetőség oszlop hozzáadásakor egy meglévő táblához. Ez annak a ténynek tudható be, hogy a táblázat már tartalmaz olyan sorokat, amelyeknél nincs bejegyzés ehhez az attribútumhoz. Ezért a DBMS automatikusan beilleszt egy NULL értéket az üresség kitöltésére.

instagram story viewer