Baza Danych Stena Line PDF

Title Baza Danych Stena Line
Course BAZY DANYCH
Institution Politechnika Gdanska
Pages 31
File Size 2.2 MB
File Type PDF
Total Downloads 94
Total Views 144

Summary

Projekt Bazy Danych OiO...


Description

Dokumentacja projektu nr10

Temat Projektu: „Baza danych oferty Stena Line” Projekt bazy danych przygotowany dla klienta chcącego dokonać zakupu wycieczki u przewoźnika Stena Line.

str. 1

1. OPIS PROJEKTU Nasza baza danych obejmuje szczegółowe informacje na temat ofert oferowanych przez jednego z największych operatorów promowych na świecie- Stena Line. Osoby odpowiedzialne za projekt to : Waszczuk Paulina- pełniąca rolę informatyka, Małek Żaneta- pełniąca rolę poszukiwacza danych niezbędnych do wykonania projektu oraz Możejko Paulina- zajmująca się dokumentacją postępów prac. Zadaniem bazy danych jest przechowywanie informacji na temat wszystkich 29 wycieczek z Gdyni, które oferuje przewoźnik. Znajdziemy w niej informacje o trasach, promach, wycieczkach, typach wycieczek, rejsach, cenach i dniach tygodnia w których odbywają się wycieczki. Znalezione dane zostaną odpowiednio uporządkowane w tabelach w programie Ms Excel oraz przedstawione za pomocą schematu ER, który zostanie utworzony w programie Ms Visio. W naszej bazie danych istnieją 3 promy które są identyfikowane poprzez : id_prom, liczbę pasażerów, liczbę aut i nazwę. Encja wycieczka zawiera niezbędne informacje na temat nazw wszystkich 29 wycieczek oraz celów podróży. Wycieczki opisujemy za pomocą : id_wycieczka, kierunek i nazwa. Każda z wycieczek różni się od siebie cenowo w zależności od liczby podróżujących, kierunku podróży lub czasu trwania wycieczki. Cenę identyfikujemy jako : id_cena, kwota,data od, data do, wiek podróżującego. Rejsy odbywają się o różnych godzinach i w różnych dniach. Identyfikowane są jako : id_wypłynięcie, data od,data do, godzina od. Wycieczki oferowane przez przewoźnika Stena Line mają 3 typy. Typ wycieczki identyfikujemy jako: id_typ oraz nazwa. Wycieczki różnią się między sobą dniami tygodnia, w których się odbywają. Dzień tygodnia identyfikujemy jako: id_dzień tygodnia i nazwa.

str. 2

2. Schemat Encja-Relacja

Rysunek 0-1. Schemat ER

    

Jedna cena może przynależeć do wielu wycieczek, a jedna wycieczka może mieć wiele rożnych cen. Relacja N-N. Jedna wycieczka może mieć jeden typ, a jeden typ może przynależeć do wielu wycieczek. Relacja N-1. Jedna wycieczka może obsługiwać wiele rejsów, a jeden rejs może się odbywać na wielu wycieczkach. Relacja N-N. Jeden rejs może odbywać się w jednym dniu tygodnia, a w ciągu jednego dnia tygodnia może odbywać się wiele rejsów. Relacja N-1. Jeden rejs ma jeden prom, a jeden prom może pływać w wielu rejsach. Relacja N-1.

str. 3

3. Przykładowe dane Tabela 3-1. Przykładowe wycieczki oferowane przez przewoźnika

Nazwa Weekend na morzu Rodzinne niedziele Halloween: morze Andrzejki na morzu Szwecja w 1 dzień Karlskrona Malmo i Lund Karlskrona-Kalmar Szwecja w pigułce Tanie wtorki

Kierunek Szwecja Szwecja Szwecja Szwecja Szwecja Szwecja Szwecja Szwecja Szwecja Szwecja

Tabela 3-2. Przykładowe ceny wycieczek i ich terminy

Kwota 199,00 zł 0,00 zł 129,00 zł 239,00 zł 379,00 zł 458,00 zł 537,00 zł 387,00 zł 308,00 zł 229,00 zł

Wiek Dorosły Dziecko 0-3 lat Dziecko 4-15 lat Dorosły 2 dorosłych + dziecko 2 dorosłych + 2 dzieci 2 dorosłych + 3 dzieci Dorosły +3 dzieci Dorosły + 2 dzieci Dorosły + dziecko

