adatbázis
Adatbázis létrehozása
Adatbázis – SQL
Adatbázis létrehozása
Ha elindítottad a XAMPP-ot, a http://localhost/phpmyadmin oldalon lépj az Új gombra.
Adj címet az adatbázisnak, állítsd át magyarra és hozd létre

Ha kész, az adatokat az importálással tudod behívni az adatbázisba. Importálás után az adatok megjelennek

Új táblát is lehet készíteni. 9 mezőt fogunk létrehozni: szigszam, nev, fizetes, szuldat, nem, irsz, varos, utca_hsz és oid mezőnevekkel.
Feladat:
1. tábla – Osztaly
oid – egész szám, automatikus számozásű, elsődleges kulcs
onev – max. 20 karakter hosszúságú szöveges típusú adat, kötelező kitöltésű
2. tábla – Dolgozó
szigszam – 8 karakteres hosszúságú szöveg, kötelező kitöltésű
fizetes – szám, legalább 150000
szuldat – dátum
nem – fix 1 karakter hosszúságú szöveg, értéke lehet F vagy N
irsz – szám, 1000 és 9999 között, alapértelmezett értéke 8200
varos – max. 30 karakteres szöveg, alapértelmezett értéke Veszprém, kötelező kitöltésű
utca_hsz – max. 50 karakter hosszúságú szöveg
oid – szám, idegen kulcs (osztály oid-ből jön)
Jelöld ki az alkalmazottakat, majd ezen belül hozzuk létre az „osztaly” táblát két mezővel
oid – egész szám, automatikus számozásű, elsődleges kulcs
Az első mező neve oid, típusa INT (integer), amely egész számot tárol.
Auto Increment (AI) – minden új rekordnál automatikusan növekvő értéket kap.
Elsődleges kulcs: az Index mezőt át kell állítani Primary-ra, majd mentés gomb

Ellenőrzés: a táblák listájában kattints az „osztaly” táblára. Menj a Szerkezet fülre és nézd meg, hogy az oid Primary Key szerepet kapott-e. Ha mindent helyesen állítottál be, az elsődleges kulcs mellett egy kulcs ikon látható.

Következő mező: onev. Max. 20 karakter hosszúságú, szöveges típusú adat, kötelező kitöltésű

