Budowa bazy danych „Wypożyczalnia Samochodów” i manipulacja danymi (INSERT)
Wszystkie ćwiczenia wykonaj w taki sposób aby nie było wątpliwości co do jego wykonania. Na screenach ma być widoczna data i godzina.
Część I
Struktura (Graficznie w phpMyAdmin)
Zaloguj się do phpMyAdmin. Utwórz nową bazę danych o nazwie wypozyczalnia_imie_nazwisko. Następnie, używając interfejsu graficznego, stwórz następujące 3 tabele. Pamiętaj o ustawieniu Kluczy Podstawowych (PK) oraz Auto_Increment (A_I) tam, gdzie to konieczne.
Tabela 1: klienci
-
id_klienta(Liczba całkowita, klucz główny, auto-numerowanie) -
imie(Tekst do 50 znaków) -
nazwisko(Tekst do 50 znaków) -
pesel(Tekst, stała długość 11 znaków ) -
miasto(Tekst do 50 znaków)
Tabela 2: samochody
-
id_samochodu(Liczba całkowita, klucz główny, auto-numerowanie) -
marka(Tekst do 50 znaków) -
model(Tekst do 50 znaków) -
rocznik(Liczba całkowita, rok produkcji) -
kolor(Tekst do 20 znaków) -
cena_za_dobe(Liczba zmiennoprzecinkowa/DECIMAL – np. 10 cyfr, 2 po przecinku)
Tabela 3: wypozyczenia
-
id_wypozyczenia(Liczba całkowita, klucz główny, auto-numerowanie) -
id_klienta(Liczba całkowita – musi być tego samego typu co id_klienta w tabeli klienci) -
id_samochodu(Liczba całkowita – musi być tego samego typu co id_samochodu w tabeli samochody) -
data_wypozyczenia(Data) -
data_zwrotu(Data, pozwól na wartość NULL – auto może być jeszcze nieoddane) -
Wyklikaj „Widok relacyjny” i połącz klucze obce (FK).
Część II: Wprowadzanie danych podstawowych ( TYLKO Konsola SQL !!!)
Teraz zapominamy o zakładce „Wstaw”. Przechodzimy do zakładki SQL. Wszystkie polecenia musisz wpisać ręcznie.
Tabela: Klienci:
(1, Jan, Kowalski, 85010112345, Warszawa)
(2, Anna, Nowak, 92050509876, Kraków)
(3, Piotr, Zieliński, 78121234567, Gdańsk)
(4, Maria, Wiśniewska, 99030355555, Warszawa)
(5, Krzysztof, Krawczyk, 65060677777, Poznań)
(6, Ewa, Dąbrowska, 01212133333, Wrocław)
Tabela samochody:
(1, Toyota, Yaris, 2020, Czerwony, 120.00)
(2, Skoda, Octavia, 2019, Srebrny, 180.00)
(3, BMW, X5, 2022, Czarny, 450.00)
(4, Fiat, 500, 2018, Biały, 100.00)
(5, Ford, Mustang, 2021, Niebieski, 550.00)
(6, Audi, A4, 2020, Czarny, 320.00)
(7, Kia, Sportage, 2023, Biały, 250.00)
(8, Honda, Civic, 2015, Szary, 140.00)
Tabela: Wypożyczenia
(1, 1, 1, 2023-10-01, 2023-10-05) — Jan pożyczył Toyotę
(2, 2, 4, 2023-10-02, 2023-10-03) — Anna pożyczyła Fiata
(3, 1, 3, 2023-10-10, 2023-10-12) — Jan wrócił i pożyczył BMW
(4, 5, 2, 2023-10-15, 2023-10-20) — Krzysztof pożyczył Skodę
— Wypożyczenia aktywne (w trakcie – NULL):
(5, 3, 5, 2023-11-01, NULL) — Piotr ma teraz Forda Mustanga
(6, 4, 6, 2023-11-02, NULL) — Maria ma teraz Audi
(7, 2, 1, 2023-11-03, NULL) — Anna ma teraz Toyotę (tę samą co miał Jan wcześniej)
Wskazówka: Pamiętaj, że nie podajemy wartości dla kolumn id_..., ponieważ baza generuje je sama (Auto Increment).
Ćwiczenia sprawdzające:
Zadanie 1: Wyświetl wszystkie dane z tabeli samochody.
Zadanie 2: Wyświetl tylko imiona i nazwiska wszystkich klientów.
Zadanie 3: Wyświetl markę, model i cenę za dobę tych samochodów, których cena za dobę jest wyższa niż 200 zł.
Zadanie 4: Wyświetl wszystkich klientów, którzy mieszkają w Warszawie lub w Krakowie.
Zadanie 5: Wyświetl samochody (marka, model, rocznik), które zostały wyprodukowane w latach 2019–2021.
Zadanie 6: Znajdź wszystkich klientów, których nazwisko zaczyna się na literę „K”.
Zadanie 7: Wyświetl listę samochodów o kolorze „Czarny”, posortowaną według ceny za dobę od najdroższego do najtańszego.
Zadanie 8: Wyświetl listę klientów posortowaną alfabetycznie według miasta, a wewnątrz miast według nazwiska.
Zadanie 9: Wyświetl imię i nazwisko klienta oraz datę wypożyczenia dla każdego rekordu w tabeli wypozyczenia. Połącz tabele klienci i wypozyczenia za pomocą kluczy w klauzuli WHERE.
Zadanie 10: Wyświetl markę i model samochodu oraz datę wypożyczenia dla wszystkich aktywnych wypożyczeń (tam, gdzie data_zwrotu jest pusta/NULL).
Zadanie 11: (Zastosowanie aliasów) Wyświetl imię klienta, markę samochodu oraz datę wypożyczenia. Użyj aliasów dla tabel: k dla klienci, s dla samochody, w dla wypozyczenia.
Zadanie 12: Wyświetl nazwiska klientów oraz modele samochodów, które wypożyczyli, ale tylko dla tych osób, które mieszkają w Warszawie.
Zadanie 13: Wyświetl wszystkie kolumny z tabeli samochody, ale tylko dla aut, których kolor to „Biały” LUB „Srebrny”.
Zadanie 14: Wyświetl listę wypożyczeń (wszystkie kolumny), które rozpoczęły się po 15 października 2023 roku.
Zadanie 15: Wyświetl imiona i nazwiska klientów, których PESEL kończy się cyfrą ‚5’ (użyj LIKE).
Zadanie 16: Wyświetl markę, model i cenę za dobę samochodów, których cena mieści się w przedziale od 100 do 300 zł.
Zadanie 17: Wyświetl imię, nazwisko oraz miasto klienta, łącząc tabele klienci i wypozyczenia, aby pokazać tylko tych klientów, którzy faktycznie coś wypożyczyli (użyj WHERE do złączenia).
Zadanie 18: Wyświetl listę samochodów posortowaną od najnowszych (według rocznika), a przy tym samym roczniku – alfabetycznie według marki.
Zadanie 19: Wyświetl id_wypozyczenia oraz data_wypozyczenia dla wszystkich rekordów, gdzie samochód ma id_samochodu równe 1 lub 3, a wypożyczenie jest już zakończone (brak wartości NULL w data_zwrotu).
Zadanie 20: Wyświetl pełną informację: Imię i nazwisko klienta, Markę wypożyczonego auta oraz Datę wypożyczenia. Zastosuj aliasy dla wszystkich trzech tabel.