Data od 25 maj 25 maj 25 maj 9 lipiec 20 maj 20 maj 20 maj 20 maj 20 maj 20 maj

Data do 8 lipiec 8 lipiec 8 lipiec 19 sierpień 27 maj 27 maj 27 maj 27 maj 27 maj 27 maj

Wnioski Zadania jakie powinna realizować baza danych to : 1. Sprawdzić, jaką ilość pasażerów lub aut może zabrać prom w danym rejsie, 2. Udostępnić informacje na temat cen biletów za daną wycieczkę dla osoby dorosłej i dziecka, 3. Sprawdzić, ile w danym rejsie będzie organizowanych wycieczek, 4. Pokazać, jak będzie się zmieniała cena organizowanych wycieczek w poszczególnych okresach roku.

str. 4

4. Baza danych 4.1

Tabele główne

Nazwa tabeli :Prom    

Id_prom -Autonumerowanie Nazwa –Tekst. Rozmiar pola -255. Liczba aut –Liczba. Liczba pasażerów –Liczba.

Tabela 4-3. Promy

prom id_Prom

NAZWA

LICZBA AUT LICZBA PASAŻERÓW

1 STENA SPIRIT 2 STENA VISION

460 460

1700 1700

3 STENA BALTICA

100

176

Nazwa tabeli: Typ wycieczki  

id_Typ_wycieczki -Autonumerowanie Typ –Tekst. Rozmiar pola -255.

Tabela 4-4. Typ wycieczki

TYP WYCIECZKI id_Typ_wycieczki

Typ

1 Rejs jednodniowy 2 Rejs dwudniowy 3 Rejs kilkudniowy

str. 5

Nazwa tabeli: Rejs Id_Rejs -Autonumerowanie Godzina_od –Data/Godzina. id_Dzien_tygodnia–Liczba Id_prom -Liczba

   

Tabela 4-5. Rejsy

REJS id_Rejs

godzina_od

id_Dzien_tygodnia

id_Prom

1 2

09:00 21:00

2 2

1 2

3 4

23:59 09:00

2 3

3 1

5 6

21:00 23:59

3 3

2 3

7 8

09:00 21:00

4 4

1 2

9 10

08:00 21:00

5 5

3 1

11 12

09:00 18:00

6 6

2 3

13 14

21:00 09:00

6 7

1 2

15 16

18:00 21:00

7 7

3 1

17 18

19:30 23:59

1 1

2 3

str. 6

Nazwa tabeli: Wycieczka    

Id_wycieczka -Autonumerowanie Nazwa –Tekst. Rozmiar pola -255. Kierunek -Tekst. Rozmiar pola -255. Id_typ –Liczba.

Tabela 4-6. Wycieczki

WYCIECZKA id_Wycieczka nazwa 1 RODZINNE NIEDZIELE 5 RODZINNE NIEDZIELE 7 HALLOWEEN: MORZE

kierunek id_Typ SZWECJA 1 SZWECJA SZWECJA

1 1

8 ANDRZEJKI NA MORZU SZWECJA 9 SZWECJA W 1 DZIEŃ SZWECJA

1 2

10 KARLSKRONA 12 MALMO I LUND

SZWECJA SZWECJA

2 2

13 KARLSKRONA-KALMAR SZWECJA 14 SZWECJA W PIGUŁCE SZWECJA

2 2

15 TANIE WTORKI 16 KALMAR I OLANDA

SZWECJA SZWECJA

2 2

18 ŁOSIE I KRAINA SZKŁA SZWECJA 19 OTTENBY, PD. OLANDIA SZWECJA

2 2

20 OLANDIA 21 KRISTIANSTAD

SZWECJA NORWEGIA

2 2

23 SMALANDIA 25 KRAINA PIPPI

SZWECJA SZWECJA

2 2

26 BIEGOWY POTOP 27 PARK OLANDIA

SZWECJA SZWECJA

2 2

28 ARCHIPELAG SZWECJA 29 HALLOWEEN: SZWECJA SZWECJA

2 2

30 ANDRZEJKI W SZWECJI SZWECJA 31 PO SKANDYNAWI SZWECJA

2 3