Típusa VARCHAR. Ez egy olyan típusú mező, ami szöveges adatokat tárol, melynek hossza változó, vagyis nem foglal el fix helyet az adatbázisban. Például, ha a mező hossza 20-ra van állítva (VARCHAR(20)), akkor legfeljebb 20 karakter hosszúságú szöveget tárolhat, de ha kevesebb adat kerül bele, az csak a tényleges adathosszúságot foglalja el.
A CHAR mindig fix hosszúságú, ha 20 karakterre állítjuk be, akkor 20 karakter helyet foglal, akkor is, ha csak 5 karakter kerül bele.
Nulla érték nincs kipipálva, tehát kötelező kitöltésű lesz.
CREATE TABLE `alkalmazott`.`osztaly` (`oid` INT NOT NULL AUTO_INCREMENT , `onev` VARCHAR(20) NOT NULL , PRIMARY KEY (`oid`)) ENGINE = InnoDB;
Jöhet a „dolgozo” tábla, 9 mezővel
Ezt SQL-ben készítjük most el:
CREATE TABLE `alkalmazott`.`dolgozo` (
szigszam CHAR(8) NOT NULL PRIMARY KEY,
nev VARCHAR(40) NOT NULL,
fizetes INT CHECK (fizetes >= 150000),
szuldat DATE,
nem CHAR(1) CHECK (nem IN (‘F’, ‘N’)),
irsz INT DEFAULT 8200 CHECK (irsz BETWEEN 1000 AND 9999),
varos VARCHAR(30) NOT NULL DEFAULT ‘Veszprém’,
utca_hsz VARCHAR(50),
oid INT,
FOREIGN KEY (oid) REFERENCES osztaly(oid)
) ENGINE=InnoDB;
Magyarázat:
szigszam
: Fixen 8 karakter hosszúságú szöveg, kötelező kitöltésű (NOT NULL
), ez lesz a tábla elsődleges kulcsa (PRIMARY KEY
).nev
: Változó hosszúságú szöveges mező (VARCHAR), maximum 40 karakter hosszú, kötelezően kitöltendő (NOT NULL
).fizetes
: Szám típusú mező (INT), amelynek értéke legalább 150000. EhhezCHECK
feltételt használunk, amely az értéket ellenőrzi.szuldat
: Dátum típusú mező (DATE), nem kötelező kitöltésű.nem
: Fix hosszúságú szöveges mező (CHAR(1)), amelynek értékei kizárólagF
(férfi) vagyN
(nő) lehetnek. A megkötést szinténCHECK
feltétellel adjuk meg.irsz
: Szám típusú mező (INT), amely 1000 és 9999 közötti értékeket fogad el. Az alapértelmezett érték (DEFAULT) 8200.varos
: Változó hosszúságú szöveges mező (VARCHAR), maximum 30 karakter hosszúságú. Alapértelmezett értékeVeszprém
, és kötelezően kitöltendő.utca_hsz
: Változó hosszúságú szöveges mező (VARCHAR), maximum 50 karakter hosszúságú.oid
: Szám típusú mező (INT), amely azosztaly
táblaoid
mezőjére hivatkozik. Ezt idegen kulcsként (FOREIGN KEY
) állítjuk be.
CHECK
- Szabály: A
CHECK
egy olyan feltétel, amely biztosítja, hogy az adott mező értéke megfeleljen bizonyos követelményeknek. - Felhasználás:
- A
fizetes
mezőnél ellenőrizzük, hogy az érték legalább 150000 legyen:CHECK (fizetes >= 150000)
. - A
nem
mezőnél korlátozzuk az értéketF
(férfi) ésN
(nő) lehetőségekre:CHECK (nem IN ('F', 'N'))
. - Az
irsz
mezőnél biztosítjuk, hogy az érték 1000 és 9999 között legyen, ami megfelel egy magyar irányítószám tartománynak.
- A
DEFAULT
- Szabály: A
DEFAULT
kulcsszóval megadható egy alapértelmezett érték arra az esetre, ha a mezőhöz nem adnak meg adatot. - Felhasználás:
- Az
irsz
mező alapértelmezett értéke 8200, ha nem adnak meg más értéket. - A
varos
mező alapértelmezett értékeVeszprém
, ha nincs más város megadva.
- Az
ENGINE=InnoDB
- Szabály: Az
ENGINE
kulcsszó határozza meg, hogy az adott táblához melyik adattárolási motort használja a MySQL. - Felhasználás:
- Az InnoDB az egyik legelterjedtebb MySQL adattárolási motor, amely támogatja a tranzakciókat, az idegen kulcsokat (FOREIGN KEY), és a hibatűrő működést.
- Előnyei:
- Tranzakciók támogatása: Ha egy adatbeviteli művelet félbeszakad, a rendszer vissza tudja állítani az eredeti állapotot.
- Adat-integritás: Támogatja az idegen kulcsokkal való kapcsolatokat, amelyek megakadályozzák a nem létező hivatkozásokat.
- Teljesítmény: Nagyobb adatbázisoknál jobb teljesítményt nyújt az adatok indexelése és kezelése révén.
Most pedig töltsük fel adatokkal az adatbázist. Most csak kevés adatot viszünk be, ezt manuálisan tesszük meg ennél a feladatnál. Lépj először az osztaly táblára, töltsd ki, majd a dolgozó táblára. A sorrend fontos, mert az idegen kulcsot ki kell választani. A beszúrásból tudod bevinni manuálisan az adatokat.
