Toon posts:

Database gestuurde voetbalsite

Pagina: 1
Acties:
  • 453 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo iedereen
Sinds een paar jaar onderhoudt ik een site voor mijn voetbalclub. Wat begon als een hobby is nu echt uitgelopen op een wekelijkse bezigheid van een aantal uur. Dit wil ik nu gaan veranderen door mijn gegevens in een database gaan te zetten. Het hoeft niet allemaal in 1x maar laat ik bij het begin beginnen.

Het gaat om een club met ruw geschat:
- 40 teams
- 500 spelers
- 80 trainers en leiders

Deze zaken wil ik een db zetten. Aangezien ik de competitiestanden wil laten opbouwen vanuit een db zullen de tegenstanders ook in de DB moeten. Het totale aantal teams komt hiermee op ongeveer 200.

Mijn eerste vraag, is het wel te doen om met deze hoeveelheden een database op te zetten voor mijn website. Zo ja (het kan natuurlijk altijd) waar moet ik dan aan gaan denken. Is het te doen met een Access DB of een MySQL DB.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:03

TeeDee

CQB 241

maakt niet echt uit.... wat jij het lekkerste vind werken.

Maar het aantal records hoef je niet bang voor te zijn. Zoals ze op mijn werk zeggen: Kakken zonder douwen.

Neem bijvoorbeeld de t.net database. :)

Persoonlijk MySQL (of een SQL variant natuurlijk :))

Heart..pumps blood.Has nothing to do with emotion! Bored


  • tomato
  • Registratie: November 1999
  • Niet online
Op donderdag 20 september 2001 12:10 schreef TeeDee het volgende:
of een SQL variant natuurlijk :)
Dus net zo lief Access als ik het goed begrijp :?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

wat heeft iedereen tegenwoordig met voetbal en databases?

  • tomato
  • Registratie: November 1999
  • Niet online
Op donderdag 20 september 2001 12:16 schreef wasigh het volgende:
wat heeft iedereen tegenwoordig met voetbal en databases?
Je moet iets verzinnen om komende zomer je vrije tijd te vullen (ach, dan maar coden ofzo) ;)

Verwijderd

Topicstarter
Ok de grote aantallen maken dus niet zo veel uit.
Ik denk dat ik dan maar voor MySQL ga i.c.m. PHP.

Maar nu weer ff iets over het datamodel dan.
Ik heb de volgende entiteiten:
- Competitie { comp_id, naam }
- Team { team_id, comp_id, naam }
- CompStand { compstand_id, team_id, comp_id, gesp_wed, punten, dp_voor, dp_tegen }

Dat zijn ff de gene waar ik vast zit.
In Competitie staat een overzicht van ongeveer 40 verschillende competities met hun naam erbij. Alles goed.
In Team staan het team_id, com_id en den naam van het team. Ook alles goed denk ik.

Maar dan; de CompStand tabel. Zoals ik het nu opgebouwd heb komen er straks zo'n 500 records met steeds:
Naam team, comp_id, aantal wedstrijden, aantal punten en dan de doelpunten. Dat is volgens mij niet echt lekker opgezet :?

Hoe zou ik dit een beetje net en functioneel op kunnen lossen ???

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:03

TeeDee

CQB 241

Op donderdag 20 september 2001 12:12 schreef tomato het volgende:

[..]

Dus net zo lief Access als ik het goed begrijp :?
huh?

Ik bedoelde: je zou het via Access en ODBC kunnen doen.

Of: mySql, PostGres, M$SQL etc. etc. dat bedoelde ik te zeggen.

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

zoiets als
http://www.hetkontakt.nl/voetbal/voetbal.html

Dit is goed te doen met PHP\MySQL. :)

  • tomato
  • Registratie: November 1999
  • Niet online
Op donderdag 20 september 2001 12:20 schreef TeeDee het volgende:
huh?

Ik bedoelde: je zou het via Access en ODBC kunnen doen.

Of: mySql, PostGres, M$SQL etc. etc. dat bedoelde ik te zeggen.
Wat bedoelde je dan met een SQL variant?
ODBC is geen SQL variant. Als je een dbm bedoelt die SQL spreekt vallen alle dbm's die je waarschijnlijk kent daaronder (inclusief Access).

Verwijderd

dit moet een acces databaseje makkelijk aankunnen... natuurlijk is een SQL database "stoerder" ... maar acces is net effe wat makkelijker...

plus dat je dan de database kan downloaden.. en em fijn in acces kan bekijken/bewerken ( ach ja... waarom niet )

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

