ďťż
 
[MySQL] struktura bazy / tabel MPK / MZK ďťż
 
[MySQL] struktura bazy / tabel MPK / MZK
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[MySQL] struktura bazy / tabel MPK / MZK



Jacek - 23-10-2005 18:54
[MySQL] struktura bazy / tabel MPK / MZK
  Witam,

Uprzejmie proszę profesjonalistów o wprowadzenie mnie do zagadnienia
zbudowania optymalnej z punktu widzenia obsługi zapytań userów relacyjnej
bazy danych miejskiego przedsziębiorstwa komunikacji. Mam jedynie podstawy
MySQL, znam troszkę PHP.. a jako zadanie z przedmiotu bazy danych ma powstać
wypełniona baza MPK/MZK (ok. 100 linii autobusowych po 1-2 kursy co godzine,
ok. 50 przystanków). Największa waga przykładana będzie do struktury tabel,
ich wzajemnych relacji i budowy bazy. Serwis php to zupełnie dodatkowe
zagadnienie, którym już zająć się będę potrafił.. brak mi jednak
doświadczenia w budowie i projektowaniu tego typu rozbudowanych baz.
Chciałbym by opracowanie tego zagadnienia wypadło jak najlepiej.

Mam dać użytkownikowi serwisu możliwość przeglądania dowolnych pogrupowanych
danych i tworzenia różnorakich zapytań uwzględniających wprowadzone przez
niego parametry jak lokalizacje przystanku, przeglądanie linii i godzin
odjazdów w oba kierunki.

Serdeczne dzięki za każde naprowadzenie, wiem że takie systemy istnieją, nie
wiem jednak jaka jest struktura tego typu baz, jak identyfikować w nich np
przystanki, godziny, oznaczać kierunki w przypadku gdy przystanki są
naprzeciwko siebie? jakie typy nadawać polom tabel. Interesuje mnie pomoc
dotycząca struktury bazy, za wszelką okazaną pomoc z góry dziękuję.

--
Pozdrawiam, Jacek





Artur Muszynski - 23-10-2005 18:54

 
"Jacek" <japol@op.pl> wrote in message news:djaoe2$ll9$1@news.onet.pl...
> Witam,
>
> Uprzejmie proszę profesjonalistów o wprowadzenie mnie do zagadnienia
> zbudowania optymalnej z punktu widzenia obsługi zapytań userów relacyjnej
> bazy danych miejskiego przedsziębiorstwa komunikacji. Mam jedynie podstawy
> MySQL, znam troszkę PHP.. a jako zadanie z przedmiotu bazy danych ma
> powstać
> wypełniona baza MPK/MZK (ok. 100 linii autobusowych po 1-2 kursy co
> godzine,
> ok. 50 przystanków). Największa waga przykładana będzie do struktury
> tabel,
> ich wzajemnych relacji i budowy bazy. Serwis php to zupełnie dodatkowe
> zagadnienie, którym już zająć się będę potrafił.. brak mi jednak
> doświadczenia w budowie i projektowaniu tego typu rozbudowanych baz.
> Chciałbym by opracowanie tego zagadnienia wypadło jak najlepiej.
>
> Mam dać użytkownikowi serwisu możliwość przeglądania dowolnych
> pogrupowanych
> danych i tworzenia różnorakich zapytań uwzględniających wprowadzone przez
> niego parametry jak lokalizacje przystanku, przeglądanie linii i godzin
> odjazdów w oba kierunki.
>
> Serdeczne dzięki za każde naprowadzenie, wiem że takie systemy istnieją,
> nie
> wiem jednak jaka jest struktura tego typu baz, jak identyfikować w nich np
> przystanki, godziny, oznaczać kierunki w przypadku gdy przystanki są
> naprzeciwko siebie? jakie typy nadawać polom tabel. Interesuje mnie pomoc
> dotycząca struktury bazy, za wszelką okazaną pomoc z góry dziękuję.

