Autókölcsönzős feldat
Az alábbi feladatban egy új relációs adatbázist kell létrehoznia.
Megoldásként a létrehozáshoz használt SQL scriptet kell beadnia.
Feladatok:
•
Hozzon létre egy megoldas.sql
nevű szöveges állományt!
•
Hozzon létre egy új adatbázist autoberles néven, a létrehozó SQL utasítást másolja be a megoldas.sql fájlba!
• Hozza létre az alábbi táblákat, ügyeljen arra, hogy a táblák közötti kapcsolatok, idegen kulcsok is definiálásra kerüljenek! A létrehozó SQL utasításokat másolja be a megoldas.sql fájlba!
berlok (id, nev, jogositvanyszama, telefonszam,
szuletesiido, lakcim)
id Bérlő azonosítója, egész (auto incerment), ez az elsődleges kulcs.
nev Bérlő neve, max 100 karakter, kötelező.
jogositvany A bérlő jogosítványának száma, szöveges, maximum 15 karakter, kötelező.
telefonszam Bérlő telefonszáma, szöveges, maximum 20
karakter, nem kötelező .
autok (id, rendszam, tipus, evjarat, szin)
id Az autó azonosítója, egész (auto incerment), ez az elsődleges kulcs.
rendszam Az 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 típusú, nem kötelező. szin Az autó színe, szöveges, maximum 30 karakter, nem kötelező.
kolcsonzes (id, berloid, autoid, berletkezdete, napokszama,
napidij)
id A kölcsönzés azonosítója, egész (auto
incerment), ez az elsődleges kulcs.
berloid A
bérlő azonosítója a Bérlő táblából. (idegen kulcs)
autoid Autó
azonosítója az Autók táblából. (idegen kulcs)
berletkezdete
A bérlő
mikor bérelte ki az autót, dátum típusú, kötelező.
napokszama A bérlet végén kerül kitöltésre, azt mutatja,
hogy hány napig volt az autó a bérlőnél. Egész típusú, nem kötelező. Az üres érték azt mutatja, hogy az autó még a
bérlőnél van.
napidij A napi bérleti díj
összege, numerikus típusú, kötelező.
Az autókölcsönzőnek jelenleg 4 autója van. Hozza létre a négy rekordot az autok táblában!
A rekordok beszúrását végző SQL utasítás(oka)t másolja be a megoldas.sql állományba!
|
Rendszám |
Típus |
Évjárat |
Szín |
|
ABC456 |
Ford Ka |
2003 |
Pink |
|
ABC123 |
Volkswagen Golf |
2011 |
Fehér |
|
ABC157 |
Ford Mondeo |
2015 |
Fekete |
|
ABC448 |
Volkswagen Golf |
2012 |
Kék |
Szúrja be a berlok táblába az alábbi két ügyfelet, a művelethez szükséges SQL
utasítás(oka)t másolja be a megoldas.sql állományba!
|
Név |
Jogosítvány száma |
Telefonszám |
|
Kandúr Károly |
LR337157 |
06-41-334112 |
|
Gipsz
Jakab |
VE445112 |
06-41-555223 |
Rögzítse a kolcsonzes táblába az alábbi eseményeket, a művelethez szükséges
SQL utasítás(oka)t másolja be a megoldas.sql állományba!
o
Kandúr Károly kikölcsönözte 2017. 04. 23-án az ABC157
rendszámú Ford Mondeót. A napi díj: 12 500 Ft.
o
Gipsz Jakab 2017. 04. 25-én bérbe vette az ABC123 rendszámú
Golfot, a napi díja: 9999 Ft. o Kandúr
Károly visszahozta a nála lévő autót 2017. 04. 28-án, így összesen 6 napot volt
nála.
Készítse el az alábbi lekérdezéseket, a művelethez szükséges SQL utasítás(oka)t
másolja be a megoldas.sql állományba!
Készítsen
lekérdezést, amely megjeleníti, hogy Kandúr Károlynak mekkora bérleti díjat
kellett fizetnie!
Készítsen lekérdezést, amely megjeleníti az éppen kölcsönzés alatt lévő autó rendszámát és a bérlő nevét!
MEGOLDÁSOK:
1 feladat
CREATE database autoberles default CHARACTER set utf8 COLLATE utf8_hungarian_ci;
2 feladat
CREATE TABLE berlok( id int(11) AUTO_INCREMENT PRIMARY KEY, nev varchar(100) not null, jogositvagy varchar(15) not null, telefonszam varchar(20) not null );
3 feladat
CREATE table autok( id int(11) AUTO_INCREMENT PRIMARY KEY, rendszam varchar(6) not null UNIQUE key, tipus varchar(100) not null, evjarat int(11), szin varchar(30) );
4 feladat
CREATE TABLE kolcsonzes( id int(11) AUTO_INCREMENT PRIMARY KEY, berloid int(11), autoid int(11), berletkezdete date not null, napokszama int(11), napidij int(11) );
5 feladat
INSERT INTO `autok`(`rendszam`, `tipus`, `evjarat`, `szin`) VALUES ('ABC456','Ford Ka','2002','Pink');
INSERT INTO `autok`(`rendszam`, `tipus`, `evjarat`, `szin`) VALUES ('ABC123','Volkswagen Golf','2011','Fehér');
INSERT INTO `autok`(`rendszam`, `tipus`, `evjarat`, `szin`) VALUES ('ABC157','Ford Mondeo','2015','Fekete');
INSERT INTO `autok`(`rendszam`, `tipus`, `evjarat`, `szin`) VALUES ('ABC448','Volkswagen Golf','2012','Kék');
6 feladat
INSERT INTO `berlok`( `nev`, `jogositvagy`, `telefonszam`) VALUES ('Kandúr Károly','LR337157','06-41-334112');
INSERT INTO `berlok`( `nev`, `jogositvagy`, `telefonszam`) VALUES ('Gipsz Jakab','VE445112','06-41-555223');
7 feladat
INSERT INTO `kolcsonzes`( `berloid`, `autoid`, `berletkezdete`, `napidij`) VALUES ((SELECT berlok.id FROM berlok WHERE berlok.nev = 'Kandúr Károly'), (SELECT autok.id FROM autok WHERE autok.rendszam = 'ABC157'),'2017-04-25',12500);
8 feladat
INSERT INTO `kolcsonzes`( `berloid`, `autoid`, `berletkezdete`, `napidij`) VALUES ((SELECT berlok.id FROM berlok WHERE berlok.nev = 'Gipsz Jakab'),(SELECT autok.id FROM autok WHERE autok.rendszam = 'ABC123'),'2017-05-25',9999);
9 feladat
UPDATE `kolcsonzes` SET `napokszama`= 6 WHERE id = (SELECT id FROM berlok WHERE berlok.nev = 'Kandúr Károly');
10 feladat
SELECT berlok.nev, napokszama*napidij as bérletidíj FROM `kolcsonzes` INNER JOIN berlok ON kolcsonzes.berloid = berlok.id WHERE kolcsonzes.id= (SELECT id FROM berlok WHERE berlok.nev = 'Kandúr Károly');
11 feladat
SELECT berlok.nev, autok.rendszam FROM ((`kolcsonzes` INNER JOIN berlok on kolcsonzes.berloid = berlok.id)inner join autok on kolcsonzes.autoid = autok.id) WHERE napokszama = 0;
Megjegyzések
Megjegyzés küldése