misschien zou je voor de doelpunten nog een apparte tabel kunnen maken, dat e comp stand een een tussentabel is. Misschien wel zo overzichtelijk

  • tomato
  • Registratie: November 1999
  • Niet online
Op donderdag 20 september 2001 12:23 schreef nlchandler het volgende:
natuurlijk is een SQL database "stoerder" ... maar acces is net effe wat makkelijker...
Again, waarom valt Access niet onder 'een SQL database' (wat je daar dan ook mee bedoelt) :?

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:03

TeeDee

CQB 241

Op donderdag 20 september 2001 12:25 schreef tomato het volgende:

[..]

Again, waarom valt Access niet onder 'een SQL database' (wat je daar dan ook mee bedoelt) :?
het programma bedoelde ik. Zo. :) (of de server of whatever :)) Access kan je natuurlijk ook met SQL aanspreken maar ik had het al over de server. :)

Heart..pumps blood.Has nothing to do with emotion! Bored


Verwijderd

Topicstarter
Verder moet ik er goed rekening mee houden dat de site makkelijk bij te werken moet zijn. Iedere week moeten standen bijgewerkt worden dus daar moet in het datamodel ook al rekening mee gehouden worden.

Heeft iemand onder jullie ervaring met het opzetten van een dergelijke database of website ????

PS Als iemand me wil helpen kan ie me bereiken via ICQ 128199319

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

maar je website is toch al klaar verder?

  • tomato
  • Registratie: November 1999
  • Niet online
Op donderdag 20 september 2001 12:19 schreef MiKe_V het volgende:
Maar dan; de CompStand tabel. Zoals ik het nu opgebouwd heb komen er straks zo'n 500 records met steeds:
Naam team, comp_id, aantal wedstrijden, aantal punten en dan de doelpunten. Dat is volgens mij niet echt lekker opgezet :?

Hoe zou ik dit een beetje net en functioneel op kunnen lossen ???
Het lijkt me logischer dat je zoiets maakt:

Club
ID
Naam

Competitie
ID
Naam

Team
ID
ClubID
CompetitieID
Naam

Wedstrijd
ThuisTeamID
UitTeamID
Datum
Speeldag
ThuisDoelpunten
UitDoelpunten


Ik weet niet precies wat je allemaal wilt doen ermee, dus gedetaileerder kan ik het niet maken, dit zou een beginnetje kunnen zijn.
Eventueel zou je nog een veld 'Mindering' oid toe kunnen voegen in de 'Team' tabel, zodat je voor de berekening voor de stand niet per se vast zit aan de wedstrijd uitslagen.
Je zou ook per competitie nog informatie op kunnen slaan, zoals een veld voor het aantal teams dat degradeert, promoveert, etc en andere competitie afhankelijke gegevens (maar daarvoor weet ik niet genoeg van het amateurvoetbal in Nederland) ;)


[edit]
Als competitieoverzichten veel opgevraagd worden kost dit misschien wat tijd om dat keer op keer te berekenen, maar daar zou je een extra tabel met dubbele ongenormaliseerde gegevens voor kunnen toevoegen. Wellicht genereer je na iedere toegevoegde wedstrijduitslag een overzicht van de competitiestand in XML :)
Hoewel dat echt voor later is, nu moet je daar eigenlijk nog niet over nadenken.

[edit]
ThuisClubID en UitClubID moesten natuurlijk 'team' ipv 'club' zijn...

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

en voor het invoeren maak je gewoon een formuliertje appeltje eitje, heb nu mn icq niet aanstaan maar thuis wil ik wel helpen

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

tomato vergeet de tabel uitclub
anders staat er een id teveel....en voor de datum heb ik een prachtige functie!!!

Verwijderd

Op donderdag 20 september 2001 12:19 schreef tomato het volgende:

[..]

Je moet iets verzinnen om komende zomer je vrije tijd te vullen (ach, dan maar coden ofzo) ;)
Zoiets kan ook leuk zijn voor de wintermaanden :9

  • tomato
  • Registratie: November 1999
  • Niet online
Op donderdag 20 september 2001 12:35 schreef Jaspertje het volgende:
tomato vergeet de tabel uitclub
anders staat er een id teveel....
Hoe bedoel je dat? Wat is er zo speciaal aan een uit spelend team om daar een extra tabel voor op te nemen?

Denk er wel aan dat de opzet die ik gaf bedoeld is om de complete competities in bij te houden inclusief alle wedstrijduitslagen (dus niet alleen die van jouw club).
en voor de datum heb ik een prachtige functie!!!
:?

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