skrajne lenistwo
tu nie ma co kombinować, w ogóle bez żadnego myślenia można stworzyć jakąś
strukturę, np:

przystanki (id, miejsce, kierunek)
odjazdy (id,autobus,kurs,przystanek,godzina)
miejsca (id,ulica,numer)
kursy (id,dzień)

resztę sam sobie dorzeźb

artur

>
> --
> Pozdrawiam, Jacek
>




Moneetor - 23-10-2005 18:54

  Artur Muszynski napisał(a):
> "Jacek" <japol@op.pl> wrote in message news:djaoe2$ll9$1@news.onet.pl...
>
>>Witam,
>>
>>Uprzejmie proszę profesjonalistów o wprowadzenie mnie do zagadnienia
>>zbudowania optymalnej z punktu widzenia obsługi zapytań userów relacyjnej
>>bazy danych miejskiego przedsziębiorstwa komunikacji. Mam jedynie podstawy
>>MySQL, znam troszkę PHP.. a jako zadanie z przedmiotu bazy danych ma
>>powstać
>>wypełniona baza MPK/MZK (ok. 100 linii autobusowych po 1-2 kursy co
>>godzine,
>>ok. 50 przystanków). Największa waga przykładana będzie do struktury
>>tabel,
>>ich wzajemnych relacji i budowy bazy. Serwis php to zupełnie dodatkowe
>>zagadnienie, którym już zająć się będę potrafił.. brak mi jednak
>>doświadczenia w budowie i projektowaniu tego typu rozbudowanych baz.
>>Chciałbym by opracowanie tego zagadnienia wypadło jak najlepiej.
>>
>>Mam dać użytkownikowi serwisu możliwość przeglądania dowolnych
>>pogrupowanych
>>danych i tworzenia różnorakich zapytań uwzględniających wprowadzone przez
>>niego parametry jak lokalizacje przystanku, przeglądanie linii i godzin
>>odjazdów w oba kierunki.
>>
>>Serdeczne dzięki za każde naprowadzenie, wiem że takie systemy istnieją,
>>nie
>>wiem jednak jaka jest struktura tego typu baz, jak identyfikować w nich np
>>przystanki, godziny, oznaczać kierunki w przypadku gdy przystanki są
>>naprzeciwko siebie? jakie typy nadawać polom tabel. Interesuje mnie pomoc
>>dotycząca struktury bazy, za wszelką okazaną pomoc z góry dziękuję.
>
>
> skrajne lenistwo
> tu nie ma co kombinować, w ogóle bez żadnego myślenia można stworzyć jakąś
> strukturę, np:
>
> przystanki (id, miejsce, kierunek)
> odjazdy (id,autobus,kurs,przystanek,godzina)
> miejsca (id,ulica,numer)
> kursy (id,dzień)
>
> resztę sam sobie dorzeźb
>
> artur
>
>
>>--
>>Pozdrawiam, Jacek
>>
>
>
>
E tam. Struktura to pikuś przy tym co trzeba wklepać, żeby bazę
wypełnić, jeśli to nie mają być jakieś wygenerowane automatem dane,
100linii * 50 przystanków * 18 godzin * 2 autobusy/godzinę to wychodzi
trochę sporo jak na możliwości pojedyńczego człowieka. Trzeba rozpisać
pracę chałupniczą dla murzynów itd...

Pozdrawiam Moneetor

--
I love SPAM(TM)...
....but hate spammers!!!




Artur Muszynski - 23-10-2005 18:54

  > E tam. Struktura to pikuś przy tym co trzeba wklepać, żeby bazę wypełnić,
> jeśli to nie mają być jakieś wygenerowane automatem dane,
> 100linii * 50 przystanków * 18 godzin * 2 autobusy/godzinę to wychodzi
> trochę sporo jak na możliwości pojedyńczego człowieka. Trzeba rozpisać
> pracę chałupniczą dla murzynów itd...

