| Termin | Definicja |
|---|---|
| Tworzenie tabeli | Tworzenie tabeli poleceniem CREATE TABLE definiuje jej kolumny, typy danych i ograniczenia. Tworzenie tabeli w bazie danychTworzenie tabeli to etap projektowania bazy danych, w którym określa się strukturę przechowywanych informacji. Tabela porządkuje dane w wierszach i kolumnach, dzięki czemu można je później wyszukiwać, sortować, łączyć oraz modyfikować za pomocą zapytań SQL. Każdy wiersz opisuje pojedynczy obiekt, zdarzenie albo relację, natomiast każda kolumna przechowuje określoną cechę tego obiektu. W tabeli pracowników wiersz może przedstawiać jedną osobę, a kolumny mogą zawierać jej identyfikator, imię, stanowisko i datę rozpoczęcia pracy. Do utworzenia tabeli stosuje się polecenie
W tym przykładzie kolumna Tworzenie tabeli a typy danychDobór typu danych wpływa na sposób zapisu, porównywania i przetwarzania wartości. Dla krótkich tekstów często stosuje się Nie powinno się wybierać typu wyłącznie na podstawie aktualnych przykładowych danych. Należy uwzględnić możliwy rozwój aplikacji, dopuszczalną długość tekstu, zakres liczb oraz wymagania dotyczące dokładności. Numer telefonu nie powinien być przechowywany jako liczba, ponieważ może zawierać znak plus, spacje lub zera początkowe. Kod pocztowy również lepiej traktować jako tekst. W przypadku kwot istotne jest zachowanie dokładności, dlatego typ zmiennoprzecinkowy może prowadzić do niepożądanych różnic przy obliczeniach finansowych. Ważną decyzją jest także sposób obsługi braku wartości. Tworzenie tabeli, klucze i ograniczeniaKlucz główny nadaje rekordom jednoznaczną tożsamość. Zwykle jest to pojedyncza kolumna z identyfikatorem generowanym przez bazę, lecz w niektórych modelach sprawdza się klucz złożony z kilku kolumn. Klucz główny nie powinien zmieniać się przy każdej modyfikacji opisywanego obiektu, ponieważ inne tabele mogą odwoływać się do niego za pomocą kluczy obcych. Klucz obcy ustanawia powiązanie między tabelami. Jeżeli tabela Ograniczenie Ograniczenia najlepiej definiować już podczas tworzenia tabeli, ponieważ opisują reguły obowiązujące niezależnie od aplikacji, która korzysta z bazy. Dzięki temu dane pozostają spójne także wtedy, gdy do tego samego zbioru odwołuje się kilka programów, skryptów lub narzędzi administracyjnych. Tworzenie tabeli a porządkowanie modeluPrzed wydaniem polecenia Podczas projektowania należy rozdzielić dane powtarzalne od danych opisujących pojedynczy obiekt. Informacje o kategorii produktu nie muszą być kopiowane do każdego rekordu produktu. Można przechowywać je w tabeli kategorii i użyć klucza obcego. Ogranicza to liczbę powtórzeń oraz ryzyko, że przy zmianie nazwy kategorii część rekordów pozostanie nieaktualna. Warto także zachować spójne nazewnictwo. Nazwy tabel i kolumn powinny być jednoznaczne, przewidywalne oraz zgodne z zasadami przyjętymi w danym projekcie. Należy uważać na słowa zarezerwowane przez konkretny system bazodanowy, różnice w wielkości liter oraz znaki specjalne. Dobrą praktyką jest zapisanie definicji w repozytorium projektu lub w kontrolowanym zestawie migracji. Pozwala to odtworzyć strukturę, przejrzeć historię zmian i przygotować to samo środowisko w różnych miejscach. Na etapie projektowania trzeba przewidzieć także indeksy, ale nie należy tworzyć ich bez analizy. Indeks może przyspieszyć wyszukiwanie po często wykorzystywanej kolumnie, jednak zajmuje miejsce i zwiększa koszt operacji dopisujących oraz aktualizujących dane. Klucz główny i ograniczenia unikalności często powodują utworzenie indeksów automatycznie, natomiast dodatkowe indeksy powinny wynikać z rzeczywistych zapytań. Tworzenie tabeli i praktyczne sprawdzenie strukturyPo wykonaniu polecenia należy sprawdzić, czy tabela została utworzona zgodnie z założeniami. W zależności od systemu można użyć polecenia opisującego strukturę tabeli, zapytać o metadane albo wyświetlić definicję obiektu. Należy zweryfikować nazwy kolumn, typy danych, możliwość zapisu wartości pustych, wartości domyślne, klucz główny oraz relacje z innymi tabelami. Przydatny jest test obejmujący zarówno prawidłowy zapis, jak i próby naruszenia reguł. Można sprawdzić, czy brak wymaganej wartości zostanie odrzucony, czy powtórzenie wartości unikalnej zakończy się błędem oraz czy klucz obcy nie pozwoli na utworzenie nieistniejącego powiązania. Warto również przetestować daty graniczne, długie teksty, wartości ujemne i znaki używane w językach innych niż angielski, jeżeli tabela będzie przechowywać dane wielojęzyczne. Zmiany istniejącej tabeli powinny być planowane ostrożnie. Dodanie kolumny może wymagać wartości domyślnej, jeśli tabela zawiera już rekordy. Skrócenie długości tekstu może spowodować odrzucenie danych albo ich utratę. Usunięcie kolumny lub zmiana typu może wpłynąć na zapytania, formularze, raporty i procesy zasilające bazę. Przed taką operacją należy sprawdzić zależności oraz wykonać kopię danych zgodnie z procedurą obowiązującą w danym środowisku. Jeżeli problemy z tworzeniem tabeli wynikają z nieprawidłowej konfiguracji komputera, uszkodzonego nośnika albo błędów środowiska programistycznego, można zgłosić się do Warszawskiego Pogotowia Komputerowego 24/7, gdzie serwis obejmuje sprzęt laptopowy i komputery PC. Przy przygotowywaniu zgłoszenia warto opisać używany system bazodanowy, treść komunikatu błędu, moment wystąpienia problemu oraz czynności wykonane przed jego pojawieniem się. Takie informacje ułatwiają odróżnienie błędu w definicji SQL od problemu ze środowiskiem, uprawnieniami lub sprzętem. |