Toon posts:

Functionele analyse : LGS/ERD

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

Verwijderd

Topicstarter
Het valt mij op dat er veel profielsites zijn, maar analyse voor deze sites vind je niet zo gemakkelijk. Tenzij iemand hier een goed voorbeeld van heeft?

Ik ben zelf aan een eenvoudige profielsite bezig, hieronder het LGS, maar ik had toch wat vraagjes aan jullie, aangezien het mij nog niet allemaal duidelijk is en ik denk dat het niet helemaal goed zit :

BAN(gebruikersnaam, ip , datum)
Foreign keys :
gebruikersnaam -> (PROFIEL(gebruikersnaam))

FAQ(id, vraag, antwoord)

LID(id, naam, voornaam, straat, gemeente, land, geboortedatum, telefoon, gsm, email, msn, coa, website, nieuwsbrief, lidinfo, foto, timestamp)

NIEUWS(id, datum, titel, gebruikersnaam, bericht)
Foreign keys :
gebruikersnaam -> (PROFIEL(gebruikersnaam))

NIEUWS_REACTIE(id, nieuws_id, datum, gebruikersnaam, ip, bericht)
Foreign keys :
(nieuws_id -> NIEUWS(id)
gebruikersnaam -> (PROFIEL(gebruikersnaam))

ONLINE(id, gebruikersnaam, ip, datum, datum_start)
Foreign keys :
gebruikersnaam -> (PROFIEL(gebruikersnaam))

PRIVEBERICHT(id, onderwerp, van, naar, datum, bericht, ip, gelezen)

PROFIEL(gebruikersnaam, lidid, wachtwoord, ip, activatie, status, datum)
Foreign keys :
(lidid -> LID(id))

SHOUTBOX(id, gebruikersnaam, email, bericht)
Foreign keys :
gebruikersnaam -> (PROFIEL(gebruikersnaam))

--

Vraagjes :

Zoals jullie in bovenstaand LGS zien komt "ip" in een 5-tal tabellen voor ? Is dit slecht en moet ik er eigenlijk voor zorgen dat het ip vb. alleen bij het profiel wordt opgeslagen tijdens het inloggen. Wat is de correcte manier om zoiets op te lossen?

Ik ben ook aan een ERD bezig maar vroeg mij af, is in bovenstaande situatie vb. FAQ een entiteit, FAQ staat eigenlijk los van de rest, moet dit dan in een ERD worden opgenomen, en zoja hoe dan wel?

Kunnen verschillende type gebruikers in een ERD getoond worden?

Ik hoop dat iemand mij wat wijzer kan maken, alvast hartelijk bedankt!

Peter

  • whoami
  • Registratie: December 2000
  • Laatst online: 13:47
Een ip hangt imo niet vast aan een profiel, want een persoon (profiel) kan op verschillende momenten een ander ip hebben.

Wat bedoel je met 'verschillende gebruikers in een erd tonen' ?
In een ERD toon je je entiteiten, en de relatie tussne die entiteiten. Wat bedoel je met 'verschillende gebruikers ' ?

[ Voor 44% gewijzigd door whoami op 02-06-2005 12:50 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
Eerst en vooral bedankt voor je snelle reactie!

Ivm "ip" : daar heb je gelijk in, dus qua structuur mag dat op deze manier dan ?

In het ERD heeft het dus geen belang dat er 3 type gebruikers zijn (gast/gebruiker/admin) en moet er enkel een entiteit "gebruiker" komen ?

Een entiteit is toch iets waar een databewerking op plaats gaat vinden, dus ban en faq bijvoorbeeld zouden ook in een ERD opgenomen moeten worden, of zie ik dit verkeerd?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 04-05 22:29

Gerco

Professional Newbie

In "shoutbox" sla je ook het email adres op, terwijl dit al in "lid" staat. Daar kun je bij door via "profiel" te gaan. Die email in shoutbox is dus overbodig tenzij je mensen wilt laten reageren zonder lid te zijn.

Wat is daarnaast het verschil tussen "lid" en "profiel", zo op het eerste gezicht is dat een 1:1 relatie, is die scheiding dan nodig ?

[ Voor 31% gewijzigd door Gerco op 02-06-2005 13:01 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Verwijderd schreef op donderdag 02 juni 2005 @ 12:58:
In het ERD heeft het dus geen belang dat er 3 type gebruikers zijn (gast/gebruiker/admin) en moet er enkel een entiteit "gebruiker" komen ?
Eén entiteit gebruiker, waarin een eigenschap (veld dus) zit dat 'soort' of 'status' heet ofzo. Overigens, er is als het goed is maar één gast. Die kun je toch het userID 0 geven, en verder geen speciale, eigen status? Lijkt me vrij zinloos namelijk. :)

Een entiteit is toch iets waar een databewerking op plaats gaat vinden, dus ban en faq bijvoorbeeld zouden ook in een ERD opgenomen moeten worden, of zie ik dit verkeerd?[/quote]
Kan inderdaad prima, zeker die bans. Al zou ik de gebruikersnaam weglaten bij het bannen, het lijkt me dat je voornamelijk op IP een ban wil uitdelen. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • whoami
  • Registratie: December 2000
  • Laatst online: 13:47
Verwijderd schreef op donderdag 02 juni 2005 @ 12:58:
In het ERD heeft het dus geen belang dat er 3 type gebruikers zijn (gast/gebruiker/admin) en moet er enkel een entiteit "gebruiker" komen ?
Dat hangt er vanaf hoe jij die gebruikers wilt weergeven in je databank.
Je kan alle gebruikers in één tabel steken (een admin is een gebruiker, een gast is een gebruiker, etc...) en dmv 'attributes' in je tabel kan je gaan weergeven of een gebruiker admin is of niet.
(Je kan het ook dmv een soort 'groepensysteem' doen, dat je dan bouwt (bv, een gebruiker behoort tot de groep 'administrators'), etc...
Een entiteit is toch iets waar een databewerking op plaats gaat vinden, dus ban en faq bijvoorbeeld zouden ook in een ERD opgenomen moeten worden, of zie ik dit verkeerd?
Ja.
Al vraag ik me af wat die 'ban' precies doet.
Je kan evengoed een veld opnemen in de profiel/gebruiker tabel die aangeeft of een gebruiker gebanned is.

[ Voor 6% gewijzigd door whoami op 02-06-2005 13:03 ]

https://fgheysels.github.io/


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

whoami schreef op donderdag 02 juni 2005 @ 13:02:
Ja.
Al vraag ik me af wat die 'ban' precies doet.
Je kan evengoed een veld opnemen in de profiel/gebruiker tabel die aangeeft of een gebruiker gebanned is.
Ban zal zijn voor IP-bans lijkt me. :P Ik zou in elk geval beide manieren van bannen ondersteunen, dus die losse ban-tabel voor IP-bans, en user-bans in de user-tabel. Als ik me niet vergis werkt dat hier op GoT ook zo. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
@ Gerco : lid is een bestaande tabel gevuld met gegevens, ik heb gewoon profiel aangemaakt en hieraan gekoppeld omdat de tabel lid in een andere applicatie ook nog nut heeft en ik hier dus liever af blijf (dit is toch niet foutief op deze manier?)

@-NMe- : ik werk gewoon met een veldje "status" in de tabel profiel

@ whoami : ivm ban heb je gelijk, dit kan bij profiel

Maar ik het het nog niet helemaal gevat om dit naar een correct ERD om te zetten. Vb. de entiteit FAQ , die heeft toch geen verband met andere entiteiten, hoe moet ik dit dan weergeven ?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Het hoeft toch geen verband te hebben met iets anders? Gewoon een blokje met het woord FAQ erin dus in je ERD, dat nergens op is gekoppeld.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Ik wil er niet echt uitkomen met dat ERD :

http://users.pandora.be/stevensk/erd.gif

Dat heb ik er voorlopig van gemaakt, heeft iemand wat tips misschien?

Wat gek is : ik gebruik Case Studio en vraag mij echt af of dat de juiste weergave is voor 1 op 1 relatie (vb. tussen lid en profiel) ?

[ Voor 31% gewijzigd door Verwijderd op 02-06-2005 13:44 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 13:47
Lid en profiel ziet eruit als een één op meer relatie.
Als het een één op één relatie is, waarom zitten ze dan in een aparte table ?

https://fgheysels.github.io/


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 04-05 22:29

Gerco

Professional Newbie

Verwijderd schreef op donderdag 02 juni 2005 @ 13:14:
@ Gerco : lid is een bestaande tabel gevuld met gegevens, ik heb gewoon profiel aangemaakt en hieraan gekoppeld omdat de tabel lid in een andere applicatie ook nog nut heeft en ik hier dus liever af blijf (dit is toch niet foutief op deze manier?)
Lijkt me in dit geval dan wel in orde ja, maar waarom dan het veld email in shoutbox? Een table van een andere app wil je liever niet aanzitten, je weet nooit wat dat voor effect kan hebben. Ik neem aan dat je dan een 1:1 relatie tussen lid en profiel hebt, dan moet je die in je ERD ook wel zo aangeven.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
@whoami : zoals ik al zei wordt de tabel lid nog door een andere applicatie gebruikt, dus blijf ik daar liever af

@gerco : veld email kan inderdaad weg bij shoutbox

@iedereen : heb het ERD aangepast

http://users.pandora.be/stevensk/erd.gif

Is dit zo in orde, of heeft er nog iemand opmerkingen, of moeten er nog dingen bijstaan voor het een volwaardig ERD is ? Bedankt!

Modbreak:Ik heb net een post van je verwijderd. Het is op GoT niet gewenst om, als je zelf de laatste poster bent, binnen 24 uur nog een keer je topic omhoog te schoppen. Als je zelf de laatste poster bent, edit dan liever je laatste bericht als je wat toe te voegen hebt. Niet iedereen is 24/7 online. :)

[ Voor 30% gewijzigd door NMe op 02-06-2005 20:42 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Waarom is de ban-tabel gelinkt met de profieltabel? Lijkt me vrij zinloos, sla gewoon als je een gebruiker wilt bannen een extra veld op in de profieltabel ('banned' -> yes/no). Als je op IP wil bannen kan dat met de ban-tabel, maar daar heb je dan de gebruikerstabel weer niet voor nodig. Die link zou ik dus weglaten. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Noork
  • Registratie: Juni 2001
  • Niet online
Oh en zomaar een opmerking. Wat heeft een functionele analyse met een ERD te maken. Het maken van het ERD gebeurd normaliter toch een fase later in het technisch ontwerp?
Wikipedia:
Voor men een computerprogramma kan schrijven, moet men een idee hebben waartoe het moet dienen en hoe het moet functioneren. Daarom moet er eerst een functionele analyse gemaakt worden.
Heb je wel een functioneel ontwerp gemaakt? Dat moet je wel goed hebben vastgelegd zodat je in het technisch ontwerp geen nieuwe functionaliteit ga toevoegen.

[ Voor 18% gewijzigd door Noork op 02-06-2005 21:02 ]


Verwijderd

Topicstarter
ERD kan toch ook in functioneel ontwerp? Of vergis ik mij? Ik heb de volgende stappen doorlopen :

- opdracht herschreven
- functionele tekstuele beschrijving van de opdracht
- structuurzinnen
- lgs
- data dict
(ERD)

Verwijderd

Topicstarter
Ik heb een nieuw ERD gemaakt :

http://users.pandora.be/stevensk/erd2.gif

Wil iemand dit even nakijken? Is dit een correct ERD?

Nog een vraagje voor de zekerheid

- Aangezien FAQ en Privébericht geen relatie hebben met andere entiteiten mogen die daar gewoon
zo apart bijstaan ?

Voor de rest nog iemand opmerkingen? Morgen wordt het nagekeken dus zou graag weten of ik juist bezig ben, thanks!
Modbreak:Wat zei ik nou daarnet in mijn modbreak? :/

[ Voor 7% gewijzigd door NMe op 02-06-2005 21:46 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

"Behoort tot" en "bevat" zijn heel erg slechte omschrijvingen, dat gaat gewoon 9 van de 10 keer op, evenals woorden als "heeft" en dergelijke. Neem betere woorden om de koppelingen te beschrijven.

Verder: waarom heb je die ban-tabel nou helemaal weggedaan? Voor IP-bans heb je hem wel nodig (als je dat tenminste wil kunnen).

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1