database : controller

Status
Niet open voor verdere reacties.

migthy84

Gebruiker
Lid geworden
13 okt 2009
Berichten
580
Beste Helpmijers

Hebben jullie nog commentaar op de onderstaande database ontwerp:
Hieronder ga ik de vereiste uitleggen.

  • Een gebruiker zit in een gebruikersgroep.
  • Een gebruikersgroep heeft rechten op een pagina (topics)
  • Een pagina kent zijn moderators (mod) , elke mod kan uniek recht hebben op pagina

De cirtkel in het midden ben ik niet erg blij mee.
 

Bijlagen

  • database.png
    database.png
    38,4 KB · Weergaven: 45
Ik denk dat er nog relaties ontbreken.

Bijvoorbeeld in de tabel Post zit een attribuut createdBy. Dit zou normaal gezien een FK moeten zijn naar de tabel User.

CategoryName in de tabel Topic moet sowieso CategoryId worden die naar de tabel Category verwijst.

Verder zou ik de wirwar aan rechten etc. niet als integriteitsregels in de database proberen op te lossen, zou wel eens voor problemen kunnen zorgen en dit puur programmatisch oplossen, maar dat is mijn mening.

Daarom heb ik zelf ook met de hand een datamodel gemaakt welke je kan vinden in de bijlage. Ik hoop dat je een beetje bekend bent met zo'n diagram.

datamodel_mighty84.jpg

Nog een tip: namen van tabellen moeten in het enkelvoud staan en liefst met een hoofdletter beginnen. Dit zijn algemene afspraken binnen datamodellering :thumb:
 
Laatst bewerkt:
ik heb altijd begrepen meerfout de vuistregel was.

Een categorie naam kan maar 1 keer voor komen van daar het gelijk de Unieke waarde in de tabel. De foreign_key naar createdby ben ik inderdaad vergeten in de tabelwaarde.

Owersid was ooit de bedoeling dat een categorie meerdere mod heeft die topics kan aan passen.

R1: Een gebruiker mag meerder Post hebben
R2: Een gebruiker mag maar 1 inlog hebben en deze dient uniek te zijn.
R3: Een post behoord aan 1 topic
R4: Een topic behoor aan 1 categorie.
R5: Een mod kan per topic aanpassingen doen
R6: Een mod kan per topic verschillend rechthebben.
(R7): Er kunnen meerder mod per topic actief zijn.
 
R5: Een mod kan per topic aanpassingen doen
R6: Een mod kan per topic verschillend rechthebben.
(R7): Er kunnen meerder mod per topic actief zijn.

Ik vrees dat dit nooit relaties kunnen zijn en dat de dit echt programmatisch zal moeten doen. Dus controleren of het een moderator of administrator is (tabel Groep) en op die manier verschillende rechten toekennen.

Verder ben ik mijn datamodel toch iets vergeten. Een bepaald topic wordt gemaakt door een bepaalde user. Dus moet er in de tabel Topic een Foreign Key komen naar de tabel User, en dus ook een nieuwe relatie.

Een bepaald topic behoort steeds toe aan één user.
Een user kan meerdere topics hebben.​

Die ownersId in de tabel Categorie zou ik eigenlijk maar raar vinden. Normaal als je een forum maakt is het de administrator die een structuur maakt, dus enkel hij kan categorieën creëren. Verder ga je ook niet op de haverklap een nieuwe categorie maken, of heb ik dit verkeerd?
 
In principe heb ik 7 vaste hoofdcategorien. In de toekomst kunnen hier misschien of 2 bijkomen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan