Kiedy użyć tego promptu
Na początku nowego projektu – małej aplikacji, panelu dla klienta, wewnętrznego narzędzia. Błędy w schemacie bazy kosztują najwięcej, bo poprawia się je, gdy w tabelach są już dane, a na nich stoi cały kod. Przemyślenie struktury z modelem zajmuje kwadrans i często wyłapuje rzeczy, o których nie pomyślałeś.
Przykład
Przykładowe dane do uzupełnienia:
- OPIS APLIKACJI: system rezerwacji sal szkoleniowych: sale, terminy, rezerwacje, faktury, przypomnienia mailowe
- UŻYTKOWNICY: administrator, recepcja, klienci firmowi (kilka osób z jednej firmy)
- BAZA DANYCH: MySQL 8
- SKALA: kilkanaście sal, kilka tysięcy rezerwacji rocznie
Czego się spodziewać: Dostaniesz tabele typu rooms, companies, users, bookings i invoices z kluczami obcymi, indeksem na sali i dacie pod sprawdzanie konfliktów terminów oraz pytaniami do przemyślenia, np. czy rezerwacja może obejmować kilka sal i co się dzieje z fakturą po anulowaniu.
Jak dopasować prompt do siebie
- Prosta aplikacja na SQLite: poproś o uproszczony schemat bez zbędnych tabel słownikowych.
- Aplikacja z wieloma klientami (multi-tenant): dodaj wymóg kolumny klienta w każdej tabeli i indeksów pod nią.
- Rozbudowa istniejącej bazy: wklej obecny schemat i poproś o zmiany z migracjami zamiast projektu od zera.
Wskazówki
- Opisz najczęstsze operacje (co użytkownik robi codziennie) – od nich zależą indeksy.
- Pieniądze przechowuj w typie DECIMAL albo w groszach jako liczby całkowite, nigdy jako FLOAT.
- Przejrzyj schemat z osobą, która zna proces biznesowy – model nie zna wyjątków z Twojej firmy.
Najczęstsze błędy
- Przechowywanie list w jednej kolumnie oddzielonych przecinkami zamiast tabeli łączącej.
- Brak decyzji, co się dzieje z danymi powiązanymi przy usuwaniu rekordu.
Co dalej – dopytaj model
Gdy dostaniesz odpowiedź, możesz pójść krok dalej tym poleceniem:
Napisz do tego schematu przykładowe dane testowe (po kilka rekordów na tabelę) i 5 najczęstszych zapytań, których będzie używać aplikacja.