34 KOPENHAGA MALMO 37 GOTLANDIA

SZWECJA SZWECJA

3 3

38 MOTOCYKLOWY POTOP SZWECJA 39 SZTOKHOLM SZWECJA

3 3

40 OSLO I GOTEBORG 41 BORNHOLM I SKANIA

3 3

SZWECJA DANIA

str. 7

Nazwa tabeli: Cena      

Id_Cena –Autonumerowanie Kwota –Liczba. Wiek –Tekst. Rozmiar pola- 255. Id_wycieczka –Liczba. Data_od –Data/Godzina. Data_do –Data/Godzina.

Tabela 4-7. Cena

Cena id_cena kwota id_wiek id_rejs id_wycieczka data_od data_do 1 199,00 2 0,00

1 2

17 17

1 25.maj 1 25.maj

08.lip 08.lip

3 129,00 4 239,00

3 1

17 12

1 25.maj 1 09.lip

08.lip 19.sie

5 0,00 6 169,00

2 3

12 12

1 1

09.lip 09.lip

19.sie 19.sie

7 219,00 8 0,00

1 2

14 14

1 1

09.lip 09.lip

19.sie 19.sie

9 149,00 10 199,00

3 1

14 12

1 09.lip 1 25.maj

19.sie 08.lip

11 0,00 12 129,00

2 3

12 12

1 25.maj 1 25.maj

08.lip 08.lip

13 199,00 14 0,00

1 2

14 14

1 25.maj 1 25.maj

08.lip 08.lip

15 129,00 16 199,00

3 1

14 11

1 25.maj 1 25.maj

08.lip 08.lip

17 0,00 18 129,00

2 3

11 11

1 25.maj 1 25.maj

08.lip 08.lip

19 199,00 20 0,00

1 2

2 2

1 25.maj 1 25.maj

08.lip 08.lip

21 129,00 22 199,00

3 1

2 5

1 25.maj 1 25.maj

08.lip 08.lip

23 0,00 24 129,00

2 3

5 5

1 25.maj 1 25.maj

08.lip 08.lip

25 199,00 26 0,00

1 2

8 8

1 25.maj 1 25.maj

08.lip 08.lip

27 129,00 28 239,00

3 1

8 11

1 25.maj 1 09.lip

08.lip 19.sie

29

2

11

1

19.sie

0,00

09.lip

str. 8

Nazwa tabeli: Dzień tygodnia:  

Id_dzien_tygodnia- Autonumerowanie Nazwa- Tekst, Rozmiar pola : 255.

Tabela 4-8. Dzień tygodnia

dzien_tygodnia id_dzien_tygodnia nazwa 1 poniedziałek 2 wtorek 3 środa 4 czwartek 5 piątek 6 sobota 7 niedziela

Nazwa tabeli: wiek  

Id_wiek- Autonumerowanie Wiek- Tekst, Rozmiar pola : 255.

Tabela 4-9 Wiek

wiek id_wiek 1 DOROSŁY

wiek

2 DZIECKO 0-3 LAT 3 dziecko 4-15 4 2 dorosłych + dziecko 5 2 dorosłych + 2 dzieci 6 2 dorosłych + 3 dzieci 7 dorosły + 3 dzieci 8 dorosły + 2 dzieci 9 dorosły + dziecko 10 senior 11 Cena na osobę przy 2 osobach w kabinie 2-os, 1 samochód 2m/6m 12 Cena na osobę przy 4 osobach w 2 kabinach 2-os, 1 samochód 2m/6m 13 Cena na osobę przy 4 osobach w kabinie 4-os, 1 samochód 2m/6m 14 singiel

str. 9

4.2   

Tabela łącząca

Nazwa tabeli : Wycieczka ma rejs Identyfikator- Autonumerowanie Id_rejs-Liczba Id_wycieczka-Liczba

Tabela 4-10. Wycieczka ma rejs

wycieczka_ma_rejs Identyfikator id_rejs id_wycieczka 1 17 1 2 3

17 17

1 1

4 5

12 12

1 1

6 7

12 14

1 1

8 9

14 14

1 1

10 11

12 12

1 1

12 13

12 14

1 1

14 15

14 14

1 1

16 17

11 11

1 1

18 19

11 2

1 1

20 21

2 2

1 1

22 23

