Egy gondolkodtató gyakorló feladatokból álló gyűjtemény. Főbb témák a nyelvspecifikus programozás és a matematika.
Az iskola könyvtárában szeretnék nyilvántartani a könyveket, a diákokat és a kölcsönzéseket. A feladatok a matura előkészítéséhez gyakori SQL műveleteket gyakoroltatnak.
CREATE TABLE konyvek (
konyv_id INT PRIMARY KEY,
cim VARCHAR(150) NOT NULL,
szerzo VARCHAR(100) NOT NULL,
tema VARCHAR(50) NOT NULL
);
CREATE TABLE diakok (
diak_id INT PRIMARY KEY,
nev VARCHAR(100) NOT NULL,
osztaly VARCHAR(10) NOT NULL
);
CREATE TABLE kolcsonzesek (
kolcsonzes_id INT PRIMARY KEY,
diak_id INT NOT NULL,
konyv_id INT NOT NULL,
kiadas_datum DATE NOT NULL,
vissza_datum DATE,
FOREIGN KEY (diak_id) REFERENCES diakok(diak_id),
FOREIGN KEY (konyv_id) REFERENCES konyvek(konyv_id)
);
INSERT INTO konyvek (konyv_id, cim, szerzo, tema) VALUES
(1, 'Toldi', 'Arany János', 'irodalom'),
(2, 'Az ember tragédiája', 'Madách Imre', 'irodalom'),
(3, 'Programozási alapok', 'Nagy Anna', 'informatika'),
(4, 'Földrajz atlasz', 'Kiss Béla', 'földrajz');
INSERT INTO diakok (diak_id, nev, osztaly) VALUES
(1, 'Szabó Eszter', '11.A'),
(2, 'Tóth Máté', '12.B'),
(3, 'Varga Luca', '11.A'),
(4, 'Németh Bence', '10.C');
INSERT INTO kolcsonzesek (kolcsonzes_id, diak_id, konyv_id, kiadas_datum, vissza_datum) VALUES
(1, 1, 1, '2026-01-10', '2026-01-20'),
(2, 2, 3, '2026-01-11', NULL),
(3, 1, 4, '2026-01-12', NULL),
(4, 3, 1, '2026-01-13', '2026-01-23'),
(5, 4, 2, '2026-01-14', NULL);
-- Feladatok:
-- 1. Listázd ki az összes könyv címét és témáját.
-- 2. Keresd meg azokat a diákokat, akik kölcsönöztek már legalább egy könyvet.
-- 3. Írd ki, hány könyvet kölcsönzött minden diák.
-- 4. Keresd meg az összes olyan könyvet, amelyet még nem vittek vissza.