Podejrzewam, że można spróbować popytać u źródeł, być może mają takie bazy
dostępne w przystępnej do zassania formie. Wiele miast ma rozkłady online.

artur

>
> Pozdrawiam Moneetor
>
> --
> I love SPAM(TM)...
> ...but hate spammers!!!





Andrzej Dąbrowski - 24-10-2005 11:04

 
>
> Podejrzewam, że można spróbować popytać u źródeł, być może mają takie bazy
> dostępne w przystępnej do zassania formie. Wiele miast ma rozkłady online.

I z całą pewnością pozwolą skopiować :)))))))))) tylko poprosić
Łatwiej ze strony internetowej skopiować i zrobić prosty program ładujący
....
No chyba że to zawodowo potrzebne wtedy trzeba wpisywać
Andrzej Dąbrowski




Dariusz Dobosz - 27-10-2005 23:55

  Artur Muszynski wrote:
> "Jacek" <japol@op.pl> wrote in message news:djaoe2$ll9$1@news.onet.pl...
>
>>Witam,
>>
>>Uprzejmie proszę profesjonalistów o wprowadzenie mnie do zagadnienia
>>zbudowania optymalnej z punktu widzenia obsługi zapytań userów relacyjnej
>>bazy danych miejskiego przedsziębiorstwa komunikacji. Mam jedynie podstawy
>>MySQL, znam troszkę PHP.. a jako zadanie z przedmiotu bazy danych ma
>>powstać
>>wypełniona baza MPK/MZK (ok. 100 linii autobusowych po 1-2 kursy co
>>godzine,
>>ok. 50 przystanków). Największa waga przykładana będzie do struktury
>>tabel,
>>ich wzajemnych relacji i budowy bazy. Serwis php to zupełnie dodatkowe
>>zagadnienie, którym już zająć się będę potrafił.. brak mi jednak
>>doświadczenia w budowie i projektowaniu tego typu rozbudowanych baz.
>>Chciałbym by opracowanie tego zagadnienia wypadło jak najlepiej.
>>
>>Mam dać użytkownikowi serwisu możliwość przeglądania dowolnych
>>pogrupowanych
>>danych i tworzenia różnorakich zapytań uwzględniających wprowadzone przez
>>niego parametry jak lokalizacje przystanku, przeglądanie linii i godzin
>>odjazdów w oba kierunki.
>>
>>Serdeczne dzięki za każde naprowadzenie, wiem że takie systemy istnieją,
>>nie
>>wiem jednak jaka jest struktura tego typu baz, jak identyfikować w nich np
>>przystanki, godziny, oznaczać kierunki w przypadku gdy przystanki są
>>naprzeciwko siebie? jakie typy nadawać polom tabel. Interesuje mnie pomoc
>>dotycząca struktury bazy, za wszelką okazaną pomoc z góry dziękuję.
>
>
> skrajne lenistwo
> tu nie ma co kombinować, w ogóle bez żadnego myślenia można stworzyć jakąś
> strukturę, np:
>
> przystanki (id, miejsce, kierunek)
> odjazdy (id,autobus,kurs,przystanek,godzina)
> miejsca (id,ulica,numer)
> kursy (id,dzień)
>
>

W tym to się można tylko zagrzebać.
Jak zmieni się godzina wyjazdu na początku linii to trzeba będzie
zmieniać wszystkie wartości po drodze

Przede wszystkim komunikacja miejscka jeździ po odcinkach
międzyprzystankowych - tzw. linkach. Każda linia składa sie serii linków
w kolejności. A kurs jeździ po linii.

Czyli najpierw budujesz tabele przystanków (id, nazwa, współrzędne)

np:
1, Dworzec PKS, (x1,y1)
2, Plac Matejki, (x2,y2)
3, Dworzec PKP, (x3,y3)

następnie odcinków międzyprzystankowych -linków (id, id_od, id_do, czas
przejazdu, długość, dwukierunkowy)

