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

új adatbázis létrehozása

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

importálás után SQL

Ú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

Elsődleges kulcs beállítása

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ó. 

oid mező

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

onev beállítása - SQL1

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. Ehhez CHECK 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ólag F (férfi) vagy N (nő) lehetnek. A megkötést szintén CHECK 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éke Veszpré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 az osztaly tábla oid 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éket F (férfi) és N (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.

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éke Veszprém, ha nincs más város megadva.

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. 

Adatok felvitele