Dokumentacja - baza danych
Transcript of Dokumentacja - baza danych
DOKUMENTACJA POWSTAWANIA BAZY DANYCH SKLEPU MUZYCZNEGO
1. WPROWADZENIE1.1. Celem naszej pracy jest stworzenie relacyjnej bazy danych dotyczącej zasobów sklepu
muzycznego.1.2. Głównym zadaniem jest umożliwienie gromadzenia danych na temat posiadanego
towaru. System ma pozwolić na wprowadzanie nowych danych dotyczących towaru w sklepie, wykonawców płyt na stanie, krajów pochodzenia, wytwórni muzycznych i gatunku.; wyszukiwanie, aktualizowanie i usuwanie tych danych. Baza ma także mieć opcję koszyka na zakupy i wystawiania faktur za nie.
1.3. - Pojedyncza płyta (rekord) definiowana jest przez swój identyfikator.- Wiele płyt może być opisanych przez te same cechy z zakresu wykonawcy, gatunku, wytwórni muzycznej, nośnika i dostępności, ale każda z nich może posiadać tylko po jednej wartości danej cechy.- Wykonawcy i wytwórnie opisani są przez dodatkowe cechy – odpowiednio kraj pochodzenia i właściciela.
2. SCHEMAT BAZY – TABELE2.1. Jednorodna baza danych zawiera wszystkie cechy dotyczące rekordu (płyty) w
niepowiązanych ze sobą kolumnach tabeli
Glowna:- Identyfikator- Tytul- Rok_wydania- Index_sklepowy- Cena- Artysta- Gatunek- Wytwornia- Nosnik- Dostepnosc- Kraj- Wlasciciel wytworni
Łatwo zauważyć, że wiele danych opisujących rekordy powtarza się wielokrotnie. Przykładowo jeden artysta jest autorem wielu płyt, tak jak wytwórnia wydaje więcej niż jedną płytę.
2.2. Rozbijamy tabelę główną na tabele pomniejsze zawierające cechy płyt, powiązane z tabelą główną za pomocą indeksów.
Tabele pomniejsze (kolumny w nich):- Wykonawca (Id wykonawcy, Wykonawca)- Gatunek (Id gatunku, Gatunek)- Wytwornia (Id wytworni, Wytwornia)- Nosnik (Id nosnika, Nosnik)- Dostepnosc (Id dostepnosci, Dostepnosc)
1
- Kraj (id kraj, kraj)- Wlasciciel (Id wlasciciela, Wlasciciel)
2.3. Dodatkowo kraj pochodzenia jest przypisany nie bezpośrednio do płyty, a do jej wykonawcy. Podobnie sprawa ma się z właścicielem wytwórni muzycznej. Dlatego z tabeli głównej możemy usunąć pola Artysta i Wlasciciel, które przenosimy do tabeli pomniejszych Wykonawca i Wytowrnia.
Zmienione tabele (kolumny w nich):- Glowna (Identyfikator, Tytul, Rok_wydania, Index_sklepowy, Cena, Artysta, Gatunek, Wytwornia, Nosnik, Dostepnosc)- Wykonawca (Id wykonawcy, Wykonawca, Id kraju)- Wytwórnia (Id wytworni, Wytwornia, Id wlasciciela)
Każda z tabel posiada klucz podstawowy w kolumnie „Id *”, * - nazwa tabeli w dopełniaczu, za wyjątkiem tabeli głównej gdzie kluczem podstawowym jest pole Identyfikator.
2.4. Tworzymy tabelę pomocniczą Transakcja, umożliwiającą tworzenie zamówienia i wystawianie faktur.
Transakcja:- Id transakcji- Identyfikator- Tytul- Index_sklepowy- Cena- Artysta- Nosnik
2.5. Typy danych i ich rozmiar
Na czerwono zaznaczone klucze podstawowe w danych tabelach, na zielono klucze obce.
a) GlownaNazwa atrybutu Typ danych Rozmiar UwagiIdentyfikator Autonumerowanie Niepowtarzalny indeks płyty w sklepie (każda
fizyczna płyta posiada własny Identyfikator)Tytul Tekst 50 Zawiera pełny tytuł płyty, łącznie z ew.
zaznaczeniem reedycjiRok_wydania Liczba 4 Rok pierwszego wydania płyty (w przypadku
reedycji taki sam jak oryginał)Cena Walutowy 5 Cena płytyIndex_sklepowy Liczba 15 Indeks sklepowy towaru tworzony na
podstawie jego identyfikatora i daty dotarcia towaru do sklepu
Artysta Liczba 3 Indeks przypisany wykonawcy płytyGatunek Liczba 3 Indeks przypisany gatunkowiWytwornia Liczba 3 Indeks przypisany wytwórniNosnik Liczba 1 Indeks przypisany nośnikowiDostepnosc Liczba 1 Indeks przypisany statusowi dostępności płyty
w sklepie
2
b) Wykonawca
Nazwa atrybutu Typ danych Rozmiar UwagiId wykonawcy Autonumerowanie Niepowtarzalny indeks wykonawcy, którego
płyty dostępne są w sklepieWykonawca Tekst 30 Pełna nazwa wykonawcyId kraju Liczba 3 Indeks przypisany krajowi, z którego pochodzi
wykonawca
c) Gatunek
Nazwa atrybutu Typ danych Rozmiar UwagiId gatunku Autonumerowanie Niepowtarzalny indeks gatunku muzycznegoGatunek Tekst 20 Pełna nazwa gatunku muzycznego
d) Wytwornia
Nazwa atrybutu Typ danych Rozmiar UwagiId wytworni Autonumerowanie Niepowtarzalny indeks wytwórni, której płyty
dostępne są w sklepieWytwórni Tekst 30 Pełna nazwa wytworniId wlasciciela Liczba 3 Indeks przypisany właścicielowi wytwórni
e) Nosnik
Nazwa atrybutu Typ danych Rozmiar UwagiId nosnika Autonumerowanie Niepowtarzalny indeks nośnika, na którym jest
płytaNosnik Tekst 6 Rodzaj nośnika (uwzględniający wydawnictwa
dwóch różnych nośników, nie uwzględniający ilości nośników)
f) Dostepnosc
Nazwa atrybutu Typ danych Rozmiar UwagiId dostepnosci Autonumerowanie Niepowtarzalny indeks statusu dostępności
płyty w sklepieDostepnosc Tekst 13 Status dostępności płyty, opisujący także czas
realizacji zamówienia
g) Kraj
Nazwa atrybutu Typ danych Rozmiar Uwagiid kraju Autonumerowanie Niepowtarzalny indeks kraju, z którego
pochodzą wykonawcy płyt znajdujących się w sklepie
kraj Tekst 15 Kraj pochodzenia artysty
3
h) Wlasciciel
Nazwa atrybutu Typ danych Rozmiar UwagiId wlasciciela Autonumerowanie Niepowtarzalny indeks właściciela wytwórni
muzycznejWlasciciel Tekst 20 Właściciel wytwórni muzycznej (nazwa może
zawierać skróty, zawiera wartość „Prywatne” dla wytwórni niezależnych)
i) Transakcja
Nazwa atrybutu Typ danych Rozmiar UwagiId transakcji Autonumerowanie Niepowtarzalny indeks każdej transakcji
dokonanej w sklepieIdentyfikator Liczba 3 Niepowtarzalny indeks płyty w sklepie (każda
fizyczna płyta posiada własny Identyfikator)Tytul TekstVide Glowna 50 Zawiera pełny tytuł płyty, łącznie z ew.
zaznaczeniem reedycjiIndex_sklepowy Liczba 15 Indeks sklepowy towaru tworzony na
podstawie jego identyfikatora i daty dotarcia towaru do sklepu
Cena Walutowy 5 Cena płytyArtysta Liczba 1 Indeks przypisany wykonawcy płytyNosnik Liczba 1 Indeks przypisany nośnikowi
2.6. 1 Schemat relacji zachodzących w bazie, a ułatwiających operacje na danych.
4
Id nosnika…
Nosnik
Id dostepnosci…
Dostepnosc
Identyfikator…
ArtystaGatunek
WytworniaNosnik
Dostepnosc
Glowna
id kraju…
Kraj
Id wytworni…
Id wlasciciela
Wytwornia
Id wlasciciela…
Wlasciciel
Id wykonawcy…
Id kraju
Wykonawca
Id gatunku…
Gatunek
1
1
1
1
1
1
1
Relacje pomiędzy tabelami:
- Glowna a Wykonawca (płyta ma konkretnego wykonawca, jeden wykonawca może nagrać wiele płyt)- Glowna a Gatunek (płyta należy do konkretnego gatunku, wiele płyt może należeć do tego samego gatunku)- Glowna a Wytwornia (płyta jest wydana przez konkretna wytwórnię, wiele płyt jest wydanych przez jedną wytwórnię)- Glowna a Nosnik (płyta jest nagrana na konkretnym nośniku, wiele płyt może być nagranych na takim samym typie nośnika)- Glowna a Dostepnosc (płyta ma konkretny stopień dostępności w sklepie, wiele płyt może mieć ten sam status)- Wykonawca a Kraj (wykonawca pochodzi z konkretnego kraju, wielu wykonawców może pochodzić z tego samego kraju)- Wytwornia a Wlaciciel (wytwórnia ma konkretnego właściciela, wiele wytwórni może należeć do tego samego właściciela)
2.7. Po wprowadzeniu schematu relacji do programu zauważamy, że jest on poprawny.
5
3. FORMULARZE
W efekcie wykorzystujemy:
MenuAktualizowanieDodawanie albumu
Dodawanie artystyDodawanie gatunkuDodawanie wytwórni
TransakcjaWyszukiwanie
6
3.1. Menu
Formularz Menu pozwalający na wywoływanie wszystkich formularzy i wykonywanie wszelkich operacji oferowanych przez bazę danych.
7
3.2. Aktualizowanie
Formularz aktualizujący pozwala na zmianę danych dowolnie wybranego (wg określanych kryteriów) rekordu. Należy zwrócić uwagę (treść ostrzeżenia), że zmianie ulegają jedynie nie-puste pola z sekcji „Wprowadź nowe dane dla wybranego rekordu”. Nie zachodzi zatem potrzeba zmiany/edycji każdej wartości gdy docelowo zależy nam na zmianie jednego atrybutu.
Proces działania:Panel wyszukujący:Działa analogicznie do formularza „Wyszukiwanie”Panel „wybrany rekord”:Jego wartości aktualizują się po kliknięciu w pole listy panelu wyszukującego. Przycisk „Usuń rekord” powoduje usunięcie z tabeli ‘Glowna’ rekordu o wartości pola Identyfikator równej wartości pola Identyfikator wybranego rekordu.Panel aktualizujący:Po naciśnięciu przycisku „Aktualizuj” następuje wykonanie zapytania SQL – UPDATE. Dla każdego nie-pustego pola formularza panelu aktualizacyjnego wykonuje się oddzielne zapytanie UPDATE.
Obsługa:1) Sekcja wyszukiwania, nadawania kryteriów dla wyświetlanych wyników2) Tabelka z wynikami wyszukiwania3) Należy wybrać rekord z listy, automatycznie ukazuje się on w polu „Wybrany
rekord”4) Sekcja „„Wprowadź nowe dane dla wybranego rekordu”: należy wprowadzić
nowe wartości dla żądanych pól, pola które pozostają bez zmian pozostawiamy puste
5) Przycisk aktualizuj dokonuje zmiany wartości dla uzupełnionych pól w wybranym rekordzie
6) Przycisk usuń kasuje wybrany rekord
8
9
3.3. Dodawanie albumu
Formularz dodający nowy rekord do bazy. Połączony z formularzami Dodawanie artysty, Dodawanie gatunku, Dodawanie wytworni, dzięki którym można wprowadzić nowy rekord, niekorzystający z dotychczas odnotowanych w bazach artystów, gatunków i wytwórni.
Proces działania:Formularze dodawania składają się z pól tekstowych i pól kombi. Wartości dla pól kombi pobierane są z poszczególnych tabel przy pomocy zapytania SELECT. Po naciśnięciu przycisku „Dodaj” program sprawdza, czy wszystkie pola formularza dodawania zostały wypełnione. Jeśli te warunki zostaną spełnione, wykonane zostaje odpowiednio skonstruowane zapytanie INSERT.
1) Pola wartości dla nowego rekordu (uzupełniane ręcznie)2) Pola wartości dla nowego rekordu (wybór z listy Kombi, pobierającej dane z
tabel)3) Odnośniki do kolejnych formularzy dodających nowe rekordy do tabeli z
artystami, gatunkami bądź wytwórniami.4) Przycisk dodający nowy wpis do bazy płyt5) Przycisk ułatwiający nawigację, przywracający poprzedni ekran.
10
1)
2)
3)
4)5)
3.4. Transkacja
Formularz dokonywania zakupu, wyboru konkretnego albumu i dodania go do koszyka. Oparty o element wyszukujący album według podanych kryteriów. Pozycje z koszyka są dodawane do tabeli Transakcje, przechowywane tam do wykorzystania do utworzenia raportu, faktury
11
Proces działania:Panel wyszukujący działa analogicznie do panelu wyszukującego z formularza „Aktualizowanie”. Naciśnięcie przycisku „Dodaj do koszyka” powoduje dodanie rekordu do tabeli „Transakcja”. Tabela ta zawiera wartości pola Identyfikator. Przycisk „Usuń z listy” powoduje usunięcie z tabeli „Transakcja” rekordu o ID równym ID wybranego pola listy koszyka. Przycisk „Wyczyść listę” powoduje usunięcie wszystkich rekordów z tabeli „Transakcja”. Przycisk „Wyświetl fakturę” powoduje otworzenie podglądu raportu „Faktura”, który pobiera dane z kwerendy „Faktura”. Kwerenda ta pobiera wartości pól tabeli „Transakcja” i przypisuje im odpowiadające wartości z tabeli „Glowna” oraz innych tabel. Wartości zwrócone przez kwerendę pobierane są przez raport „Faktura”, który wyświetla je w postaci faktury. Przycisk „Drukuj fakturę” powoduje wydrukowanie utworzonego raportu.
12
3.5. Wyszukiwanie
Formularz wyszukiwania albumów oparty o dane wprowadzone przez użytkownika jak i wybrane z list Kombi (zasobów tabel)
Proces działania:Składa się z formularza (pola tekstowe/ kombi), pola listy oraz przycisku „Szukaj”. Użytkownik wypełnia formularz, ustalając kryteria dla wyników wyświetlanych w polu listy. Naciśnięcie przycisku „Szukaj” powoduje zmianę parametru (źródło wierszy) dla pola listy, który domyślnie jest pusty na odpowiednie zapytanie SQL. Postać tego zapytania SQL, jest modyfikowana na podstawie wpisanych/wybranych wartości pól formularza wyszukującego. Dzięki temu po kliknięciu przycisku „Szukaj” w polu listy wyświetlone zostają wszystkie rekordy o wybranych kryteriach.
13
Element pobierający kryteria wyszukiwania albumu
Tabelka z wynikami opartymi o kryteria wybrane przez uzytkownika
4. KWERENDY
4.1. Faktura jest kwerendą wybierającą, działającą na tabelach: Transakcja, Główna, Wykonawca, Nosnik. Pobiera Id transakcji z tabeli Transakcja wypełnianej automatycznie poprzez formularz Transakcja, zbiera elementy koszyka. Na jej podstawie tworzony jest raport-faktura zakupu.
Proces działania:Patrz: Formularz „Transakcja”
14
5. RAPORTY
Faktura to raport wyświetlający dane z tabeli Transakcje, pełni rolę faktury zakupu.
Proces działania:Patrz: Formularz „Transakcja”
Tomek Kamiński, Marcin Lichwała, Krzysztof Olchowik IIId
15