Ben bezig met een "intelligent" database systeem met PHP en mySQL.
intelligent wil zeggen dat de applicatie weet wat elk veld is (ie een "email", "url" , etc), dat ie kan cascaden (up, del), en natuurlijke alle foreign keys, link tables voor me maakt en onderhoud. Op zich geen probleem want heb ik al gedaan in java/ojb.
Het is echter een simpelere vraag:
Om het allemaal wat sneller te houden definieer ik voor elk veld al ineens wat basis info zodat het systeem niet constant hoeft te weten wat elk ding nou is.
eg: table campaigns heeft
cnID
ctName
cdTime als veldnamen.
waarvan "c" voor campaign staat (zodat mijn joins niet steeds AS nodig hebben) en de volgende character het basis type definieert: n == number, t == text, d== Date.
die worden dan weer gebruikt voor insert/update handing bij het creeren van de SQL (met '' of zonder je kent dat wel).
maar nu begint het wat groot te worden (meer dan 26 tables
en wou ik dus overstappen naar:
n_campaigns_id
t_campaigns_name
etc. ook niets mis mee behalve dat er blijkbaar een maxiumum van 32 chars kunnen zijn met mySQL. ook telkens een "explode" doen lijkt me weer wat overkill.
allemaal eigenlijk omdat
SELECT * FROM campaigns niet campaigns.id, campaigns.name teruggeeft als columnnames. (weet niet of dat standaard is of niet in SQL btw).
dus dit is een open vraag: hoe noemen jullie je veldnamen, en jullie concepten erachter?.
intelligent wil zeggen dat de applicatie weet wat elk veld is (ie een "email", "url" , etc), dat ie kan cascaden (up, del), en natuurlijke alle foreign keys, link tables voor me maakt en onderhoud. Op zich geen probleem want heb ik al gedaan in java/ojb.
Het is echter een simpelere vraag:
Om het allemaal wat sneller te houden definieer ik voor elk veld al ineens wat basis info zodat het systeem niet constant hoeft te weten wat elk ding nou is.
eg: table campaigns heeft
cnID
ctName
cdTime als veldnamen.
waarvan "c" voor campaign staat (zodat mijn joins niet steeds AS nodig hebben) en de volgende character het basis type definieert: n == number, t == text, d== Date.
die worden dan weer gebruikt voor insert/update handing bij het creeren van de SQL (met '' of zonder je kent dat wel).
maar nu begint het wat groot te worden (meer dan 26 tables
n_campaigns_id
t_campaigns_name
etc. ook niets mis mee behalve dat er blijkbaar een maxiumum van 32 chars kunnen zijn met mySQL. ook telkens een "explode" doen lijkt me weer wat overkill.
allemaal eigenlijk omdat
SELECT * FROM campaigns niet campaigns.id, campaigns.name teruggeeft als columnnames. (weet niet of dat standaard is of niet in SQL btw).
dus dit is een open vraag: hoe noemen jullie je veldnamen, en jullie concepten erachter?.