Tworzenie prostych baz danych
Zadanie: Stwórz prostą bazę danych.
Twoim celem jest stworzenie niewielkiej bazy danych przechowującej dane dla wybranego scenariusza, na przykład: zarządzanie biblioteką, sklep internetowy lub bazę danych dla aplikacji do rezerwacji wizyt.
Kroki:
-
Zaprojektuj tabele do przechowywania danych. Na przykład:
- Dla biblioteki: Tabele
książki
,autorzy
,wypożyczenia
. - Dla sklepu internetowego: Tabele
produkty
,klienci
,zamówienia
.
- Dla biblioteki: Tabele
-
Zdecyduj, jakie dane będą przechowywane w każdej tabeli, oraz utwórz strukturę tabel:
- W tabelach powinny znaleźć się takie elementy jak klucz główny (
PRIMARY KEY
) i, jeśli to konieczne, klucze obce (FOREIGN KEY
).
- W tabelach powinny znaleźć się takie elementy jak klucz główny (
Przykład utworzenia bazy danych:
CREATE DATABASE biblioteka;
USE biblioteka;
CREATE TABLE książki (
id INT AUTO_INCREMENT PRIMARY KEY,
tytuł VARCHAR(100),
liczba_stron INT,
id_autora INT
);
CREATE TABLE autorzy (
id INT AUTO_INCREMENT PRIMARY KEY,
imię VARCHAR(50),
nazwisko VARCHAR(50)
);
CREATE TABLE wypożyczenia (
id INT AUTO_INCREMENT PRIMARY KEY,
id_książki INT,
data_wypożyczenia DATE,
data_zwrotu DATE,
FOREIGN KEY (id_książki) REFERENCES książki(id)
);
Pisanie zapytań dla różnych scenariuszy
Zadanie: Przećwicz pisanie zapytań.
Twoim celem jest opracowanie zapytań, które rozwiązują różne scenariusze związane z zarządzaniem danymi w bazie.
Przykładowe scenariusze:
-
Dodawanie danych do tabeli: Wstaw nowe dane do tabeli
książki
w bibliotece:INSERT INTO książki (tytuł, liczba_stron, id_autora) VALUES ('Władca Pierścieni', 500, 1);
-
Wyszukiwanie danych: Pobierz wszystkie książki o liczbie stron powyżej 300:
SELECT * FROM książki WHERE liczba_stron > 300;
-
Łączenie tabel (JOIN): Wyświetl listę książek z ich autorami:
SELECT książki.tytuł, autorzy.imię, autorzy.nazwisko FROM książki JOIN autorzy ON książki.id_autora = autorzy.id;
-
Aktualizacja danych: Zaktualizuj liczbę stron książki:
UPDATE książki SET liczba_stron = 520 WHERE tytuł = 'Władca Pierścieni';
-
Śledzenie błędów:
Zapytania mogą generować błędy, czasem wynikające np. z braku wymaganych danych. Popraw zapytania, jeśli zostaną wygenerowane komunikaty błędów.