You are on page 1of 15

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

Ł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) Glowna
Nazwa atrybutu Typ danych Rozmiar Uwagi
Identyfikator 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 reedycji
Rok_wydania Liczba 4 Rok pierwszego wydania płyty (w przypadku
reedycji taki sam jak oryginał)
Cena Walutowy 5 Cena płyty
Index_sklepowy Liczba 15 Indeks sklepowy towaru tworzony na
podstawie jego identyfikatora i daty dotarcia
towaru do sklepu
Artysta Liczba 3 Indeks przypisany wykonawcy płyty
Gatunek Liczba 3 Indeks przypisany gatunkowi
Wytwornia Liczba 3 Indeks przypisany wytwórni
Nosnik Liczba 1 Indeks przypisany nośnikowi
Dostepnosc Liczba 1 Indeks przypisany statusowi dostępności płyty
w sklepie

2
b) Wykonawca

Nazwa atrybutu Typ danych Rozmiar Uwagi


Id wykonawcy Autonumerowanie Niepowtarzalny indeks wykonawcy, którego
płyty dostępne są w sklepie
Wykonawca Tekst 30 Pełna nazwa wykonawcy
Id kraju Liczba 3 Indeks przypisany krajowi, z którego pochodzi
wykonawca

c) Gatunek

Nazwa atrybutu Typ danych Rozmiar Uwagi


Id gatunku Autonumerowanie Niepowtarzalny indeks gatunku muzycznego
Gatunek Tekst 20 Pełna nazwa gatunku muzycznego

d) Wytwornia

Nazwa atrybutu Typ danych Rozmiar Uwagi


Id wytworni Autonumerowanie Niepowtarzalny indeks wytwórni, której płyty
dostępne są w sklepie
Wytwórni Tekst 30 Pełna nazwa wytworni
Id wlasciciela Liczba 3 Indeks przypisany właścicielowi wytwórni

e) Nosnik

Nazwa atrybutu Typ danych Rozmiar Uwagi


Id nosnika Autonumerowanie Niepowtarzalny indeks nośnika, na którym jest
płyta
Nosnik 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 Uwagi


Id dostepnosci Autonumerowanie Niepowtarzalny indeks statusu dostępności
płyty w sklepie
Dostepnosc Tekst 13 Status dostępności płyty, opisujący także czas
realizacji zamówienia

g) Kraj

Nazwa atrybutu Typ danych Rozmiar Uwagi


id 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 Uwagi


Id wlasciciela Autonumerowanie Niepowtarzalny indeks właściciela wytwórni
muzycznej
Wlasciciel 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 Uwagi


Id transakcji Autonumerowanie Niepowtarzalny indeks każdej transakcji
dokonanej w sklepie
Identyfikator 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 reedycji
Index_sklepowy Liczba 15 Indeks sklepowy towaru tworzony na
podstawie jego identyfikatora i daty dotarcia
towaru do sklepu
Cena Walutowy 5 Cena płyty
Artysta Liczba 1 Indeks przypisany wykonawcy płyty
Nosnik Liczba 1 Indeks przypisany nośnikowi

2.6. Schemat relacji zachodzących w bazie, a ułatwiających operacje na danych.


1
Kraj 1 Nosnik
Wykonawca 1
id kraju Id nosnika
1
… Id wykonawcy …
… Glowna
Id kraju
Identyfikator

Artysta
Gatunek Gatunek
1
Id gatunku Wytwornia
… Nosnik Dostepnosc
1
Dostepnosc Id dostepnosci

Wytwornia
Wlasciciel 1
Id wytworni
Id wlasciciela 1 …
… Id wlasciciela

4
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:

Menu
Aktualizowanie
Dodawanie albumu
Dodawanie artysty
Dodawanie gatunku
Dodawanie wytwórni
Transakcja
Wyszukiwanie

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ów
2) Tabelka z wynikami wyszukiwania
3) 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
1)

2)

3)

6)

4)

5)

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)

2)

3)

5) 4)

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łyt
5) Przycisk ułatwiający nawigację, przywracający poprzedni ekran.

10
1)
2)
1)
4)

5) 4)

1)

5) 4)

1)
2)

1) 4)

5) 4)

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
Element
pobierający
kryteria
wyszukiwania
albumu

Przyciski dodające
elementy do koszyka,
wywołujące fakturę
Zarządzanie
listą pozycji w
koszyku
Koszyk, wyświetla
wybrane albumy gotowe
do dodania do faktury

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.

Element pobierający
kryteria
wyszukiwania
albumu

Tabelka z wynikami opartymi o


kryteria wybrane przez uzytkownika

13
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

You might also like