Digitális Kultúra

A Digitális kultúra tantárgy érettségi feladatai - adatbázis-kezelés
EMELT SZINT

Digitális Kultúra

A Digitális kultúra tantárgy érettségi feladatai - adatbázis-kezelés
KÖZÉPSZINT

Feladatok tipizálása

Adatbázis-kezelés

SQL parancsok

parancsok áttekintése példán keresztül

Részletek az emelt digitális kultúra vizsgakövetelmények dokumentumból:


Példa: nyilvantartas nevű adatbázis létrehozása.

Az adatbázis két adattáblát tartalmaz: tanulo és szakkor. A táblákban kulcsmezők (id) és idegen kulcsok vannak. Kapcsolat van a két tábla között. Adatokkal feltöltés SQL parancsokkal, valamint törlés és frissítés parancsokra is van példa.

Példa letöltése: sql_minta.sql

DROP DATABASE IF EXISTS nyilvantartas;   -- töröljük az adatbázist, ha esetleg már létezik...

CREATE DATABASE nyilvantartas;      -- adatbázis kreálása

USE nyilvantartas;

CREATE TABLE tanulo
(
 id INT(3) NOT NULL,        -- egyéb adattípusok: DECIMAL, DOUBLE, FLOAT, SMALLINT, MEDIUMINT, BIGINT...
 nev VARCHAR(20),
 szuldat DATE,
 szakkorid INT(3),
 ugyes TINYINT(1)
);

INSERT INTO tanulo(id, nev, szuldat, szakkorid, ugyes) VALUES
 (1, "Gipsz Jakab", "2010-02-13", 1, 0),
 (2, "Bronz Jakab", "2012-01-11", 2, 1),
 (3, "Vas Jolán", "2011-04-03", 1, 1),
 (4, "Gipsz Ubul", "2009-06-23", 2, 0),
 (5, "Gipsz Artúr", "2011-02-13", 1, 0);

ALTER TABLE tanulo ADD PRIMARY KEY (id);              -- elsődleges kulcs beállítása
ALTER TABLE tanulo MODIFY id INT(3) NOT NULL AUTO_INCREMENT;      -- adatmező beállításainak módosítása

-- ALTER TABLE tanulo ADD INDEX (szakkorid);           -- index beállítása

CREATE TABLE szakkor
(
 id INT(3) NOT NULL,
 nev VARCHAR(20),
 kezdes TIME,
 nap SMALLINT(1)                   -- nap --> 1 hétfő.. 5 péntek
);

INSERT INTO szakkor(id, nev, kezdes, nap) VALUES
 (1, "digitális kultúra", "14:50:00", 1),
 (2, "matematika", "15:10", 3),
 (3, "fizika", "14:00", 5);

ALTER TABLE szakkor ADD PRIMARY KEY (id);

-- kapcsolat a két tábla között
ALTER TABLE tanulo ADD CONSTRAINT szakkorid FOREIGN KEY (szakkorid) REFERENCES szakkor (id);
ALTER TABLE tanulo ADD KEY szakkorid (szakkorid);

UPDATE tanulo SET tanulo.ugyes=1 WHERE tanulo.ugyes=0;     -- tanulo.ugyes frissítése (módosítása) feltétel szerint

DELETE FROM tanulo WHERE tanulo.szakkorid=3;         -- rekordok törlése (fizika szakkör megszűnik)
DELETE FROM szakkor WHERE szakkor.nev="fizika";

-- minden törlés
DROP TABLE szakkor;
DROP DATABASE nyilvantartas;