Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava
Úvod do databázových systémů 2012/2013
IS MHD Jiří Znoj – zno0011
12.12.2012
1.
Funkční požadavky
• PROČ • K ČEMU • KDO • VSTUPY • VÝSTUPY • FUNKCE • OKOLÍ
2.
Use Case diagram
3.
Tabulka událostí a reakcí
4.
Kontextový diagram II.
1.
Datová Analýza
Lineární zápis seznamu typů entit a jejich atributů
• Entity: • Vztahy: • Nahrazení vztahů M:N • Entity: • Vztahy:
2.
Grafický tvar konceptuálního modelu (ERD, UML)
3.
Grafický tvar relačního datového modelu
4.
Úplné tabulky atributů (tj. datový slovník) a integritní omezení
Funkční požadavky PROČ Je potřeba vytvořit komplexní informační systém městské hromadné dopravy.
K ČEMU K vyhledávání spojů MHD podle různých kritérií, k evidenci řidičů a k práci s jejich směnami. KDO
každý, kdo si chce vyhledat nějaký spoj, řidiči, správce systému a zaměstnavatel. VSTUPY U řidičů: rodné číslo, jméno, příjmení, bydliště, telefonní číslo, pohlaví, heslo a plat.
U směn: typ – tedy název směny, v kolik začíná, v kolik končí a kolik je to dohromady hodin. U vozidel: typ, dále pak jestli je vozidlo s bariérovým přístupem, značku, max. počet cestujících. Evidujeme kdo jezdí s jakým vozidlem a od kolika, do kolika hodin jezdí vozidlo určitou linku. U zastávek: id, název, bezbariérový přístup a v kolik hodin zastavuje na zastávce která linka. U zón: číslo zóny a pak jestli se jedná o městskou, nebo mimoměstskou oblast. U linek: číslo linky a typ linky (vozidla jakého typu po ní jezdí)
Funkční požadavky VÝSTUPY pro správce nebo zaměstnavatele: všichni řidiči, všechna vozidla, řidič určitého vozidla (každý řidič řídí právě jedno vozidlo), všechny zastávky, linky, zóny. pro nepřihlášeného uživatele: spojení dle zadaných kritérií, všechny zastávky mezi zadanou vstupní a výstupní zastávkou, všechny odjezdy ze zadané zastávky, nebo všechny spoje z dané zastávky. pro řidiče: rozpis směn, všechny detaily o vozidle, které spravuje, všechny směny. FUNKCE Pokud přidáme vozidlo, musíme mu také přidělit řidiče, který se o něj bude starat. Po přidání zastávky se musí zadat, ve které zóně leží a do které linky bude zastávka patřit. Každý řidič patří do jednoho rozpisu směn, kde se směny „točí“. Pro každé vyhledávání vyhledá k zastávce odjezdu trasu (všechny navštívené zastávky) k zastávce příjezdu. OKOLÍ Kdokoli, kdo se k aplikaci dostane, může v aplikaci vyhledávat spoje. Pracovníci městské hromadné dopravy pak používají aplikaci pro vnitřní účely.
USE CASE diagram
Tabulka událostí a reakcí
Reakce
Událost Přidat zastávku
Zapiš do seznamu zastávek, přiděl idZastavky
Odebrat zastávku
Odebrat ze seznamu zastávek
Přidat dopravní prostředek + přidat řidiče
Zapiš dopravní prostředek do seznamu dopravních prostředků, přiděl idVozidla, zapiš řidiče do seznamu řidičů
Odebrat dopravní prostředek + odebrat řidiče
Zapiš dopravní prostředek do seznamu dopravních prostředků, přiděl idVozidla, vyber řidiče, který se bude o vozidlo starat.
Přidat linku
Zapiš do seznamu linek, přiděl idLinky
Odeber linku
Odeber ze seznamu linek, odeber zastávky, které leží jen na této lince
Vyhledej spoj
Vyhledat trasu od zastávky odjezdu po zastávku příjezdu
Kontextový diagram
Lineární zápis seznamu typů entit a jejich atributů Entity: Ridic (rc, jmeno, prijmenu, bydliste, tel, pohlavi, heslo, plat) Vozidlo (idVozidla, tyo, znacka, maxPocet, barierove, rc, rc_ridi) Linka (cisloLinky, typLinky) Zastavka (idZastavky, nazev, barierova, cisloZony) Zona (cisloZony, mesto) Smena (typSmeny, začátek, konec, hodin)
Vztahy: Stara_se_o (Ridic, Vozdilo) 1:1 ridi (Ridic, Vozdilo) N:M jezdi (Vozdilo, Linka) N:M se sklada (Linka, Zastavka) N:M obsahuje (Zona, Zastavka) 1:N chodi (Ridic, RozpisSmen) N:M
Nahrazení vztahů M:N
Entity: Ridic (rc, jmeno, prijmenu, bydliste, tel, pohlavi, heslo, plat) Vozidlo (idVozidla, tyo, znacka, maxPocet, barierove, rc) Linka (cisloLinky, typLinky) Zastavka (idZastavky, nazev, barierova, cisloZony) Zona (cisloZony, mesto) Smena (typSmeny, začátek, konec, hodin) VozidloLinka (od, do, idVozidla, cisloLinky) ZastavkaLinkaCas (cas, cisloLinky, idZastavky) RozpisSmen (datum, jmenoSmeny, rc, typSmeny) RidicVozidlo(rc, idVozidla)
Vztahy: Stara_se_o (Ridic, Vozidlo) 1:1 ridi_Ridic (Ridic, RidicVozdilo) 1:N ridi_Vozidlo (Vozidlo, RidicVozdilo) 1:N jezdi (Vozdilo, VozidloLinka) 1:N ma (Linka, VozidloLinka) 1:N se sklada (Linka, ZastavkaLinkaCas) 1:N zastavuje (Zastavka, zastavkaLinkaCas) 1:N obsahuje (Zona, Zastavka) 1:N chodi (Ridic, RozpisSmen) 1:N je v (Smena, RozpisSmen) 1:N
Grafický tvar konceptuálního modelu
Grafický tvar relačního datového modelu
Úplné tabulky atributů (tj. datový slovník) a integritní omezení Ridic jméno atributu
datový typ
typ klíče
unikátní
povinnost
poznámka, IO
rc jmeno prijmeni bydliste
Int Varchar(30) Varchar(30) Text
PK
UNIQUE
NN NN NN NN
rodné číslo bez „/“
tel
Bigint
NN
pohlavi heslo plat
Varchar(4) Varchar(20) Int
N NN NN
s předvolbou bez „+“ CHECK(tel > 99 999 999 999) „muz“, „zena“
Vozidlo jméno atributu
datový typ
typ klíče
unikátní
povinnost
idVozidla
Int
PK
UNIQUE
NN
typVozidla
Varchar(30)
NN
znacka
Text
NN
maxPocet
Int
NN
barierove
Bit
N
rc
Int
FK
NN
poznámka, IO tramvaj, autobus, metro, trolejbus, vlak maximální počet přepravovaných osob rodné číslo bez „/“ REFERENCES Ridic
NN = not null, N = null, PK = primární klíč, FK = cizí klíč, PFK = cizí klíč je součást primárního klíče
Úplné tabulky atributů (tj. datový slovník) a integritní omezení Linka jméno atributu
datový typ
typ klíče
unikátní
povinnost
cisloLinky
Int
PK
UNIQUE
NN
typLinky
Text
poznámka, IO tramvaj, autobus, metro, trolejbus, vlak
NN
RidicVozidlo jméno atributu
datový typ
typ klíče
rc idVozidla
Int Int
PFK PFK
unikátní
povinnost
poznámka, IO
NN NN
REFERENCES Ridic REFERENCES Vozidlo
Zastavka jméno atributu
datový typ
typ klíče
unikátní
povinnost
poznámka, IO
idZastavky nazev barierova cisloZony
Int Varchar(30) Bit Int
PK
UNIQUE UNIQUE
NN NN N NN
REFERENCES Zona
FK
ZastavkaLinkaCas jméno atributu
datový typ
cas
Time
cisloLinky idZastavky
Int Int
typ klíče
unikátní
povinnost
NN PFK PFK
NN NN
poznámka, IO čas výjezdu vozidla dané linky ze zastávky REFERENCES Linka REFERENCES Zastavka
Úplné tabulky atributů (tj. datový slovník) a integritní omezení Zastavka jméno atributu
datový typ
typ klíče
unikátní
povinnost
poznámka, IO
idZastavky nazev barierova cisloZony
Int Varchar(30) Bit Int
PK
UNIQUE UNIQUE
NN NN N NN
REFERENCES Zona
FK
Zona jméno atributu
datový typ
typ klíče
unikátní
povinnost
cisloZony
Int
PK
UNIQUE
NN
mesto
Bit
poznámka, IO městská (1) nebo mimoměstská (0) zóna
NN
RozpisSmen jméno atributu
datový typ
datum jmenoSmeny rc typSmeny
Date Char(256) Int Text
typ klíče
unikátní
povinnost
poznámka, IO
NN NN NN NN
směna A, B, C, D REFERENCES Ridic REFERENCES Smena
PFK PFK
Smena jméno atributu
datový typ
typ klíče
unikátní
povinnost
typSmeny
Text
PK
UNIQUE
NN
zacatek konec hodin
Time Time Int
NN NN N
poznámka, IO ranní, odpolední, celodenní, noční směna A, B, C, D
Prostor pro dotazy: …
Děkuji za pozornost
Jiří Znoj – zno0011
12.12.2012