Baza obcy

Dodawanie klucza obcego

ALTER TABLE zamowienia ADD FOREIGN KEY (klientId) REFERENCES klienci (klientId);
  • Widok designer / widok projektu

Zadania z PDF, Baza wynajem

  1. tworząca tabelę pokoje z następującymi polami: ‒ id, liczba całkowita dodatnia ‒ nazwa, tekst do 20 znaków ‒ cena, liczba rzeczywista
CREATE TABLE pokoje ( 
id int unsigned, 
nazwa varchar(20), 
cena float ); 
  1. definiująca w tabeli pokoje pole id jako klucz podstawowy
ALTER TABLE `pokoje` ADD PRIMARY KEY (`id`);
  1. (lub zestaw kwerend) wstawiająca do tabeli pokoje dane z Tabeli 1
INSERT INTO pokoje VALUES ('1', 'jednoosobowy', '100'); 
INSERT INTO pokoje VALUES ('2', 'dwuosobowy', '170'); 
INSERT INTO pokoje VALUES ('3', 'trzyosobowy', '210'); 
  1. definiująca klucz obcy dla tabeli rezerwacje na polu id_pok łączący z tabelą pokoje
***ALTER TABLE rezerwacje ADD FOREIGN KEY (id) REFERENCES pokoje (id);
  1. wybierająca z tabeli rezerwacje jedynie id pokoju oraz licząca łączną sumę dni jego rezerwacji
SELECT id_pok, SUM(liczba_dn) FROM rezerwacje GROUP BY id_pok;
  1. licząca sumę dni rezerwacji latem
SELECT SUM(liczba_dn) FROM rezerwacje WHERE sezon='lato';
  1. aktualizująca cenę pokoi w tabeli pokoje. Cena dla wszystkich pokoi powinna zostać podniesiona o 15%
UPDATE pokoje SET cena=cena*1.15;
  1. tworząca użytkownika najemca z hasłem n@JEM1@
CREATE USER najemca IDENTIFIED BY 'n@JEM1@!';
  • Znaleźć całkowity dochód jaki przyniesie wynajęcie danego pokoju
SELECT id_pok, SUM(liczba_dn)*cena AS dochód FROM pokoje, rezerwacje WHERE rezerwacje.id_pok=pokoje.id GROUP BY id_pok;
  • Kwerenda wybierająca z tabeli rezerwacje jedynie id_pok oraz licząca łączną sumę dni jego rezerwacji, gdy ta suma przekracza 11
SELECT id_pok, SUM(liczba_dn) FROM rezerwacje GROUP BY id_pok HAVING SUM(liczba_dn)>11;