Flags für Felder
Viennamde
- datenbank
Hallo!
Ich mache ein kleines Redaktionssystem. Im Browser kann der Anwender Tabellen für die Datenbank (MySQL) selbst definieren, nach dem Abschicken des entsprechenden Formulars gibts ein entsprechendes CREATE DATABASE (per PHP). So weit so gut.
Der Anwender soll die Möglichkeit haben auch Felder zu erstellen die Pfade (zu Dateien am Server) aufnehmen.
Ein anderes Formular ermöglicht nun die Daten einzutragen & zu editieren. Und hier ist bei den genannten "Pfad"-Feldern ein Button "Dateien listen" notwendig.
Mein Problem: Wie und wo hinterlege ich die Information, daß es sich um ein Feld handelt, daß einen Pfad aufnimmt (und kann somit in der Datenmaske den Button "Dateien listen" aufgrund dieses Flags anzeigen)? Wie macht das ein Profi (der ich nicht bin)?
Danke
Viennamade
Hi,
Mein Problem: Wie und wo hinterlege ich die Information, daß es sich um ein Feld handelt, daß einen Pfad aufnimmt (und kann somit in der Datenmaske den Button "Dateien listen" aufgrund dieses Flags anzeigen)? Wie macht das ein Profi (der ich nicht bin)?
in der Dokumentation.
Gruss,
Lude
---
"Ohne Taschengeld, der Hund nicht bellt."
Hallo,
Mein Problem: Wie und wo hinterlege ich die Information, daß es sich um ein Feld handelt, daß einen Pfad aufnimmt (und kann somit in der Datenmaske den Button "Dateien listen" aufgrund dieses Flags anzeigen)? Wie macht das ein Profi (der ich nicht bin)?
in der Dokumentation.
Verstehe ich nicht. Entweder Du hast mein Posting nicht genau genug gelesen oder ich verstehe Deine Antwort nicht. Im Manual kann ich nur die Funktionalität des Buttens dokumentieren, dafür muß es den Button erst mal geben :-)
Ich könnte mir eine Vereinbarung vorstellen: Namen von "Pfad"-Feldern müssen beispielsweise mit "fil" beginnen, dann gibts den Button. Ich hoffe, es gibt etwas eleganteres?
Beste Grüße
Viennamade
Hi,
in der Dokumentation.
Verstehe ich nicht. Entweder Du hast mein Posting nicht genau genug gelesen oder ich verstehe Deine Antwort nicht.
ich verkuerze gerne, sicherlich ein Fehler meinerseits.
Im Manual kann ich nur die Funktionalität des Buttens dokumentieren, dafür muß es den Button erst mal geben :-)
Ich könnte mir eine Vereinbarung vorstellen: Namen von "Pfad"-Feldern müssen beispielsweise mit "fil" beginnen, dann gibts den Button. Ich hoffe, es gibt etwas eleganteres?
wenn ein Datenfeld unter Umstaenden zwei verschiedene Bedeutungen hat, dann stimmt etwas nicht mit dem Datenbank-Design. Also durchaus in Betracht ziehen statt einem Datenfeld
a) zwei Datenfelder
b) "n" Datenfelder
c) eine weitere Tabelle
zuzubauen und das entsprechend zu dokumentieren.
Exkurs: nichts ist schlimmer als ein System, dass Spezialwissen erfordert, weil es
a) unzureichend dokumentiert
b) schlecht skalierbar
c) wartungsunfreundlich
d) schlecht weiterentwickelbar
ist. (Anmerkung: "spielschwache" Entwickler der genannten Art sind im Berufsleben idR an Aussagen wie "Ich habe keine Zeit" erkennbar; also diese Aussage moeglichst meiden. ;-)
Gruss,
Lude
---
"Waehlt FDP!"
Hallo!
in der Dokumentation.
Ja das ist sehr kurz:-)
ich verkuerze gerne, sicherlich ein Fehler meinerseits.
wenn ein Datenfeld unter Umstaenden zwei verschiedene Bedeutungen hat, dann stimmt etwas nicht mit dem Datenbank-Design. Also durchaus in Betracht ziehen statt einem Datenfeld
a) zwei Datenfelder
b) "n" Datenfelder
c) eine weitere Tabelle
für c) hab ich mich entschieden!
Besten Dank!
Viennamade
"Waehlt FDP!"
Na, ich hoffe die sind nicht so wie die österr. Schwesternpartei und schlage vor es bei diesem Posting zu belassen:-)
Hi,
"Waehlt FDP!"
Na, ich hoffe die sind nicht so wie die österr. Schwesternpartei und schlage vor es bei diesem Posting zu belassen:-)
die sind liberal, jung, dynamisch und stehen fuer Werte, die Amerika gross gemacht hat.
Gruss,
Lude
---
"Waehlt 'Bio'!"
yo,
die sind liberal, jung, dynamisch und stehen fuer Werte, die Amerika gross gemacht hat.
nicht alles was einen grossen schatten über andere wirft, muss auch wirklich größe haben.
Ilja
Hello Viennamade,
bleib ruhig, die verstehen Dich nicht. Wahrscheinlich haben sie sich noch mie so tief mit der Materie beschäftigt.
MySQL bietet leidern keine User-Defined Header-Area im Dateikopf und auch kein freies Description-Feld in der Satzbeschreibung.
Also musst Du diese Informationen leider getrennt von Deinen tabellen in einer zusätzlichen Tabelle ablegen. Dort kannst Du dann natürlich für jedes Feld noch zusätzliche Infomationen hinterlegen: Farbe, Schriftart, Normalposition auf dem Bildschirm, bei Textfeldern die Anzahl der Spalten und Zeilen, Relationen zu anderen Tabellen (obwohl es das theoretisch schon irgendwo gibt), Validierungsfunktionen (die Vorstufe von Stored Procedures) usw.
Leider muss Deine erweiterte API (steckt in der Applikation) dann diese ganzen Dinge beachten. Oder Du erweiterst PHP mit eigenen API-Funktionen für die Datenbank. Dann drafst Du aber trotzdem nicht mit PERL auf dieselbe DB zugreifen, auf die Du anderswo mit PHP zugreifst. Die beiden wissen ja nix voneinander.
Eine andere Möglichkeit ist es, den Feldern typische Prefixe zu verpassen (schreibt sich das jetzt mit e oder mit ä?). Link-Felder heißen immer H_* und Mail-Adressfel.der immer M_ und IDs immer ID_*
Erfordert natürlich etwas Disziplin bei der Programmierung, ist aber vieleicht die einfachste Lösung.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
bleib ruhig, die verstehen Dich nicht. Wahrscheinlich haben sie sich noch mie so tief mit der Materie beschäftigt.
ich vermute, dass Du mit 'die' 'Lude' meinst. Inwiefern war mein Beratungsvortrag eigentlich unzureichend?
Boese Gruesse,
Lude
---
";-)"
Hello,
ich vermute, dass Du mit 'die' 'Lude' meinst. Inwiefern war mein Beratungsvortrag eigentlich unzureichend?
Nichts ist unmöglich...
Wenn Viennamade es "zu Fuß" auswerten wollte, hätte er nicht gefragt. Dass er lesen und schreiben kann, nehme ich ihm ungeprüft ab.
Dass er den Feldern in der Datendefinition, am besten über die reguläre DDL, besondere Attribute geben wollte, die er später beim Aufbau eines Formulares für die Manipulation /Anzeige wieder nutzen kann, das konnte man sich mNn an zwei Fingern abzählen.
In soweit war Deine Antwort sicher nur als Scherz anzusehen ;-)
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
In soweit war Deine Antwort sicher nur als Scherz anzusehen ;-)
Die Fragestellung war:
'Mein Problem: Wie und wo hinterlege ich die Information, daß es sich um ein Feld handelt, daß einen Pfad aufnimmt (und kann somit in der Datenmaske den Button "Dateien listen" aufgrund dieses Flags anzeigen)? Wie macht das ein Profi (der ich nicht bin)?'
meine Analyse war, dass es zwei Informationseinheiten gibt: 1.) Handelt es sich um eine Pfadangabe? 2.) Wie lautet ggf. der Pfad?
Zwei Informationseinheiten sollten in zwei Datenfeldern gespeichert werden.
Dein Vorschlag, Informationseinheit 1 per Praefix des Datenfeldwerts zu codieren (ich hoffe, dass ich Dich verstanden habe), scheint mir weniger zweckmaessig zu sein.
Gruss,
Lude
Hello,
Dein Vorschlag, Informationseinheit 1 per Praefix des Datenfeldwerts zu codieren (ich hoffe, dass ich Dich verstanden habe), scheint mir weniger zweckmaessig zu sein.
[danke für die implizite Antwort]
Ich meinte einen Präfix des DatenfeldNAMENS, nicht des Wertes. Wert sind heilig, Namen nur Schall und Rauch ;-)
Selbstverständlich kann man auch ein Typklasse-Feld hinzufügen, das dann ausgewertet werden muss.
Wenn man polymorphe Applikationen erstellen will, muss man sich einen allgemeingültigen Algorithmus überlegen, nach dem man feststellt, um welchen Feldtyp es sich handelt. Man könnte also auch ein (fast) gleichnamiges Feld mit Prä- oder Postfix hinzufügen, in dem weitere Meta-Informationen stehen. Das wäre dann aber redundant, da es in jedem Datensatz vorhanden sein müsste.
Habe doch tatsächlich eben ernsthaft gestutzt, wieso ich bisher nicht auf diese geniale[tm] Idee gekommen war und was eigentlich der Unterschies zwischen Präfix am Feldnamen und zusätzlichen Feld ist. Au weia, hier muss man aber verdammt aufpassen und das um diese Zeit am Samstagmorgen.
Ich koch mir jetzt erst mal einen Kaffee.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi,
Habe doch tatsächlich eben ernsthaft gestutzt, wieso ich bisher nicht auf diese geniale[tm] Idee gekommen war und was eigentlich der Unterschies zwischen Präfix am Feldnamen und zusätzlichen Feld ist. Au weia, hier muss man aber verdammt aufpassen und das um diese Zeit am Samstagmorgen.
wir muessen alle extrem aufpassen.
Gruss,
Lude
---
"Band-Empfehlung des Monats: 'JET'"