5 5

1 1

24 25

5 8

1 1

26 27

8 8

1 1

28 29

11 11

1 1

30 31

11 17

1 1

32

17

1

str. 10

wycieczka_ma_rejs Identyfikator id_rejs id_wycieczka 33 17 1

Rysunek 4-2.Relacje

str. 11

5. Kwerendy: 5.1

Kwerendy wybierające:

Służą do zbierania i wyświetlania informacji z tabeli lub tabel, sumowania i wyliczania średnich oraz do grupowania rekordów. 5.1.1 Kwerenda „Wycieczka-Cena” : Przedstawia listę wycieczek uporządkowanych rosnąco ze względu na cenę. Widok SQL: SELECT WYCIECZKA.nazwa, Cena.kwota, Cena.wiek, Cena.data_od, Cena.data_do, [TYP WYCIECZKI].id_Typ FROM [TYP WYCIECZKI] INNER JOIN (Cena INNER JOIN WYCIECZKA ON Cena.id_Cena = WYCIECZKA.id_Wycieczka) ON [TYP WYCIECZKI].id_Typ = WYCIECZKA.id_Typ ORDER BY Cena.kwota;

Rysunek 3. Widok arkusza danych 1

str. 12

Rysunek 4. Widok projektu

5.1.2

Kwerenda „Typ- Wycieczka”

Przedstawia listę wszystkich wycieczek w zależności od typu wycieczki- rejs jednodniowy, dwudniowy lub kilkudniowy. SELECT [TYP WYCIECZKI].Typ, WYCIECZKA.nazwa FROM [TYP WYCIECZKI] INNER JOIN WYCIECZKA ON [TYP WYCIECZKI].[id_Typ] = WYCIECZKA.id_Typ ;

str. 13

Rysunek 5. Widok arkusza danych 2

str. 14

Rysunek 6. Widok projektu

str. 15

5.1.3

Kwerenda „Kierunek-wycieczka”

Przedstawia listę wszystkich wycieczek według celu. Widok SQL: SELECT WYCIECZKA.kierunek, WYCIECZKA.nazwa FROM WYCIECZKA;

Rysunek 7. Widok arkusza danych 3,

str. 16

.

Rysunek 8. Widok projektu.

5.2 Kwerenda podsumowująca: Kwerenda, która wyświetla wynik podsumowania, na przykład wartość średnią lub sumę, dla wartości w różnych polach tabeli lub tabel. 5.1.2

Kwerenda „Ile wycieczek jest planowanych do danego miejsca”

Przedstawia listę kierunków oraz liczbę wykonywanych do nich wycieczek. Widok SQL: SELECT WYCIECZKA.kierunek, Count(WYCIECZKA.nazwa) AS PoliczOfnazwa FROM WYCIECZKA GROUP BY WYCIECZKA.kierunek;

Rysunek 9. Widok arkusza danych 4.

str. 17

Rysunek 10. Widok projektu

5.1.3

Kwerenda „ Liczba wycieczek w danym typie”

Przedstawia, ile wycieczek odbywa się dla rejsów jednodniowych, kilkudniowych i dwudniowych. Widok SQL: SELECT [TYP WYCIECZKI].Typ, Count(WYCIECZKA.nazwa) AS PoliczOfnazwa FROM [TYP WYCIECZKI] INNER JOIN WYCIECZKA ON [TYP WYCIECZKI].id_Typ_wycieczki = WYCIECZKA.id_Typ GROUP BY [TYP WYCIECZKI].Typ ORDER BY Count(WYCIECZKA.nazwa);

str. 18

Rysunek11.Widok arkusza danych 5.

Rysunek 125-3. Widok projektu

5.2 Kwerenda krzyżowa: Wyświetla zliczone wartości z pola, porządkuje wartości w wiersze i kolumny oraz łączy analizy zliczania oraz sumowania. 5.2.2

Kwerenda „Promy obsługujące wycieczki”

Przedstawia jakie promy obsługują poszczególne wycieczki. Widok SQL: TRANSFORM Count(WYCIECZKA.kierunek) AS PoliczOfkierunek SELECT prom.NAZWA_PROMU FROM WYCIECZKA INNER JOIN (prom INNER JOIN REJS ON prom.id_Prom = REJS.id_Prom) ON WYCIECZKA.id_Wycieczka = REJS.id_Rejs GROUP BY prom.NAZWA_PROMU PIVOT WYCIECZKA.nazwa;