als je een id aanroept van een club, moet dat een id zijn uit een tabel ervan uitgaand dat deze uniek is. een id aanroepen is het makkelijkst uit een eigen tabel, idd het hoeft niet maar is wel zo duidelijk

En over die datum, in sommige databases wordt de datum opgeslagen in het tijdsformat van Noord Amerika en dat is mm/dd/yyyy als je de datum opslaat als nummer heb je dat probleem niet

  • tomato
  • Registratie: November 1999
  • Niet online
Op donderdag 20 september 2001 12:43 schreef Jaspertje het volgende:
als je een id aanroept van een club, moet dat een id zijn uit een tabel ervan uitgaand dat deze uniek is. een id aanroepen is het makkelijkst uit een eigen tabel, idd het hoeft niet maar is wel zo duidelijk
Dan snap ik nog steeds niet precies wat je bedoelt. In mijn tabel 'Wedstrijd' heb ik een samengestelde Primary Key, bestaande uit 'ThuisTeamID' en 'UitTeamID', vind je dat daar iets mis mee is?
En over die datum, in sommige databases wordt de datum opgeslagen in het tijdsformat van Noord Amerika en dat is mm/dd/yyyy als je de datum opslaat als nummer heb je dat probleem niet
De meeste databases slaan een datum op als YYYYMMDD en geven hem standaard als YYYY-MM-DD, maar ik ken geen dbm zonder datum conversie en formatterings functies.
Ik vind het zelfs erg lelijk om voor de opslag van een datum gebruik te maken van een integer veld (die je vervolgens vult met een datum in 'eigen' notatie) ipv van een daarvoor bedoeld datum veldtype. Je zult dan namelijk niet (of veel moeilijker en/of minder krachtig) gebruik kunnen maken van allerlei functionaliteit die een dbm vaak biedt voor het werken met data (als in meervoud van datum).

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

In eerste instantie zag ik de tabel verkeerd, en je hebt gelijk het kan zo, maar het kan ook door de thuis en uit teams een apparte tabel te geven.....

En over de tijd. wij werken met Interbase, en daar wilt de db de datum invoeren als mm/dd/yyyy (access ook) pas na de 13e van de maand doet de db het dan goed (access heeft hersens die dat doen). Als je cdate gebruikt krijg je een mooi getal terug en dat kan je invoeren. Heb je het altijd goed, ook als je nog eens overstapt naar een andere db.

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

ik heb hier de code voor je
code:
1
2
3
4
5
6
7
8
<%dim strdatumnumeric
strdatumnumeric=datediff("D",cdate(0),now)


dim strdatumdatum
strdatumdatum=cdate(strdatumnumeric)

%>

hij werkt in ASP

  • tomato
  • Registratie: November 1999
  • Niet online
Op donderdag 20 september 2001 13:03 schreef Jaspertje het volgende:
In eerste instantie zag ik de tabel verkeerd, en je hebt gelijk het kan zo, maar het kan ook door de thuis en uit teams een apparte tabel te geven.....
Denk je er wel aan dat een thuisteam volgende week weer uitteam is? :)

  • tomato
  • Registratie: November 1999
  • Niet online
Op donderdag 20 september 2001 13:04 schreef Jaspertje het volgende:
ik heb hier de code voor je
code:
1
2
3
4
5
6
7
8
<%dim strdatumnumeric
strdatumnumeric=datediff("D",cdate(0),now)


dim strdatumdatum
strdatumdatum=cdate(strdatumnumeric)

%>

hij werkt in ASP
Een nadeel dat ik al genoemd had is dat je database hier niet veel van snapt (niet meer dan van een nummertje). Een ander (groter?) nadeel is dat je nu ASP nodig hebt, algemener gezegd heb je nu een externe techniek nodig om functioneel van je database gebruik te kunnen maken. Ik vind eigenlijk dat dit in je database zelf ondergebracht moet worden (als je het dan toch zo graag via een nummerveldje wilt doen, maak er dan een stored procedure voor ofzo).

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

u heeft gelijk, ik denk dat ik thuis/uitploeg en de teams van de club en teams van de andere club door elkaar haalde

edit:

Nu wil ik zoeen smile die tegen de muur slaat, maar die lukt niet :?

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

