Dokumentacja - baza danych

20
DOKUMENTACJA POWSTAWANIA BAZY DANYCH SKLEPU MUZYCZNEGO 1. WPROWADZENIE 1.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 – TABELE 2.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 1

Transcript of Dokumentacja - baza danych

Page 1: 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

Page 2: Dokumentacja - baza danych

- 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

Page 3: Dokumentacja - baza danych

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

Page 4: Dokumentacja - baza danych

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

Page 5: Dokumentacja - baza danych

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

Page 6: Dokumentacja - baza danych

3. FORMULARZE

W efekcie wykorzystujemy:

MenuAktualizowanieDodawanie albumu

Dodawanie artystyDodawanie gatunkuDodawanie wytwórni

TransakcjaWyszukiwanie

6

Page 7: Dokumentacja - baza danych

3.1. Menu

Formularz Menu pozwalający na wywoływanie wszystkich formularzy i wykonywanie wszelkich operacji oferowanych przez bazę danych.

7

Page 8: Dokumentacja - baza danych

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

Page 9: Dokumentacja - baza danych

9

Page 10: Dokumentacja - baza danych

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)

Page 11: Dokumentacja - baza danych

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

Page 12: Dokumentacja - baza danych

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

Page 13: Dokumentacja - baza danych

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

Page 14: Dokumentacja - baza danych

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

Page 15: Dokumentacja - baza danych

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