Hieman tuo normalisointi hakusessa joten voiskos joku viisaampi auttaa vähäsen. Tässä on erään tapahtumakalenterin tauluja.
Tapahtuma
id | tapatuma
Paikka
id | paikka
Tapahtumat
id | tapahtuma_id | paikka_id | alkaa | loppuu
Tuollee on tällähetkellä, mutta kun katselee dataa niin alkaa ja loppuu (molemmat datetime) ovat aika usein toistoja (noin 45% toistoja), jotenka olisikos parempa tehdä näin
Tapahtuma
id | tapatuma
Paikka
id | paikka
Aika
id | aika
Tapahtumat
id | tapahtuma_id | paikka_id | alkaad(aika_id) | loppuu(aika_id)
Vai onko tuo jo liioittelua normalisoinnissa?
Mutta mimmosella kyselyllä saan sitten tapahtumat jotka alkaa vaikkapa 2.3.2007 jälkeen sekä loppuu ennen 27.3.2007?
Normalisointi?
5
650
Vastaukset
- --------
Ja muutenkin otetaan vinkkejä miten tuo oikeaoppisesti kuuluisi tehdä.
- normalisoida
Mielestäni suunnitelma yksi ihan hyvä. Riippuen mitä infoa tapahtumiin liittyy, eli jos ihan keraluontoisia, voisi erillisen tapahtumataulunkin jätää pois.
- --------
normalisoida kirjoitti:
Mielestäni suunnitelma yksi ihan hyvä. Riippuen mitä infoa tapahtumiin liittyy, eli jos ihan keraluontoisia, voisi erillisen tapahtumataulunkin jätää pois.
Kiitoksia vastauksesta, sama tapahtuma saattaa toistua useastikin eriaikoina ja paikoissa. Tässä tän hetkist tietoa paljon dataa noissa tauluissa on jotta saa käsityksen paljon noita toistoja onpi.
Tapahtumat: 3458kpl
Tapahtuma: 206kpl
Paikka: 187kpl
Kokeilimpa huvikseni tehdä seuraavanlaisen taulun
Ajat
aika_id | alkaa | loppuu
Jolloin erillaisia tietoja tuli
2669kpl
Mutta taitaa tuo ensinmäinen suunnitelma olla yhä se parhain?
Mistäs löytyisi kunnon tietoa normalisoinnista?
Googlella kyl yritin mut eipä pahemmin mitään löytynyt, kaik semmosia ylimalkasia ja perusteit.
- Nyksy
Toi suunnitelma 1 on ihan hyvä... se alkamis ja loppumisaika kannattaa tehdä timestampilla jos haluut esim minuuttien tarkkuudella tai sitten jos päivän tarkkuus riittää niin määrität sen alkamisen ja loppumisen alkioiden tyypiksi päivämäärän. Jälkimmäisellä tavalla myöskin tietyn päivän jälkeen tapahtuneet asiat on helppo hakea perus kyselyillä... esimerkiksi näin "select *; from tapahtumat; where alkaa > 2-3-2007 and loppuu < 27-3-2007;" Syntaksi sitten vaihtelee tietokanta ohjelmittain mutta periaate tosta varmasti selviää... :)
- --------
Kiitoksia vastauksest. Juu nuo alkamis ja loppumis ajat ovat datetime tyyppisiä joilla toimii myös nuo aikajutut.
Tietokantana on MySQL 5
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Ensi kesänä
Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta703550Anne Kukkohovin karmeat velat ovat Suomessa.
Lähtikö se siksi pois Suomesta ? Et on noin kar? mean suuret velat naisella olemassa1483503Tukalaa kuumuutta
Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh463322- 532769
- 322036
Okei, myönnetään,
Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘301962Et siis vieläkään
Et ilmeisesti ole vieläkään päässyt loppuun asti mun kirjoituksissa täällä. Kerro ihmeessä sit, kun valmista 😁 tuskin k401695- 481676
Mihin hävisi
Mihin hävisi asiallinen keskustelu tositapahtumista, vai pitikö jonkin Hannulle kateellisen näyttää typeryytensä961625- 391390