110 likes | 179 Views
Notebook e- shop. Ladislav Hofman, Jan Slavík TUL Předmět databázové systémy. Zadání projektu. Zákazník žádá vytvořit databázi notebooků pro e- shop s notebooky. Databáze bude obsahovat tabulku notebooků, tabulku zákazníků a tabulku s informacemi o objednávce. Realizace.
E N D
Notebook e-shop Ladislav Hofman, Jan Slavík TUL Předmět databázové systémy
Zadání projektu • Zákazník žádá vytvořit databázi notebooků pro e-shop s notebooky. • Databáze bude obsahovat tabulku notebooků, tabulku zákazníků a tabulku s informacemi o objednávce.
Realizace • tabulka notebooků bude složena z cizích klíčů tabulek např. výrobce, typ, velikost displeje, procesor, RAM, HDD atd. • tyto tabulky budou mít vlastní atributy, jako název, frekvence, velikost cache, počet jader, velikost HDD atd. • tabulka zákazníků bude obsahovat přihlašovací jméno, zašifrované heslo, fakturační a kontaktní údaje • tabulka objednávek obsahuje cizí klíče zákazníka, notebooku a dále datum objednávky, expedice, cena, zaplaceno atd.
Integritní omezení • Notebook nelze přijmout do objednávky, pokud je počet kusů skladem menší než 0 • Pokud je počet kusů skladem menši než 2, odešle se objednávka dodavateli • Po objednání notebooku se sníží počet na skladě o počet v objednávce
Trigger – odečítání skladových zásob • delimiter $$ • CREATE TRIGGER odecteni • AFTER INSERT ON Notebooky • FOR EACH ROW • BEGIN • DECLARE pocint; • SELECT pocet_kusu INTO poc FROM Polozka_objednavky WHERE Notebooky.Kod=New.Kod; • UPDATE Notebooky • SET Pocet_skladem = Pocet_skladem - poc • WHERE Polozka_objednavky.Kod=Kod; • END $$ • delimiter ;
Procedura – registrace zákazníka • delimiter $$ • CREATE PROCEDURE registrace(nlogin_emailvarchar(50),nheslovarchar(32),nfaktur_udajevarchar(140),nkont_udajevarchar(100),nfirmatinyint(1),npocet_objednaveksmallint(6)) • BEGIN • INSERT INTO Zakaznik(login_email,heslo,faktur_udaje,kont_udaje,firma,pocet_objednavek) • VALUES (nlogin_email,nheslo,nfaktur_udaje,nkont_udaje,nfirma,npocet_objednavek); • END $$ • delimiter ;
Závěr • Při exportu databáze z Case Studia na server se nám neuložili relace a bylo nutné je nadefinovat znovu. • Databáze spravuje eshop se seznamem zákazníků, seznamu objednávek včetně údajů o expedici a platbě a katalogu jednotlivých modelů notebooků.