Database model ontwerpen

  • Hi,


    Ik ben bezig voor een klant om een nette database model op te zetten voor zijn CMS en de ontwikkeling ervan.
    Nu moet ik een aantal communicatie delen maken waar ik nog even over twijfel over hoe of wat en hoop op jullie denkwijze op een oplossing.


    Uitleg:
    Er moet een communicatie komen welke een ja/nee kwestie heeft maar wel aanpasbaar moet zijn en blijven.
    De benodigde lijst is dus compleet aan te passen naar wens, nu moet hij alleen communiceren met de vaste tabel waar het in komt.


    Mijn idee:
    Zelf had ik een array in gedachte die de waardes van elkaar houd, op die manier kan ik op elk moment de data controleren.
    Maar zodra een deel uit de andere tabel gehaald wordt klopt de hele array natuurlijk niet meer van alle waardes.


    Ik dacht:
    Met PHP de velden zelf aanpassen in 1 tabel zodat die altijd UP2DATE is en correct werkt.
    Echter weet ik niet of de database continu wijziging gaat waarderen, of hij hiervan op ze bek kan gaan.
    Ook werk ik met MySQLi, ik weet dat het met MySQL heel simpel in de functies zit maar weet zelf niet of MySQLi dit ook heeft.




    Graag wil ik jullie laten meedenken hierin.

  • Guest, wil je besparen op je domeinnamen? (ad)
  • @BrokenTrack
    Excuus zal iets duidelijker zijn:


    Ik heb 2 tabellen (1 = Accomodatie, 2 = Faciliteiten), deze 2 moeten met elkaar kunnen communiceren zodat faciliteiten ten alle tijden aanpasbaar is.
    De klant wil namelijk Faciliteiten kunnen aanpassen, echter weet ik even niet hoe ik dit ga opslaan in Accomodatie tabel.
    Tijdens het toevoegen van een nieuwe Accomodatie roep ik de opties van faciliteiten met een DISTINCT functie op zodat de hele rij er staat.


    Nu heb ik alleen even geen idee hoe dit onthouden gaat worden, met een array kan het mogelijk wel daar krijg ik het volgende als ouput van:



    De cijfers zijn de ID nummers van de Faciliteiten tabel, deze gaan dus nog wel goed op die manier kan ik ze onderscheiden.
    De value wordt ook op die manier opgeslagen, kan mogelijk ook met een 0 & 1 optie gaan werken maar vind dit even overzichtelijker.
    Nu ga ik dit straks opslaan in de tabel van Accomodatie, deze heeft een veldnaam (faciliteiten) waarde ervan is (longtext) want er komt een array waarde in.


    Waarde daarvan is als volgt:

    PHP
    a:8:{
     i:1;s:2:"ja";	
     i:2;s:2:"ja";	
     i:3;s:3:"nee";	
     i:4;s:2:"ja";
    i:5;s:2:"ja";	
     i:6;s:2:"ja";	
     i:7;s:3:"nee";	
     i:8;s:3:"nee";	
     }



    Echter ben ik bang dat als de klant iets wijzigt (verwijderd, toevoegt, oid) dat die hele array naar de knoppe is en dus niet meer kan communiceren.
    Nu heb ik van mezelf een vrij lastige denkwijze dus ik bedenk alles moeilijker dan het hoeft te zijn, vandaar dat ik even jullie hulp en denkwijze inschakel.

  • Indien elke faciliteit een unieke id heeft, die incrementeel is, dan maakt het niet uit dat de klant een faciliteit nadien verwijderd of niet.
    In de accomodatie tabel blijf je immers bijhouden wat de waarde is van elke faciliteit.
    Indien deze faciliteit nadien niet meer kan gevonden worden (verwijderd), laat je deze gewoon weg?


    Indien je een historie wenst, kun je ook gewoon een tabel maken met een log, waarbij elke status van de faciliteiten wordt behouden.
    Wat ook kan is een status koppelen aan een faciliteit, bv: actief/tijdelijk niet beschikbaar/verwijderd
    Door de status van de activiteit te veranderen, kan de klant bijvoorbeeld niet langer de faciliteit aanbieden, maar behoud je wel de gegevens om ze later terug te bekijken.


    Is dit ongeveer wat je wou vragen?
    Zoniet heb ik het niet verstaan. :D

  • Laura
    Dat is inderdaad me oplossing hiervoor, zodra hij ze verwijderd geef ik ze gewoon een status niet zichtbaar.
    Ik vergelijk dan me ID met faciliteiten, daaruit kijk ik of de status 1 (actief) is en dat weergeef ik op dat moment.
    Wanneer de ID dan niet meer actief is kan ik hem eruit houden en zal de array dus niet gesloopt worden.



    Thnx :)

  • Weet niet of het nodig is. Maar ik kom uit op dit model als ik FCO-IM toepas:


    Er ging wat fout in het programma dus heb ik het niet kunnen afmaken.


    Er zou een accomodatie tabel komen.
    Een tabel welke accomodatie ID onthoud en faciliteit ID.
    Een faciliteit tabel met een uniek ID en een waarde.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!