Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Opinia na temat stworzenie tabeli wynikow
lexis72
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 25.02.2013

Ostrzeżenie: (0%)
-----


Witam,
Mam do Was pytanie odnosnie sposobu zbudowania tabeli do wynikow typu sportowego gdzie wprowadzane beda czasy poszczegolnych zawodnikow i na tej podstawie tworzone tabele-klasyfikacje oraz statystyki typu kto ile razy zajal jakie miejsce itp. W kazdej dyscyplinie bedzie rozgrywanych duzo zawodow ktore tworzyc bede w osobnej tabeli i oznaczal je kolejnymi numerami id+nazwa tych zawodow i potem w wynikach do kazdego czasu i nazwiska zawodnika bede dodawal te id w jakich zawodach ten czas zostal osiagniety.

I teraz mam zasadnicze pytanie czy w takiej sytuacji sadzicie ze powinienem wstawic dodatkowa kolumne w ktorej wpisywalbym pozycje ktora dany zawodnik zajal w danych zawodach czy lepiej zostawic to poleceniu do bazy ktore bedzie sortowac czasy i sprawdzac ktory to byl czas z kolei?
Ma to dla mnie zasadnicze znaczenie bo jesli nie dodam tej kolumny bedzie mi latwiej dodawac wyniki bowiem nie bede musial ich sam sortowac tylko po prostu wpisywac do bazy oznaczajac tylko w jakich zawodach byly zrobione a skrypt sam obliczy miejsce ponadto takie rozwiazanie bedzie tez latwe w przypadku modyfikacji wynikow np kary, wystarczy ze zmienie czas a w tabeli automatycznie zmieni sie pozycja zawodnika a jesli bede chcial kazdego oznaczac pozycjami to przy okazji bede musial tez zmieniac numery pozycji wszystkim ktorzy w wyniku takiej kary zmienili swoje miejsca w klasyfikacji. Ale z drugiej strony majac fizycznie pozycje poszczegolnych zawodnikow w poszczegolnych zawodach bedzie mi latwiej nimi zarzadzac, o ile zwykla tabela z wynikami to nie problem bez wzgledu na wariant to juz statystyki zawodnikow bedzie duzo latwiej tworzyc majac te miejsca zapisane w bazie (np wyswietlenie zawodow w ktorych jakis zawodnik byl pierwszy, liczenie srednich pozycji itd)

Dlatego mam dylemt i chcialbym poznac Wasze zdanie, czy wiecie jak profesjonalisci tworza takie bazy? Ktory wariant wybieraja?


TABELA ZAWODY
- ID zawodow
- Nazwa zawodow

TABELA Z WYNIKAMI (Wariant 1)
- Id wyniku
- Id zawodow
- Zawodnik
- Czas
- (Jakies inne atrybuty kary, narodowosc itd)

TABELA Z WYNIKAMI (Wariant 2)
- Id wyniku
- Id zawodow
- Zawodnik
- Czas
- Miejsce (pozycja w danych konkretnych zawodach)
- (Jakies inne atrybuty kary, narodowosc itd)

Ten post edytował lexis72 17.04.2014, 20:41:38
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


bez miejsca, jest to kolejne pole które będziesz musiał ręcznie wyliczać i dbać o aktualizację. Tak jak napisałeś jak zmieni się czas na gorszy to w najgorszym wypadku będziesz musiał przeliczyć wszystkie rekordy z danych zawodów i zrobić update.
Go to the top of the page
+Quote Post
lexis72
post
Post #3





Grupa: Zarejestrowani
Postów: 124
Pomógł: 0
Dołączył: 25.02.2013

Ostrzeżenie: (0%)
-----


No dobra ale wiesz jak ciezko bedzie zbudowac zapytania do statystyk bez miejsc w wynikach nie mowiac juz jaki to bedzie mialo wplyw na baze. Kilka przykladow:

- chce znalezc w jakich zawodach zawodnik XYZ zajal powiedzmy pierwsze i trzecie miejsce. W wariancie z miejscami wystarczy zapytanie ktore znajdzie 'jedynki' i 'trojki' przy nicku tego kierowcy i poda id tych zawodow podczas gdy w drugim wariancie bedzie trzeba robic zapytanie ktore bedzie analizowalo kazde zawody oddzielnie, w locie tworzylo tabele z czasami i sprawdzalo podane wyzej warunki.

- chce zrobic tabele 10 najlepszych zawodnikow w danym roku na podstawie ich srednich wynikow. O ile w pierwszym wariancie to pestka zarowno dla mnie jak i bazy to w drugim liczenie wszsytkim zawodnikom sredniej z wynikow ustalanych w locie moze byc klopotliwe.
Go to the top of the page
+Quote Post
ghost1511
post
Post #4





Grupa: Zarejestrowani
Postów: 186
Pomógł: 18
Dołączył: 2.09.2010

Ostrzeżenie: (0%)
-----


Możesz bez problemu wyszukać zawodnika który zajął 3 miejsce. Ja osobiście napisałbym dodatkowy widok który w pierwszej kolumnie zwracałby miejsce. Są konstrukcje które na to pozwalają. A Ty nie musiałbyś martwić się o aktualizowanie tabel (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 04:35