czas przejazdu - można podawać w minutach (chodzi o czas jazdy i postoju
na nim)
dwukierunkowy - oznacza że link jest możliwy do przejechania tylko w
jednym kierunku lub w oba.

np:
id, od, do, czas, dług, dwuk.
1, 1, 2, 2 minuty, 900 m, true
2, 2, 3, 3 minuty, 2000 m, true
3, 3, 1, 2 minuty, 1200 m, true

Po wypełnieniu przystanków i wszystkich możliwych (rzeczywistych)
połączeń między nimi (linki) obejmującymi czas przejazdu uzyskujesz całą
siatkę komunikacji miejskiej.

Teraz budujesz tabele linii (id, nazwa, okres obowiązywania, kierunek)

kierunek - oznacza kierunek w którym jedzie - nazwał bym je po prostu 1
i 2 bo w lewo, prawo, albo góra i dół - nic nikomu nie wyjaśnią.

np:
1, 10, 2005-01-01, 2005-12-31, 1
2, 10, 2005-01-01, 2005-12-31, 2
3, 11, 2005-01-01, 2005-12-31, 1
4, 11, 2005-01-01, 2005-12-31, 2

oraz tabele połączeń na linie (id, id_linii, id_linku, kolejność, obrócenie)

obrócenie - oznacza że link jest obrócony - czyli jedzie w drugim kierunku.

np:
id, linia, link, kol, obróc
1, 1, 1, 1, false
2, 1, 2, 2, false
3, 2, 2, 1, true
4, 2, 1, 2, true

Z tak pięknie zaplanowanymi liniami przedsiębiorstwa trzeba tylko
wyznaczyć godziny przejazdu - tabela kursy (id, id_linii, godzina
wyjazdu, czy jeżdzi w dni robocz, soboty, święta)

Aby powiedzieć o której będzie na danym przystanku trzeba oczywiście do
godziny wyjazdu dodać wszystkie czasy przejazdów na wcześniejszych
linkach. Ale w ten sposób uzyskujemy rozkład jazdy możliwie dynamiczny i
łatwy do zmiany.

Istnieje możliwośc w przypadku ogólnym że linia składa sie z wariantów.
A każdy wariant z linków. Wtedy jest możliwość przedłużonych linii, lub
skróconych o jakiś przystanek - czyli to co odnosi się do legendy.
Dodatkowo czas przejazdu na linku może być różny w strefach czasowych
oraz w typach dni.
Ale tu bym to uprościł.

Rozwiązanie może nie jest idealne, ale poparte doświadczeniem. A w tej
tematyce jest go mało. W każdym razie jeżeli to zrobisz dobrze to moja
firma czeka na takich ludzi.

Pozdrawiam
DD




Grzegorz Szyszlo - 30-10-2005 10:51

  Jacek napisał(a):
> Uprzejmie proszę profesjonalistów o wprowadzenie mnie do zagadnienia
> zbudowania optymalnej z punktu widzenia obsługi zapytań userów relacyjnej
> bazy danych miejskiego przedsziębiorstwa komunikacji.

www.mpk.lublin.pl
przedsiebiorstwo wredne, ale poklikaj po rozkladach, to bedziesz
mniej wiecej wiedzial czego sie spodziewac. jaka jest
struktura bazy to sie nie dowiesz, ale mniej wiecej
mozesz sobie wyobrazic jakie sa zapytania do bazy.
po odsmieceniu moze sluzyc jako model.

znik.




Adam Kurzyna - 30-10-2005 10:51

  podaje ci przyklad: http://www.zdt.bialystok.pl/. mozesz sobie wyobrazic
jakie sa zapytania do bazy.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?= [MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?= [mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?= [MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?= [MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?= Gdzie MySQL 4.1, a gdzie 5.0? [MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?= [MS SQL] "set names" (mySQL) w MS SQL [mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?= MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • morebeer.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com