str. 19

Rysunek 13. Widok arkusza danych 6.

Rysunek 5-44. Widok projektu

str. 20

5.3 Kwerenda usuwająca: Usuwa grupę rekordów z jednej lub kilku tabel. 5.3.2

Kwerenda „ Usuwanie zepsutego promu”

Pokazuje straty w przewozie aut i pasażerów po usunięciu statku. Widok SQL: DELETE prom.NAZWA AS Wyr1, prom.[LICZBA AUT], prom.[LICZBA PASAŻERÓW] FROM prom;

Rysunek15. Widok arkusza danych 7.

Rysunek 16. Widok projektu

str. 21

5.4 Kwerenda aktualizująca: Dokonuje globalnych zmian w grupie rekordów w tabeli lub kilku tabelach. Za pomocą kwerend aktualizujących można zmienić dane w istniejących tabelach. 5.4.1

Kwerenda „Zmiana godziny wypłynięcia”

Widok SQL: UPDATE REJS SET REJS.godzina_od = "godzina_od";

Rysunek 17. Widok arkusza danych 8.

Rysunek 18. Widok projektu

str. 22

Kwerenda „-50% ceny dla dzieci w wieku 4-15” Dokonuje zmiany ceny o 50% dla dzieci w wieku 4-15 lat. Widok SQL: UPDATE WYCIECZKA INNER JOIN Cena ON WYCIECZKA.id_Wycieczka = Cena.id_wycieczka SET Cena.kwota = [kwota]*0.5 WHERE (((Cena.id_wiek)=3));

str. 23

5.5 Kwerenda tworząca nową tabele: 5.5.1

Kwerenda „informacje o wypłynięciu wycieczki”

Widok SQL: SELECT WYCIECZKA.nazwa, WYCIECZKA.kierunek, dzien_tygodnia.nazwa, REJS.godzina_od INTO [wycieczka-rejs 6] FROM (dzien_tygodnia INNER JOIN REJS ON dzien_tygodnia.id_dzien_tygodnia = REJS.id_dzien_tygodnia) INNER JOIN (WYCIECZKA INNER JOIN wycieczka_ma_rejs ON WYCIECZKA.id_Wycieczka = wycieczka_ma_rejs.id_wycieczka) ON REJS.id_Rejs = wycieczka_ma_rejs.id_rejs;

Rysunek 19. Widok arkusza danych 9.

str. 24

Rysunek 20. Widok projektu

str. 25

6. Formularze Formularze umożliwiają utworzenie interfejsu użytkownika, w którym można wprowadzać i edytować dane.

6.1

Formularz 1-„wycieczka”

Jest to formularz cen wycieczek. Wpisując nazwę wycieczki można sprawdzić wszystkie dane wycieczki.

Rysunek 6-51. Formularz 1

str. 26

6.2

Formularz 2- „kierunek-prom- godzina”

Jest to formularz wycieczek do wybranego miejsca. Po wyborze kierunku wycieczki można sprawdzić wszystkie dane dotyczące rejsu.

Rysunek 22. Formularz 2

str. 27

6.3

Formularz 3- „prom”

Jest to formularz zawierający informacje o promach. Wybierając prom formularz pokazuje nam ile aut i pasażerów może zabrać oraz w jakich godzinach są rejsy.

Rysunek 23. Formularz 3.

str. 28

7. Raporty Raporty służą do formatowania, podsumowywania i wyświetlania danych. Zazwyczaj raport umożliwia udzielenie odpowiedzi na określone pytanie dotyczące danych

7.1

Raport „cena”

Raport wyświetla wszystkie informacje na temat cen wycieczek w określonym terminie..

Rysunek 24. Raport 1.

str. 29

7.2

Raport „daty wycieczek”

Raport wyświetla wszystkie dostępne daty wycieczek dla wybranych nazw wycieczek

Rysunek 25. Raport 2.

str. 30

7.3

Raport „Typ wycieczki”

Raport pokazuje nazwy i kierunki wycieczek w zależności od typu rejsu.

Rysunek 26. Raport 3.

8. Wnioski

str. 31...


Similar Free PDFs