[]----------------------------------[] | MySQL feladatsor IDEGEN-KULCS B | []----------------------------------[] Indítsa el a MySQL szervert, majd a kliens programot is! A kliens programot rendszergazdai jogokkal használja... a) Készítsen egy adatbázist "autoberles" néven! b) Hozza létre az alábbi táblákat ügyelve arra, hogy a táblák közti kapcsolatok, idegen kulcsok is definiáltak legyenek! --------------------------------------------------------------- berlok (id,nev,jogositvany,telefon,szulido,lakcim) --------------------------------------------------------------- id Bérlő azonosító, egész, automatikusan növekvő, elsődleges kulcs. nev Bérlő neve, max 100 karakter, kötelező mező. jogositvany A bérlő jogosítványának száma, szöveges, max. 15 karakter, kötelező mező. telefon A bérlő telefonszáma, szöveges, max. 20 karakter NEM kötelező. --------------------------------------------------------------- autok (id,rendszam,tipus,evjarat,szin) --------------------------------------------------------------- id Autó azonosító, egész, automatikusan növekvő, elsődleges kulcs. rendszam Autó rendszáma, szöveges, max. 6 karakter, kötelező, legyen egyedi. tipus Az autó márkája (típusa), szöveges, max. 100 karakter, kötelező. evjarat Az autó gyártásának éve, egész, NEM kötelező. szin Az autó színe, szöveges, max.30 karakter, NEM kötelező. --------------------------------------------------------------- kolcsonzes (id,berloid,autoid,berletkezdete,napokszama,napidij) --------------------------------------------------------------- id Kölcsönzés azonosító, egész, automatikusan növekvő, elsődleges kulcs. berloid Bérlő azonosító a berlo táblából. (idegen kulcs) autoid Autó azonosító az autok táblából. (idegen kulcs) berletkezdete Az autó bérlésének kezdete, dátum típusú, kötelező. napokszama A bérlet végén kerül kitöltésre, a bérleti napok számát tartalmazza. Egész típusú, NEM kötelező. Üres értéke jelzi, az autó még a bérlőnél van. napidij A napi bérleti díj összege, numerikus, kötelező mező. c) Vigye fel a következő négy rekordot az autok táblába: +----------+-----------------+---------+--------+ | rendszam | tipus | evjarat | szin | +----------+-----------------+---------+--------+ | ABC456 | Ford Ka | 2003 | Pink | +----------+-----------------+---------+--------+ | ABC123 | Volkswagen Golf | 2011 | Fehér | +----------+-----------------+---------+--------+ | ABC157 | Ford Mondeo | 2015 | Fekete | +----------+-----------------+---------+--------+ | ABC448 | Volkswagen Golf | 2012 | Kék | +----------+-----------------+---------+--------+ d) Vigyen fel a berlok táblába két ügyfelet: +---------------+-------------+--------------+ | nev | jogositvany | telefon | +---------------+-------------+--------------+ | Kandúr Károly | LR337157 | 06-41-334112 | +---------------+-------------+--------------+ | Gipsz Jakab | VE445112 | 06-41-555223 | +---------------+-------------+--------------+ e) Rögzítse a kolcsonzes táblába az alábbi eseményeket: - Kandúr Károly kikölcsönözte 2018.04.23-án az ABC157 rendszámú Ford Mondeót. Napidíj: 12.500 Ft. - Gipsz Jakab 2018.04.25-én bérbe vette az ABC123 rendszámú Golfot, melynek napidíja: 9.999 Ft. - Kandúr Károly visszahozta 2018.04.28-án a nála lévő autót, így összesen 6 napig bérelte azt. f) Készítse el az alábbi lekérdezéseket: - Kérdezze le, hogy Kandúr Károlynak mekkora összeget kell fizetnie a kölcsönzésért. - Készítsen lekérdezést, mely megjeleníti az éppen kölcsönzés alatt lévő autók rendszámát és a bérlők nevét! ---------- VÉGE ---------- a) Készítsen egy adatbázist "autoberles" néven! create database autoberles; use autoberles; b) Hozza létre az alábbi táblákat ügyelve arra, hogy a táblák közti kapcsolatok, idegen kulcsok is definiáltak legyenek! --------------------------------------------------------------- berlok (id,nev,jogositvany,telefon,szulido,lakcim) --------------------------------------------------------------- id Bérlő azonosító, egész, automatikusan növekvő, elsődleges kulcs. nev Bérlő neve, max 100 karakter, kötelező mező. jogositvany A bérlő jogosítványának száma, szöveges, max. 15 karakter, kötelező mező. telefon A bérlő telefonszáma, szöveges, max. 20 karakter NEM kötelező. create table berlok ( id int not null auto_increment, nev varchar(100) not null, jogositvany varchar(15) not null, telefon varchar(20), primary key (id) ); --------------------------------------------------------------- autok (id,rendszam,tipus,evjarat,szin) --------------------------------------------------------------- id Autó azonosító, egész, automatikusan növekvő, elsődleges kulcs. rendszam Autó rendszáma, szöveges, max. 6 karakter, kötelező, legyen egyedi. tipus Az autó márkája (típusa), szöveges, max. 100 karakter, kötelező. evjarat Az autó gyártásának éve, egész, NEM kötelező. szin Az autó színe, szöveges, max.30 karakter, NEM kötelező. create table autok ( id int not null auto_increment, rendszam varchar(6) not null , tipus varchar(100) not null, evjarat int, szin varchar(30), primary key (id), unique (rendszam) ); --------------------------------------------------------------- kolcsonzes (id,berloid,autoid,berletkezdete,napokszama,napidij) --------------------------------------------------------------- id Kölcsönzés azonosító, egész, automatikusan növekvő, elsődleges kulcs. berloid Bérlő azonosító a berlo táblából. (idegen kulcs) autoid Autó azonosító az autok táblából. (idegen kulcs) berletkezdete Az autó bérlésének kezdete, dátum típusú, kötelező. napokszama A bérlet végén kerül kitöltésre, a bérleti napok számát tartalmazza. Egész típusú, NEM kötelező. Üres értéke jelzi, az autó még a bérlőnél van. napidij A napi bérleti díj összege, numerikus, kötelező mező. create table kolcsonzes ( id int not null auto_increment, berloid int not null, autoid int not null, berletkezdete date not null, napokszama int, napidij int not null, primary key (id), foreign key (berloid) references berlok(id), foreign key (autoid) references autok(id) ); c) Vigye fel a következő négy rekordot az autok táblába: +----------+-----------------+---------+--------+ | rendszam | tipus | evjarat | szin | +----------+-----------------+---------+--------+ | ABC456 | Ford Ka | 2003 | Pink | +----------+-----------------+---------+--------+ | ABC123 | Volkswagen Golf | 2011 | Fehér | +----------+-----------------+---------+--------+ | ABC157 | Ford Mondeo | 2015 | Fekete | +----------+-----------------+---------+--------+ | ABC448 | Volkswagen Golf | 2012 | Kék | +----------+-----------------+---------+--------+ insert into autok (rendszam,tipus,evjarat,szin) values ('ABC456','Ford Ka',2003,'Pink'), ('ABC123','Volkswagen Golf',2011,'Fehér'), ('ABC157','Ford Mondeo',2015,'Fekete'), ('ABC448','Volkswagen Golf',2012,'Kék'); d) Vigyen fel a berlok táblába két ügyfelet: +---------------+-------------+--------------+ | nev | jogositvany | telefon | +---------------+-------------+--------------+ | Kandúr Károly | LR337157 | 06-41-334112 | +---------------+-------------+--------------+ | Gipsz Jakab | VE445112 | 06-41-555223 | +---------------+-------------+--------------+ insert into berlok (nev,jogositvany,telefon) values ('Kandúr Károly','LR337157','06-41-334112'), ('Gipsz Jakab','VE445112','06-41-555223'); e) Rögzítse a kolcsonzes táblába az alábbi eseményeket: - Kandúr Károly kikölcsönözte 2018.04.23-án az ABC157 rendszámú Ford Mondeót. Napidíj: 12.500 Ft. insert into kolcsonzes (berloid,autoid,berletkezdete,napidij) values (1,3,'2018.04.23',12500); - Gipsz Jakab 2018.04.25-én bérbe vette az ABC123 rendszámú Golfot, melynek napidíja: 9.999 Ft. insert into kolcsonzes (berloid,autoid,berletkezdete,napidij) values (2,2,'2018.04.25',9999); - Kandúr Károly visszahozta 2018.04.28-án a nála lévő autót, így összesen 6 napig bérelte azt. update kolcsonzes set napokszama = 6 where berloid = 1 and autoid = 3; f) Készítse el az alábbi lekérdezéseket: - Kérdezze le, hogy Kandúr Károlynak mekkora összeget kell fizetnie a kölcsönzésért. select napokszama * napidij 'Fizetendő összeg' from kolcsonzes where berloid = 1; - Készítsen lekérdezést, mely megjeleníti az éppen kölcsönzés alatt lévő autók rendszámát és a bérlők nevét! select a.rendszam,b.nev from autok a,berlok b,kolcsonzes k where a.id = k.autoid and b.id = k.berloid and k.napokszama is null; ---------- VÉGE ----------