Opis bazy danych
Baza „Airsoft” ma na celu stworzenie systemu zarządzającego składanie replik broni i ich dystrybucję.
Baza składa się z tabel „Części”, „Pozycje”, „Repliki”, „Sklepy”, „Zamówienia”.
Tabela „Części” zawiera wszystkie części które są zamawiane przez nasz serwis lub przez niego wykorzystywane. Tutaj (lub za pomocą podarkusza danych w tabeli „Repliki”) możemy uzupełniać dane o częściach znajdujących się na stanie naszej firmy. Cechy opisujące części to m. in. producent, rodzaj (klasyfikacja - sprężyny, gumki etc.), przeznaczenie (do jakiej repliki ma zostać wykorzystane - tu trzeba wprowadzić numer odpowiedniej repliki), stan magazynowy (czyli ilość w magazynie) i cena danej części.
W tabeli, którą można by uznać za główną tj. „Repliki” posiadamy informację o złożonym komplecie broni jaki oferujemy. Tam znajduje się też informacja o rodzaju repliki (rodzaj napędu - sprężyna, bateria lub gaz).
Tabela „Zamówienia” zawierać będzie wszystkie wykonywane oraz wykonane przez naszą firmę zamówienia. Składa się ona z numeru zamówienia (unikalny, wykorzystywany np. do faktur), numeru sklepu zamawiającego oraz dat przyjęcia i realizacji. Data przyjęcia zawsze będzie wypełniona (w momencie gdy dostajemy zamówienie, wypełniamy pole od razu), natomiast data realizacji może zostać pusta (nie wszystkie zamówienia są już zrealizowane).
Tabela „Sklepy” zawiera wszystkie informacje o naszych odbiorach tj. sklepach. Informacje te to najczęściej te potrzebne do wysyłki towaru, czyli nazwa sklepu, jego właściciel, miejscowość w którym się znajduje, kod pocztowy i ulica. Są to stali odbiorcy, gdyż wysyłanie do pojedynczego, jednorazowego odbiory, wiązałoby się z „zaśmiecaniem” bazy przypadkowymi nazwiskami i adresami. Jest to działanie na zasadzie hurtowni. Kluczem podstawowym jest tutaj „ID sklepu”.
„Pozycje” jest tabelą pomocniczą. zawiera ona zamówione przez sklepy pozycje, które trzeba kolejno, ręcznie uzupełniać. Dotyczą one konkretnego zamówienia i konkretnej broni (te pola nie mogą zostać puste). Opisuje się też tam ilość sztuk zamówionej broni (repliki). Tabelę „Pozycje” uzupełniać można bezpośrednio przez podarkusz danych w tabeli „Zamówienia”.
We wszystkich polach określanych jako „ID” czy „numer” wprowadzać będziemy mogli wyłącznie liczby, a raczej częściej będzie to za nas robił komputer.
Każda replika składa się z określonych części. Zamówienia składa się z kolejnych pozycji, które zawierają zamówione repliki i ilość zamówionych sztuk. Zamówienia składane są przez określonych, znanych, wprowadzonych do bazy odbiorców (sklepy).
Kluczem podstawowym tabeli „Części” nazwa części. Zrezygnowaliśmy z pola takiego „ID_części”, gdyż każda z nazw części jest na tyle unikalna, że stwierdziliśmy, że nie będą się one powtarzać. Dodatkowo przyjęliśmy założenie, że każda z części ma tylko jedno unikalne wykorzystanie, co wyraża się nawet w jej nazwie (np. „Gumka HU Energy Czarna PSG-1”). Nawet gdybyśmy wykorzystali numerowanie części jako klucz główny, zamiast ich nazywania stworzyłoby to problemy podczas składania kompletów (relacja z tabelą „Repliki”). Nasuwa się też inny wniosek - w tej sytuacji każda wprowadzona do systemu część musi mieć jakieś użycie i będzie połączona jednocześnie z tabelą „Repliki”. Ma to też swoje dobre strony - nie będzie na składzie części nieużywanych i połączenie tabel „Części” i „Repliki”. Nie byliśmy w stanie stworzyć uniwersalnych części tj. pasujących do wielu broni, gdyż wiązało by się to z koniecznością stworzenia relacji wielu-do-wielu lub wytworzenia dodatkowej tabeli opartej na zasadzie podobnej do takiej relacji. Wtedy jednak widoczność pomiędzy tabelami „Części” i „Repliki” byłaby ograniczona.
Tabele „Repliki” i „Części” łączy relacja jeden-do-wielu tj. jeden komplet (replika) składa się z wielu części.
Tabela „Zamówienia” związana jest ona relacjami jeden-do-wielu z tabelami „Sklepy” i „Pozycje”, tak, że sklepy te i repliki będą mogły występować wielokrotnie w tabeli „Zamówienia”.