bd - projekty - Politechnika Śląska

Transkrypt

bd - projekty - Politechnika Śląska
1
Zarządzanie funkcjonowaniem wortalu internetowego
z elementami zarządzania informacjami
Internetowy wortal informacyjny
Wyobraź sobie, że pracujesz w czasopiśmie o ogólnopolskim zasięgu jako specjalista od nowoczesnych technologii. Nowy redaktor naczelny magazynu podjął niedawno decyzję o stworzeniu wielotematycznego portalu internetowego (wortalu), który stanowiłby wizytówkę magazynu w sieci. Twoim zadaniem jest stworzenie bazy danych obsługujących nowe informacje (newsy) pojawiające się na
witrynie. W bazie przechowywane mają być informacje o użytkownikach uprawnionych do dodawania informacji, treści tych informacji, słowa kluczowe powiązane z informacjami (tagi) oraz komentarze do informacji.
• każdy użytkownik może być autorem dowolnej liczby informacji, każda informacja ma jednego
autora
• każda informacja może mieć wiele powiązanych słów kluczowych, każde słowo kluczowe może
być powiązane z dowolną liczbą informacji
• każda informacja może być skomentowana dowolną ilość razy, dany komentarz odnosi się tylko
do jednej informacji
• każdy komentarz może być autorstwa użytkownika lub być anonimowy
Minimalne informacje przechowywane w bazie:
użytkownicy: login, imię, nazwisko, data dołączenia
informacje: treść, data dodania, średnia ocena wieści, liczba komentarzy
słowa kluczowe: słowo (np. IBM, filmy, George Clooney, Web 2.0 itd.)
komentarze: treść, data dodania, autor, ocena informacji
Widoki:
vw_liczba_informacji – dla każdego użytkownika wypisuje liczbę dodanych przez niego informacji
vw_informacji_wg_tagu – dla każdego słowa kluczowego wypisuje informacje z nim powiązane
vw_komentarze – dla każdej informacji wypisuje komentarze do niej dodane
vw_uzytkownicy_tagi – dla każdego użytkownika wypisuje wszystkie słowa kluczowe powiązane
z dodanymi przez niego informacjami oraz liczbę ich wystąpień
vw_uzytkownicy_ranking – dla każdego użytkownika wypisuje średnią ocen wszystkich informacji
dodanych przez danego użytkownika
Wyzwalacz:
W momencie wstawienia nowego komentarza obliczana jest średnia ocena danej informacji oraz
liczba komentarzy do niej dodanych. Obie te wartości są wstawiane (lub aktualizowane) w odpowiednich miejscach w tabeli przechowującej informacje o informacjach.
Minimalne dane:
• przynajmniej 5 użytkowników
• przynajmniej 20 informacji, każda powiązanymi z przynajmniej dwoma słowami kluczowymi
• przynajmniej 20 słów kluczowych
• przynajmniej 60 komentarzy
Politechnika Śląska, WOIZ, Katedra IiE
2
Aukcja jako element gry strategicznej
System aukcyjny
Właściciel pewnego znanego portalu społecznościowego postanowił rozszerzyć swoją ofertę. Pragnie
on, aby użytkownicy portalu mieli możliwość wystawiania różnych przedmiotów na aukcje. Otrzymałeś zlecenie stworzenia bazy danych obsługującej prosty internetowy system aukcyjny. W bazie przechowywane są informacje o użytkownikach, aukcjach, kategoriach aukcji oraz ofertach. Po pomyślnej
weryfikacji systemu zostanie on zintegrowany z dotychczasową bazą użytkowników portalu. Wymagania dla systemu:
• każdy użytkownik może być wystawić na aukcję dowolną liczbę przedmiotów (czyli być właścicielem dowolnej liczby aukcji), każda aukcja ma tylko jednego właściciela
• każda aukcja ma dokładnie jedną kategorię, różne aukcje mogą mieć te same kategorie
• każda kategoria może być związana z dokładnie jedną kategorią nadrzędną (taka kategoria nazywana jest wtedy kategorią podrzędną); kategorie nadrzędne (te, które nie mają własnych kategorii nadrzędnych) mogą mieć dowolną liczbę kategorii podrzędnych
• do każdej aukcji można składać wiele ofert, każda oferta przyporządkowana jest tylko jednej aukcji
Dla uproszczenia zakładamy, że każda kategoria jest albo nadrzędna, albo podrzędna (nie występują
kategorie, które są jednocześnie nadrzędne i podrzędne). Aukcje powinny być powiązane
z kategoriami podrzędnymi.
Minimalne informacje przechowywane w bazie:
użytkownicy: login, imię, nazwisko, nr kontaktowy, nr gg albo innego komunikatora
aukcje: data i godzina rozpoczęcia, data i godzina zakończenia, nazwa przedmiotu, opis przedmiotu,
cena wywoławcza
kategoria: nazwa
oferty: wartość oferty, data i godzina
Widoki:
vw_aukcje_zakonczone – dla każdej zakończonej aukcji wypisuje wartość najwyższej oferty
vw_kategorie – dla każdej kategorii nadrzędnej wypisuje wszystkie kategorie podrzędne oraz liczbę
aukcji należących do tych kategorii
vw_aukcje_wg_kategorii – dla każdej kategorii wypisuje wszystkie aukcje oraz aktualną (tzn. najwyższą) wartość zaoferowaną za dany przedmiot
vw_aukcje_uzytkownikow – dla każdego użytkownika wypisuje zaoferowane przez niego przedmioty
Wyzwalacz:
Kontrola czy użytkownik nie składa oferty pod swoją aukcją oraz czy aktualnie składana oferta jest
wyższa od poprzedniej oferty.
Minimalne dane:
• przynajmniej 10 użytkowników
• przynajmniej 20 aukcji (w tym przynajmniej 6 niezakończonych)
• przynajmniej 3 kategorie nadrzędne i 7 kategorii podrzędnych
• przynajmniej 3 oferty do każdej aukcji
Politechnika Śląska, WOIZ, Katedra IiE
3
Utworzenie bazy danych na potrzeby edukacji (z możliwością
wykorzystania w zdalnym nauczaniu)
Geografia
Nauczyciel geografii prowadzący szkolne kółko geograficzne „Ferdynand Magellan” marzy
o utworzeniu bazy danych, dzięki której jego wychowankowie mogliby łatwiej i przyjemniej opanować informacje o otaczającym nas świecie. Nauczyciel chciałby uwzględnić informacje o państwach,
miastach, morzach i kontynentach. Pomóż mu zbudować bazę danych do gromadzenia takich właśnie
informacji, wiedząc że:
• Jedno państwo leży na jednym lub dwóch kontynentach, a na każdym kontynencie może znajdować sie wiele państw
• Każde miasto znajduje się w jednym państwie, w danym państwie jest wiele miast
• Każde morze oblewa jedno lub wiele państw, natomiast państwo może graniczyć z jednym,
z kilkoma lub z żadnym z mórz (uwzględnij długość granicy morskiej)
• Każde państwo ma swój ustrój, wiele państw może mieć taki sam ustrój
Minimalne informacje przechowywane w bazie:
Państwa: nazwa państwa, powierzchnia państwa, liczba ludności,
Miasta: nazwa miasta, liczba mieszkańców, czy stolica?
Morza: nazwa morza
Kontynenty: nazwa kontynentu, powierzchnia kontynentu
Ustrój: nazwa, opis
Widoki:
vw_zaludnienie – dla każdego państwa wypisuje gęstość zaludnienia
vw_panstwa_wokol_morza – dla każdego z mórz wypisuje kraje z nim sąsiadujące
vw_panstwa_na_kontynentach – dla każdego kontynentu wypisuje państwa na nim się znajdujące
vw_panstwa_na_wielu_kontynentach – wypisuje nazwy państw, które leżą na więcej niż jednym
kontynencie
Wyzwalacz:
Uniemożliwienie przypisania do państwa więcej niż dwóch kontynentów. Kontrola czy każde państwo
posiada co najwyżej jedną stolicę.
Minimalne dane:
• Przynajmniej 4 kontynenty
• Przynajmniej 30 państw
• Przynajmniej 50 miast
• Przynajmniej 10 mórz
Politechnika Śląska, WOIZ, Katedra IiE
4
Utworzenie bazy danych do zarządzania zasobami ludzkimi
Drużyny piłkarskie
Twój przyjaciel, miłośnik futbolu, chciałby utworzyć bazę danych służącą do gromadzenia informacji
na temat rozgrywek piłkarskich. Ponieważ nie ma on zbyt dużego doświadczenia w projektowaniu
baz danych, poprosił Cię o pomoc. Obiecałeś, że utworzysz bazę danych umożliwiającą przechowywanie informacji o drużynach, piłkarzach, meczach oraz „czerwonych kartkach”. Dodatkowo ustaliliście, że:
• W jednej drużynie jest wielu piłkarzy, a jeden piłkarz gra dokładnie w jednej drużynie (nie interesuje nas, w jakich drużynach piłkarz grał wcześniej)
• Jeden piłkarz gra w wielu meczach, a w jednym meczu gra wielu piłkarzy
• W jednym meczu grają dwie drużyny (jedna jako drużyna gospodarzy, druga gości)
• Piłkarz w danym meczu może dostać maksimum jedną „czerwoną kartkę”
Minimalne informacje przechowywane w bazie:
Piłkarze: imię, nazwisko, data urodzenia
Drużyny: nazwa, miasto
Mecze: data, godzina, drużyna gości, drużyna gospodarzy
Występ piłkarza w meczu: liczba strzelonych bramek, minuta otrzymania czerwonej kartki
Widoki:
vw_lista_strzelców – wypisuje piłkarzy i liczbę strzelonych przez nich bramek we wszystkich dotychczasowych meczach
vw_najbliższe_mecze – lista planowanych meczy w ciągu następnych 30 dni
vw_czerwone_kartki – wypisuje piłkarzy wraz liczbą otrzymanych czerwonych kartek
vw_bramki_na_wyjeździe - wypisuje listę drużyn wraz z liczbą zdobytych bramek w meczach wyjazdowych
vw_klasyfikacja_drużynowa – wypisuje listę drużyn wraz z sumą zdobytych bramek
Wyzwalacz:
Kontrola czy piłkarz wystąpił w meczu swojej drużyny
Minimalne dane:
• przynajmniej 8 drużyn
• przynajmniej 40 piłkarzy
• przynajmniej 10 meczów
Politechnika Śląska, WOIZ, Katedra IiE
5
Stworzenie bazy danych dotyczącej sieciowej struktury
organizacyjnej
Komunikacja miejska
Stanąłeś przed koniecznością pracowania bazy danych dla komunikacji autobusowej w Twoim mieście. Ma on zawierać informacje o liniach autobusowych, przystankach i godzinach odjazdu z nich
autobusów. W bazie danych należy uwzględnić następujące zależności:
• każda linia autobusowa (tzn. autobus o danym numerze) obsługuje kilka przystanków w ustalonej kolejności, na każdym przystanku może zatrzymywać się kilka różnych autobusów
• z każdą kombinacją linia autobusowa-przystanek związany jest (przynajmniej jeden) czas odjazdu
danego autobusu z tego przystanku
• z każdym czasem odjazdu związany jest atrybut informujący, w jakie dni dany kurs się odbywa;
różne czasy odjazdów mogą mieć te same atrybuty (np. kursuje przez całe rok, nie kursuje w
niedzielę i święta itp.)
Minimalne informacje przechowywane w bazie:
Linie: numer linii, zakład obsługujący
Przystanki: nazwa, lokalizacja
Kolejność: numer opisujący, którym z kolei postojem jest dany przystanek na trasie danego autobusu
Czasy odjazdów: godzina odjazdu
Atrybuty odjazdów: skrót atrybutu, opis (np. CR – kursuje cały rok za wyjątkiem świąt – jakich?, NW –
nie kursuje w okresie wakacji itd.)
Widoki:
vw_rozkład – dla każdej linii i dla każdego przystanku wypisuje godziny odjazdów (wraz z atrybutami)
vw_przystanki_linii – dla każdej linii autobusowej wypisuje we właściwej kolejności przystanki przez
nią obsługiwane
vw_odjazdy_z_przystanków – dla każdego przystanku wypisuje liczbę autobusów, które z niego odjeżdżają w ciągu jednego dnia
Procedura składowana (MySQL lub MS SQL Server):
Wyzwalacz (SQLite):
Kontrola więzów integralności w bazie
Minimalne dane:
• przynajmniej 5 linii autobusowych
• przynajmniej 20 przystanków
• przynajmniej 5 przystanków na trasie każdej linii
• przynajmniej 4 czasy odjazdów dla każdego przystanku na każdej linii
Politechnika Śląska, WOIZ, Katedra IiE
6
Stworzenie bazy danych na potrzeby marketingu
Występy zwierząt w cyrku
Dyrektor cyrku „W paszczy lwa” doszedł do wniosku, że z uwagi na rosnącą popularność jego placówki, dobrze byłoby stworzyć bazę danych na temat występów zwierząt. Miałyby się znaleźć w niej informacje o zwierzętach, treserach, rodzajach występów i rozkładzie występów. Zostałeś poproszony
o wykonanie tego zadania. Utwórz bazę danych, uwzględniając, że:
• zwierzak ma dokładnie jednego tresera
• treser może ćwiczyć wiele zwierząt
• zwierzak może danego dania mieć wiele występów, każdy o innej godzinie
• występ ma swój rodzaj, wiele występów może mieć ten sam rodzaj
Minimalne informacje przechowywane w bazie:
Zwierzęta: imię, data urodzenia, rasa (lub/i gatunek)
Treserzy: imię, nazwisko
Rodzaje występów: nazwa rodzaju występu, opis
Rozkład występów: data, godzina występu, rodzaj występu, czas trwania
Widoki:
vw_liczba_zwierząt – dla każdego trenera wypisuje liczbę zwierząt będących pod jego opieką
vw_czas_występów – dla każdego zwierzaka wypisuję łączny czas jego dotychczasowych występów
vw_średni_wiek – dla każdego gatunku wypisuje średni wiek zwierząt
vw_liczba_występów – dla każdego rodzaju występu wypisuje liczbę występów
vw_najbliższe_występy – dla każdego trenera wypisuje planowane występy jego zwierząt na najbliższe 7 dni
Procedura składowana (MySQL lub MS SQL Server):
Wyzwalacz (SQLite):
Kontrola więzów integralności w bazie
Minimalne dane:
• przynajmniej 10 zwierząt
• przynajmniej 6 treserów
• przynajmniej 5 rodzajów występów
• przynajmniej 6 występów dla każdego zwierzaka
Politechnika Śląska, WOIZ, Katedra IiE
7
Stworzenie bazy danych o uczestnikach biorących udział
w realizacji projektu (przedsięwzięcia)
Morderstwo według Agathy Christie
Podczas konferencji poświęconej 100 rocznicy urodzin Agathy Christie ginie młody początkujący pisarz, który zarejestrował się na nazwisko jednego z bohaterów książki królowej kryminałów. Dwa dni
później pada następna ofiara, potem następna... Przedstawiciel prawa autorytatywnie oświadczył, że
zbrodnie popełni jakiś fanatyk pierwszej damy kryminałów. Dostrzegając absurd takiego stwierdzenia, młodzi detektywi, a zarazem organizatorzy konferencji, Max Darling i Annie Laurance Darling,
postanowili wziąć sprawy w swoje ręce. Twoim zadaniem jest pomóc im zapanować nad sytuacją.
Stwórz bazę danych, umożliwiającą gromadzenie wiadomości o uczestnikach konferencji, podejrzanych, morderstwach, motywach i alibi. Załóż, że:
• każdy uczestnik konferencji może (ale nie musi) być podejrzanym w dowolnej liczbie morderstw,
każde morderstwo powinno mieć przynajmniej jednego podejrzanego
• każdy podejrzany może mieć alibi na dowolny przedział czasowy mieszczący się w przedziale czasowym popełnienia morderstwa, każde alibi odnosi się tylko do jednego morderstwa
liczba alibi może być różna, przykładowo jeśli morderstwo popełniono między 0:00 a 3:00 podejrzany może mieć jedno alibi (np. od 1:00 do 3:00), dwa alibi (np. od 0:00 do 1:00 i od 1:00 do
3:00 albo od 0:00 do 2:00 i od 2:00 do 3:00) albo trzy alibi (jedyna możliwość w tym wypadku to
od 0:00 do 1:00, od 1:00 do 2:00 i od 2:00 do 3:00)
• każdy podejrzany może mieć nawet kilka motywów popełnienia danego morderstwa (choć możliwe, że motyw lub motywy nie zostaną poznane), dla każdego podejrzanego każdy motyw odnosi się tylko do jednego morderstwa
• istnieje kilka standardowych motywów i różne osoby mogą mieć te same motywy do popełnienia różnych lub tych samych morderstw
Dla uproszczenia przyjmujemy, że godziny popełnienia morderstw nie mogą na siebie nachodzić.
Minimalne informacje przechowywane w bazie:
Uczestnicy: imię, nazwisko
Morderstwa: data, szacowana godzina od, szacowana godzina do, gdzie popełnione, okoliczności
Alibi: godzina od, godzina do, opis
Podejrzany: opis uzasadniający
Motywy: rodzaj motywu, szczegółowy opis
Rodzaj motywu: nazwa
Widoki:
vw_liczba_podejrzanych – dla każdego morderstwa wypisuję liczbę podejrzanych osób
vw_podejrzani_z_motywem – dla każdego morderstwa wypisuje wszystkie osoby podejrzane z przynajmniej jednym motywem
vw_morderstwa_motywy – dla każdego morderstwa wypisuje liczbę różnych rodzajów motywów
mogących skutkować daną zbrodnią
vw_mordercy – dla każdego morderstwa wypisuje osoby podejrzane z motywem i bez alibi
Wyzwalacz:
Kontrola czy godziny wstawianych alibi dla tego samego morderstwa nie nachodzą na siebie
Minimalne dane:
• przynajmniej 20 uczestników
• przynajmniej 6 morderstw
• dla każdego morderstwa przynajmniej 3 podejrzanych
• przynajmniej 3 rodzaje motywów
Politechnika Śląska, WOIZ, Katedra IiE
8
Przygotowanie bazy danych wspomagającej proces
edukacyjny i weryfikację wiedzy
Testy kolokwialne
Znajomy wykładowca uniwersytecki poprosił cię o stworzenie systemu wspomagającego proces edukacyjny i weryfikację wiedzy. Celem systemu jest automatyczne generowanie testów kolokwialnych.
W bazie przechowywane są informacje o przedmiotach, różnych zestawach testowych powiązanych z
przedmiotami, treści pytań oraz odpowiedzi (wraz z prawidłowymi rozwiązaniami) oraz odpowiedzi
udzielane przez studentów.
• Z każdym przedmiotem powiązany jest przynajmniej jeden test; każdy test należy do jednego
przedmiotu.
• Każdy test ma kilka pytań (między 10 a 20); każde pytanie może znaleźć się w kilku różnych testach.
• Każde pytanie związane jest dokładnie z jednym przedmiotem. Każdy przedmiot ma wiele pytań
(należy pamiętać, że żeby utworzyć test potrzebnych jest przynajmniej 10 pytań z danego
przedmiotu).
• Z każdym testem związane są odpowiedzi, choć mogą się zdarzyć testy, na które jeszcze nikt nie
odpowiadał. Każda odpowiedź przypisana jest tylko i wyłącznie do jednego testu.
Dla uproszczenia przyjmujemy, że każde pytanie posiada cztery odpowiedzi, z których tylko jedna jest
prawidłowa.
Minimalne informacje przechowywane w bazie:
przedmioty: nazwa (np. statystyka, podstawy zarządzania itp.)
testy: oznaczenie testu (np. stat01)
pytania: treść pytania (wraz z odpowiedziami), odpowiedź prawidłowa (np. a, b itp.)
odpowiedzi: data, oznaczenie zdającego (np. numer albumu), numer pytania w teście (to samo pytanie w różnych testach może mieć różny numer), udzielona odpowiedź
Widoki:
vw_testy – dla każdego testu wypisuje jego treść (tzn. wszystkie pytania)
vw_odpowiedzi – dla każdej kombinacji zdający+test wypisuje odpowiedzi udzielone przez zdającego
na dany test
vw_prawidlowe_odpowiedzi – dla każdego testu wypisuje prawidłowe odpowiedzi na poszczególne
pytania
vw_ile_razy – dla każdego testu wypisuje ile razy dany test zdawano
Wyzwalacz:
Uniemożliwienie przypisania pytania do testu, w wypadku gdy przedmiot pytania oraz przedmiot
testu są różne.
Minimalne dane:
• przynajmniej 3 przedmioty
• przynajmniej 5 testów
• przynajmniej 40 różnych pytań
• przynajmniej 6 odpowiedzi (przez „odpowiedź” rozumie się odpowiedź na cały test, tzn. na każde pytanie z danego testu)
Politechnika Śląska, WOIZ, Katedra IiE
9
Stworzenie bazy danych wspomagającej zarządzanie
procesami dydaktycznymi z wybranego przedmiotu
Międzyszkolne zawody sportowe
Celem projektu jest stworzenie, w ramach wspomagania procesów dydaktycznych w szkole podstawowej, prostej bazy danych obsługującej lekkoatletyczne zawody międzyszkolne szkół podstawowych. W bazie przechowywane są informacje o szkołach, kategoriach wiekowych, uczestnikach, konkurencjach i wynikach uczestników w poszczególnych konkurencjach.
• Każdy uczestnik należy do jednej szkoły, każda szkoła może wystawić wielu uczestników.
• Każdy uczestnik może brać udział w jednej lub kilku konkurencjach. Każda konkurencja musi
mieć kilku uczestników (przynajmniej dwóch).
• Każdy uczestnik należy do jednej kategorii wiekowej. Oczywiście do tej samej kategorii może
należeć kilku zawodników.
Dla uproszczenia przyjmujemy, że w każdej konkurencji może startować dowolna ilość uczestników.
Minimalne informacje przechowywane w bazie:
szkoły: nr szkoły, imię szkoły, adres (ulica, numer)
uczestnik: imię, nazwisko, data urodzenia
kategorie wiekowe: nazwa, minimalna data urodzenia, maksymalna data urodzenia
konkurencje: nazwa, opis, jednostka miary, sposób oceny (np. ‘max’ jeśli im wyższy wynik tym lepszy i
‘min’ jeśli im niższy wynik tym lepszy)
wyniki: rezultat uzyskany przez uczestnika w danej konkurencji
Widoki:
vw_uczestnicy - dla każdej szkoły wypisuje zawodników z danej szkoły
vw_rezultaty – dla każdej konkurencji i każdej kategorii wiekowej wypisuje rezultaty wszystkich
uczestników uporządkowane od najlepszego do najgorszego*
vw_liczba_uczestników - dla każdej konkurencji i każdej kategorii wiekowej wypisuje liczbę uczestników danej konkurencji w danej kategorii
vw_liczba_konkurencji - dla każdego uczestnika wypisuje liczbę konkurencji, w których dany uczestnik
bierze udział
Procedura składowana (MySQL lub MS SQL Server):
Przypisywanie kategorii do uczestników na podstawie ich wieku
Wyzwalacz (SQLite):
Kontrola więzów integralności w bazie
Minimalne dane:
• przynajmniej 3 szkoły
• przynajmniej 20 uczestników
• przynajmniej 5 konkurencji
• 2 lub 3 kategorie wiekowe
• przynajmniej 50 wyników
*
dla każdej konkurencji można stworzyć osobny widok
Politechnika Śląska, WOIZ, Katedra IiE
10
Stworzenie tematycznej (dziedzinowej) bazy wiedzy
Konferencje
Wyobraź sobie, że pracujesz w firmie zajmującej się organizowaniem imprez masowych. Twoim zadaniem jest stworzenie niewielkiego systemu wspomagającego obsługę organizacji konferencji.
W bazie przechowywane są informacje o organizatorach, konferencjach, uczestnikach, zgłoszeniach,
branżach.
• Każda firma może organizować wiele konferencji, ale każda konferencja jest organizowana tylko
przez jedną firmę.
• Każdy konferencja ma wielu uczestników, każdy uczestnik może brać udział w wielu konferencjach.
• Każda firma należy do jednej branży, do każdej branży może należeć wiele firm.
Dla uproszczenia przyjmujemy, że wszystkie konferencje są jednodniowe.
Minimalne informacje przechowywane w bazie:
branże: rodzaj (np. budownicza, chemiczna)
firmy: nazwa, adres, telefon, nazwisko przedstawiciela
konferencje: nazwa, data, godzina, koszt, cena, czy zakończona?
uczestnicy: imię i nazwisko, telefon, reprezentowana firma
zgłoszenia: data zgłoszenia, czy zapłacone?
Widoki:
vw_konferencje_wg_branz – dla każdej branży wypisuje wszystkie konferencje w systemie uporządkowane wg daty
vw_liczba_uczestnikow – dla każdej konferencji wypisuje liczbę uczestników (z podziałem na tych,
którzy już zapłacili oraz tych, którzy nie zapłacili)
vw_konferencje_firmy – dla każdej firmy wypisuje liczbę zorganizowanych przez nią konferencji
vw_konferencje_bilans – dla każdej konferencji wypisuje jej koszt, przychód oraz bilans
UWAGA. Wszystkie zapytania powinny mieć możliwość zawężenia wyświetlanych wyników do wybranego okresu (tzn. widoki powinny zawierać datę konferencji).
Wyzwalacz:
W momencie wstawienia do bazy informacji o zakończeniu konferencji, do osobnej tabeli wstawiany
jest rekord z podsumowaniem konferencji: identyfikator konferencji, data, koszt, przychód
(cena * liczba opłaconych zgłoszeń), bilans (koszt – przychód).
Minimalne dane:
• przynajmniej 3 branże
• przynajmniej 7 firm
• przynajmniej 10 konferencji
• przynajmniej 30 uczestników
• przynajmniej 100 zgłoszeń
Politechnika Śląska, WOIZ, Katedra IiE
11
Zarządzanie projektami
Celem projektu jest stworzenie niewielkiego systemu wspomagającego zarządzanie projektami realizowanymi w pewnej firmie. W bazie przechowywane są informacje o projektach, osobach, zespołach,
etapach projektów, zleceniodawcach.
• Każdy projekt posiada jednego zleceniodawcę (osobę prawną). Każdy zleceniodawca może zlecić
kilka projektów.
• Każda osoba może uczestniczyć w dowolnej ilości projektów, a każdy projekt może mieć dowolną ilość uczestników. Kombinacje uczestników i projektów tworzą zespoły. Każdy projekt ma
jednego szefa, przy czym ta sama osoba może być szefem tylko jednego projektu (nawet jeśli
uczestniczy w kilku projektach).
• Każdy projekt ma kilka etapów, dany etap należy tylko do jednego projektu. W trakcie realizacji
projektu kolejne etapy odznaczane są jako „zakończone”.
Minimalne informacje przechowywane w bazie:
zleceniodawcy: nazwa firmy, adres firmy, telefon, nazwisko przedstawiciela
projekty: nazwa projektu, koszt projektu, opis projektu, data zlecenia
osoby: imię, nazwisko, data urodzenia
zespoły: kto kierownikiem?
etapy projektów: nazwa, opis, data rozpoczęcia, czy zakończony?
Widoki:
vw_zespoly – dla każdego projektu (nazwy projektu) wypisuje osoby, które go realizują
vw_liczba_zespolow – dla każdej osoby wypisuje liczbę projektów, w których uczestniczy
vw_firma_koszt – dla każdej firmy wypisuje łączny koszt projektów zleconych przez tę firmę
vw_etapy_projektów – dla każdego projektu wypisuje etapy tego projektu wraz z zaznaczeniem, które z nich są już zakończone
Wyzwalacze:
Kontrola czy etap późniejszy nie został zaznaczony jako zakończony przed etapem wcześniejszym.
Kontrola czy dana osoba jest kierownikiem co najwyżej jednego zespołu
Minimalne dane:
• przynajmniej 5 firm
• przynajmniej 8 projektów
• przynajmniej 12 osób
• przynajmniej 30 etapów
• przynajmniej 25 członków zespołów
Politechnika Śląska, WOIZ, Katedra IiE
12
Stworzenie bazy danych wspomagającej proces zarządzania
informacją przestrzenną
Szlaki górskie
Celem systemu jest przechowywanie i udostępnianie informacji o trasach turystycznych w polskich
górach. W bazie znajdują się informacje o schroniskach, punktach docelowych (atrakcjach), szlakach,
pasmach górskich, rodzajach atrakcji.
• Każde schronisko łączy się z wieloma punktami docelowymi, do każdego punktu można dojść
z wielu schronisk. Kombinacje schronisk i punktów tworzą szlaki.
• Każdy punkt należy do jednego pasma górskiego, każde pasmo może mieć wiele punktów.
• Każdy punkt ma dokładnie jeden określony rodzaj (kategorię), np. szczyt, kotlina, dolina,
staw, przełęcz itp.
Minimalne informacje przechowywane w bazie:
schroniska: nazwa, cena noclegu, ilość miejsc, czy jest darmowy wrzątek, opis
punkty docelowe: nazwa, wysokość nad poziomem morza, atrakcyjność (przyjąć skalę liczbową), czy
zamknięty?
szlaki: kolor, trudność (przyjąć skalę liczbową), czas przejścia do punktu docelowego, czas przejścia
od punktu docelowego, czy zamknięty?
pasma górskie: nazwa
rodzaje punktów: kategoria (np. szczyt, kotlina itp.)
Widoki:
vw_szlaki – dla każdego schroniska wypisuje wszystkie szlaki, tzn. punkty docelowe, ich atrakcyjność
oraz czasy przejścia do danego punktu i z powrotem
vw_trudnosc – dla każdego schroniska wypisuje średnią trudność wszystkich szlaków prowadzących z
danego schroniska
vw_atrakcyjnosc – dla każdego schroniska wypisuje średnią atrakcyjność wszystkich punktów docelowych, do których można dojść z tego schroniska
vw_szukaj_szlaku – dla każdego punktu docelowego wypisuje wszystkie schroniska, z których można
dojść do tego punktu oraz czasy przejścia
Wyzwalacz:
Aktualizacja szlaków w przypadku zamknięcia punktu docelowego.
Minimalne dane:
• przynajmniej 3 pasma górskie
• przynajmniej 10 schronisk
• przynajmniej 20 atrakcji
• przynajmniej 50 szlaków
• przynajmniej 4 rodzaje punktów docelowych
Politechnika Śląska, WOIZ, Katedra IiE