MySQL - jak to zaprojektowac?
Paweł Kacprowicz - 13-08-2006 00:56
MySQL - jak to zaprojektowac?
Witam Tworze pewien serwis w ktorym kazdy uzytkownik bedzie mial cos w rodzaju rankingu. Teraz pytanie: jak najlepiej zaprojektowac baze danych? Czy wartosc rankingowa umiescic w tabeli gdzie znajduja sie dane uzytkownika, czy w osobnej mieszczacej tylko rankingi wszystkich uzytkownikow? Zalezy mi na historii rankingow, tak aby mozna bylo sprawdzic jaki ranking mial dany ID np w czerwcu. Jak sei rozwiazuje takie cos? Jesli to ma jakies znaczenie, pisze w PHP. Z gory dzieki za odpowiedz Pawel Kacprowicz
sg - 16-08-2006 01:25
Paweł Kacprowicz napisał(a): > Witam > Tworze pewien serwis w ktorym kazdy uzytkownik bedzie mial cos w rodzaju > rankingu. Teraz pytanie: > jak najlepiej zaprojektowac baze danych? > Czy wartosc rankingowa umiescic w tabeli gdzie znajduja sie dane > uzytkownika, czy w osobnej mieszczacej tylko rankingi wszystkich > uzytkownikow? ale to zależy od tego co chcesz osiągnąć, ja bym właśnie tak zrobił
> Zalezy mi na historii rankingow, tak aby mozna bylo sprawdzic jaki ranking > mial dany ID np w czerwcu. Jak sei rozwiazuje takie cos? ano właśnie, to w takim razie ja bym nie robił tak jak powyżej napisałem :-)
> Jesli to ma jakies znaczenie, pisze w PHP. nie ma znaczenia...
może najpierw się zastanów jakie dane chcesz trzymać w bazie i poco i co chcesz z niej wyciągać.
sg
Paweł Kacprowicz - 16-08-2006 01:25
> może najpierw się zastanów jakie dane chcesz trzymać > w bazie i po co i > co chcesz z niej wyciągać.
Dobrze, to ja sprecyzuje. Chcialbym wyciagac poziom rankingu w wybranym przez siebie miesiacu (np z ostatniego dnia tego miesiaca) jak rowniez aktualny ranking danego uzytkownika. Jak to najlepiej zrobic? Pozdrawiam Pawel Kacprowicz
Matt Z - 16-08-2006 01:25
Użytkownik "Paweł Kacprowicz" <csharp@kacprowicz.pl> napisał w wiadomości news:ebmq96$4p2$1@atlantis.news.tpi.pl... > Dobrze, to ja sprecyzuje. Chcialbym wyciagac poziom rankingu w > wybranym przez siebie miesiacu (np z ostatniego dnia tego miesiaca) > jak rowniez aktualny ranking danego uzytkownika. Jak to najlepiej > zrobic?
skoro jeden użytkownik ma mieć kilka rankingów, to jak chcesz to zmieścić w jednej tabeli? Zrób asocjacje 1...n.
-- Matt Z
Paweł Kacprowicz - 16-08-2006 01:25
> zmieścić w jednej tabeli? Zrób asocjacje 1...n.
Masz na mysli osobna tabele na kazdy miesiac?
sg - 16-08-2006 01:25
Paweł Kacprowicz napisał(a): >> zmieścić w jednej tabeli? Zrób asocjacje 1...n. > > Masz na mysli osobna tabele na kazdy miesiac? > >
nie, tabele na zasadzie:
[UŻYTKOWNICY] ID NAZWA... itd
[RANKING] ID ID_UŻYTKOWNIKA RANKING MIESIĄC
sg
Paweł - 16-08-2006 01:26
Paweł Kacprowicz napisał(a): >> może najpierw się zastanów jakie dane chcesz trzymać > w bazie i po co i >> co chcesz z niej wyciągać. > > Dobrze, to ja sprecyzuje. Chcialbym wyciagac poziom rankingu w wybranym > przez siebie miesiacu (np z ostatniego dnia tego miesiaca) jak rowniez > aktualny ranking danego uzytkownika. Jak to najlepiej zrobic?
Może tak: zrób tabelę z kolumnami: użytkownik, miesiąc, rok, ranking
pasi123@gmail.com - 16-08-2006 01:26
Paweł Kacprowicz wrote: > Witam > Tworze pewien serwis w ktorym kazdy uzytkownik bedzie mial cos w rodzaju > rankingu. Teraz pytanie: > jak najlepiej zaprojektowac baze danych? > Czy wartosc rankingowa umiescic w tabeli gdzie znajduja sie dane > uzytkownika, czy w osobnej mieszczacej tylko rankingi wszystkich > uzytkownikow? > Zalezy mi na historii rankingow, tak aby mozna bylo sprawdzic jaki ranking > mial dany ID np w czerwcu. Jak sei rozwiazuje takie cos? > Jesli to ma jakies znaczenie, pisze w PHP. > Z gory dzieki za odpowiedz > Pawel Kacprowicz
Ja bym proponowal rozwiazac to tak jak jest to robione w hurtowniach danych, czyli zrobic baze pod kostke OLAP. Robisz jedna tabele faktów i kilka tabel wymiarow i wtedy wyciagasz kto kiedy jaki mial ranking. Wiadomo o co chodzi? :)
sg - 16-08-2006 01:26
pasi123@gmail.com napisał(a): > Paweł Kacprowicz wrote: >> Witam >> Tworze pewien serwis w ktorym kazdy uzytkownik bedzie mial cos w rodzaju >> rankingu. Teraz pytanie: >> jak najlepiej zaprojektowac baze danych? >> Czy wartosc rankingowa umiescic w tabeli gdzie znajduja sie dane >> uzytkownika, czy w osobnej mieszczacej tylko rankingi wszystkich >> uzytkownikow? >> Zalezy mi na historii rankingow, tak aby mozna bylo sprawdzic jaki ranking >> mial dany ID np w czerwcu. Jak sei rozwiazuje takie cos? >> Jesli to ma jakies znaczenie, pisze w PHP. >> Z gory dzieki za odpowiedz >> Pawel Kacprowicz > > Ja bym proponowal rozwiazac to tak jak jest to robione w hurtowniach > danych, czyli zrobic baze pod kostke OLAP. Robisz jedna tabele faktów > i kilka tabel wymiarow i wtedy wyciagasz kto kiedy jaki mial ranking. > Wiadomo o co chodzi? :) >
ech, kiedy to było... już zapomniałem jak to jest w hurtowniach :-) możesz napisać jak to było, może jakiś przykładzik?
sg
pasi123@gmail.com - 16-08-2006 01:26
sg wrote: > pasi123@gmail.com napisał(a): > > Paweł Kacprowicz wrote: > >> Witam > >> Tworze pewien serwis w ktorym kazdy uzytkownik bedzie mial cos w rodzaju > >> rankingu. Teraz pytanie: > >> jak najlepiej zaprojektowac baze danych? > >> Czy wartosc rankingowa umiescic w tabeli gdzie znajduja sie dane > >> uzytkownika, czy w osobnej mieszczacej tylko rankingi wszystkich > >> uzytkownikow? > >> Zalezy mi na historii rankingow, tak aby mozna bylo sprawdzic jaki ranking > >> mial dany ID np w czerwcu. Jak sei rozwiazuje takie cos? > >> Jesli to ma jakies znaczenie, pisze w PHP. > >> Z gory dzieki za odpowiedz > >> Pawel Kacprowicz > > > > Ja bym proponowal rozwiazac to tak jak jest to robione w hurtowniach > > danych, czyli zrobic baze pod kostke OLAP. Robisz jedna tabele faktów > > i kilka tabel wymiarow i wtedy wyciagasz kto kiedy jaki mial ranking. > > Wiadomo o co chodzi? :) > > > > ech, kiedy to było... już zapomniałem jak to jest w hurtowniach :-) > możesz napisać jak to było, może jakiś przykładzik? > > sg
Podaj maila, to Ci wysle wyklad w PDFie
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[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?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[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?=
zanotowane.pldoc.pisz.plpdf.pisz.platanvarne633.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 |
|