Hoi,
Ik ben bezig met mijn eigen CMS maken met SQLite als database.
Het is voor mezelf, dus ik wil dat het flexibel, snel en veilig is.
Wat ik wil doen is dat ik de users en pages alleen de hoog nodige info meegeef, en dat ik dan nog een appare tabel heb voor extra velden.
Voor pages zou dat dus zijn een id, en een titel, de rest word er door een soort one to many of many to many relatie aan gehangen.
Bijvoorbeeld een veld(content bijvoorbeeld) kan bij meerdere pages horen, en pages kunnen meerdere velden hebben.
Waar zou ik de content van content dan moeten zetten?
Ik wil het wel een beetje standaard houden, zodat elke soort page die een content heeft het zelfde content veld gebruikt, alleen met een andere content.
Hoe pak ik zo iets aan?
Zelfde geld natuurlijk voor users, die hebben alleen een id, name en password, en daar hang je dan dingen zoals email en rechten aan.
Het voordeel van zo'n page systeem is dat je ze voor van alles kan gebruiken(muziek: artiest en rating er aan hangen bijvoorbeeld), beetje zoals expression engine, maar dan niet helemaal.
wat ik me zo'n beetje voorstel is dit:
pages:
page_id INTEGER PRIMARY KEY
page_type INTEGER
title TEXT
page_meta:
id INTEGER PRIMARY KEY
page_id INTEGER
page_type INTEGER
name TEXT
value BLOB/TEXT
page_type:
page_type INTEGER PRIMARY KEY
page_type_name TEXT
user:
user_id INTEGER PRIMARY KEY
name TEXT
password TEXT
user_meta:
id INTEGER PRIMARY KEY
user_id INTEGER
key TEXT
value BLOB/TEXT
settings:
id INTEGER PRIMARY KEY
key TEXT
value BLOB/TEXT
Dan kan je met JOIN wel iets aan elkaar bakken toch?
Wat me alleen niet zint is dat nu elke page zijn eigen veld heeft, ik zou een soort van templates willen hebben, dat je niet voor elke pagina zijn velden hoeft in te stellen, en dat je ook bijvoorbeeld alle pages van een zelfde type kan ophalen, en dan er zeker van zijn dat ze alle velden hebben die jij verwacht dat ze hebben.
Ik heb eigenlijk nie zo heel veel verstand van SQL hoor, dus als ik in een heel verkeerde richting zit te denken...
Groenten
Pepijn
1.735 views