Een nadeel dat ik al genoemd had is dat je database hier niet veel van snapt (niet meer dan van een nummertje). Een ander (groter?) nadeel is dat je nu ASP nodig hebt, algemener gezegd heb je nu een externe techniek nodig om functioneel van je database gebruik te kunnen maken. Ik vind eigenlijk dat dit in je database zelf ondergebracht moet worden (als je het dan toch zo graag via een nummerveldje wilt doen, maak er dan een stored procedure voor ofzo).
de db hoeft er ook niet veel van te snappen, dat doe je allemaal met je ASP, en als je de site wilt bouwens is zoeen taal toch wel handig, je hebt toch iets nodig om alles uit de db te trekken

Verwijderd

Topicstarter
Maar zijn er dus wel mensen die me een stukje verder willen helpen ???

Ik zit nu op mijn werk, maar als ik straks thuis ben dan ben ik te bereiken via ICQ# 22100743


Alvast bedankt

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 17-09 14:44

Jaspertje

Max & Milo.. lief

lol, ik zit ook op mn werk en ben straks nog niet thuis........maar morgen heb ik wel tijd, en misschien wil tomato ook wel....kunnen nog leuke discussies worden... :)

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

maak je trouwens niet druk om het aantal records, een paar duizend records is relatief erg weining en elke database server trekt dat makelijk (zolang je snelle queries draait). Power servers als sql-server kunnen miljoenen records per tabel en duizenden tabellen hebben zonder merkbare vertragingen.

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Competitie standen is dus precies het enige wat ik niet in een database zou opnemen. Vogel van elk team uit waar de benodigde informatie te vinden is op de KNVB site en doe een HTTP request daarheen. Klus een paar leuke RegEx en laat de KNVB de database maar bijhouden.
Voorbeeld1

Als je het wel zelf wil doen (bijvoorbeeld omdat de KNVB website langzaam is) gooi dan elke nacht de database leeg en vul hem opnieuw met de informatie van de KNVB website door te kiezen voor de optie om alle uitslagen te laten zien.
Voorbeeld2

Waarschijnlijk niet alleen minder programmeeerwerk (je moet alleen even een parsing script schrijven), maar zeker veel minder onderhoud.

Verwijderd

Topicstarter
Mooi zo
Allemaal goede oplossingen. Misschien is het wel beter om de KNVB te rippen op de een of andere manier. Hoef ik niet iedere week de zaak zelf in gaan te voeren. MAAR !!! Is dat wel legaal ?????

Verder moet ik dan nog wel een gedeelte in een DB mikken. BV, de spelers, links en bezoekers. Maar dat is aanzienlijk minder werk.

Ik zal wel eens kijken....

Verwijderd

Topicstarter
Is het eigenlijk functioneel om bv. alleen die tabellen op mijn site te laten vullen uit een DB en de rest (nieuws, columns, krantenartikelen enz.) gewoon handmatig toe te voegen. Of heeft het dan weinig nut om een db-gestuurde website te maken ??? Of blijft dit toch iets wat de webmaster het makkelijkst vind ????

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Competitiestanden etc. hebben in principe volgens mij geen copyright an sich, het is gewoon publieke informatie. Wat de KNVB eventueel wel heeft is 'database-recht': omdat zij de informatie catalogiseert en ordent wordt de informatie extra waardevol en kan zij er extra rechten op laten gelden. Echter, is het de KNVB die dat doet of zijn het de verenigingen die dat doen door de gegevens bij de KNVB in te voeren?

Laat ik het zo stellen: het lijkt me erg stug dat je er voor vervolgt wordt zolang je je beperkt tot je eigen club. Afgezien van problemen met de bewijslast is het juridisch te grijs. En als je er helemaal zeker van wil zijn zet je er toch een link naar de KNVB bij.

Ik heb zelf dit probleem met de KNHB en ik ben eigenlijk van plan om zodra de site er een beetje fatsoenlijk uit ziet dit ter sprake te laten brengen op een districtsvergadering. Dit soort informatie dient elke zichzelf respecterende sportbond namelijk gewoon als XML aan te bieden. Daarnaast wil ik niet zelf de informatie elke keer gaan halen, ik wil dat de KNHB dit middels een 'server side push' naar mij toestuurd. Zodat ik niet alleen standen kan doen, maar ook veld indelingen, tijden, wijzigingen, afgelastingen etc. (Weet er iemand een goede site waar ik bulk SMS kan aanbieden als het weer te hard heeft geregend in het weekend?)

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Ga in elk geval voor een database. Zoekfuncties, archivering etc zijn veel makkelijker. Daarnaast kan je als de layout van de site een keer verandert je gewoon de oude content blijven aanbieden, je hoeft alleen je template te veranderen.
Pagina: 1