Wie am besten Tabellen, Felder... gestalten?
Gunther
- datenbank
0 Thomas Luethi0 Gunther0 Susanne Jäger0 Thomas Luethi0 Gunther0 Thomas Luethi0 erika
0 Danny
Hallo zusammen,
da ich nicht über so furchtbar viel Erfahrung im Aufbau von Tabellen für eine MySQL DB verfüge, wollte ich mir hier gerne von euch ein paar Tipps geben lassen.
Wie bereits in diesem Posting [pref:t=43905&m=239370] erwähnt, geht es mir um den Aufbau einer kommentierten CSS1/2/3 Referenz unter besonderer Berücksichtigung von standardabweichenden Browserinterpretationen. Unter diesem Gesichtspunkt ist eine permanente Erweiterbarkeit/Ergänzbarkeit von vorrangigem Interesse.
Konkret bedeutet das, dass sowohl die CSS-Eigenschaften, als auch die Browserliste stetig erweiterbar sein sollen, ohne die Struktur der DB ändern zu müssen.
Wie würdet ihr die Tabelle(n) anlegen?
Wie stelle ich am besten die jeweiligen Verknüpfungen zwischen den Tabellen her (ohne unnötig viele SQL-Abfragen zu produzieren)?
Bitte seht über evt. "unpräzise Formulierungen" hinweg, bzw. korrigiert mich nötigenfalls (aber man kann sich ja nicht mit Allem von vornherein perfekt auskennen <bg>).
Für Vorschläge bin ich euch sehr dankbar, denn ich würde ungerne zu einem späteren Zeitpunkt feststellen müssen, dass die von mir gewählte Tabellenstruktur unzureichend ist, und wieder von vorne anfangen.
Gruß Gunther
Hallo Gunther,
Konkret bedeutet das, dass sowohl die CSS-Eigenschaften, als auch die Browserliste stetig erweiterbar sein sollen, ohne die Struktur der DB ändern zu müssen.
Wie würdet ihr die Tabelle(n) anlegen?
Tabelle Browser
BrowserID (primary key)
Browsername (z.B. "MS IE 5.5/Win")
Tabelle CSS-Eigenschaft
EigenschaftID (primary key)
Titel
Beschreibung
...
Tabelle Interpretationen
InterpretationID (primary key)
BrowserID (foreign key)
EigenschaftID (foreign key)
evtl. Code (z.B. "B" fuer "buggy", "0" fuer nicht")
Interpretation (TEXT)
Wenn nun ein neuer Browser oder neue CSS-Eigenschaften auf den Markt kommen, musst Du noch eine Routine haben, damit Du die "Luecken" bequem auffuellen kannst. Es sei denn, Du akzeptierst "Luecken" im Schema und willst nur die Bugs/Besonderheiten dokumentieren.
Wie stelle ich am besten die jeweiligen Verknüpfungen zwischen den Tabellen her (ohne unnötig viele SQL-Abfragen zu produzieren)?
Mit geeigneten JOIN-Befehlen.
http://www.mysql.com/doc/en/JOIN.html
Viel Glueck!
Thomas
Hallo Thomas,
super, vielen Dank! Du hast meine Frage damit voll & ganz beantwortet :-).
Viel Glueck!
Danke!
Gruß Gunther
Hallo Gunther, Hallo Thomas,
Tabelle Browser
...Tabelle CSS-Eigenschaft
...
»»
Tabelle Interpretationen
...
Da fehlt noch was
zum Beispiel:
Tabelle Modus
modusID (primaryKey)
Modus (z.Zt. bekannt: standard, almost standard, quirks)
Interpretationen
...
modusID null
Und auch insgesamt fürchte ich, dass ein trag- und ausbaufähiges Datenmodell hierfür nicht so einfach aus dem Ärmel zu schütteln ist.
Gruß Susanne
Hallo Susanne,
Da fehlt noch was
zum Beispiel:
Tabelle Modus
modusID (primaryKey)
Modus (z.Zt. bekannt: standard, almost standard, quirks)
Oha, wenn man das wirklich als eigene "Dimension" reinbringen
moechte, wuerde es so richtig komplex!
Ich weiss ja nicht, was Gunther genau vorschwebt, und ich weiss
auch nicht, wie viele Browser bei wie vielen CSS-Eigenschaften
effektiv zwischen den verschiedenen Modi unterscheiden.
Vielleicht reicht es ja auch, das bei den
Bemerkungen auszuformulieren.
Und auch insgesamt fürchte ich, dass ein trag- und ausbaufähiges Datenmodell hierfür nicht so einfach aus dem Ärmel zu schütteln ist.
Da hast Du natuerlich recht - ich sah meinen kurzen Vorschlag nur als ersten Ansatz aufgrund der wenigen Infos, die ich hatte, und war selbst erstaunt, dass sich Gunther so schnell zufriedengab.
Angesichts der grossen Zahl von Browsern und CSS-Eigenschaften habe ich sowieso meine Zweifel, inwiefern sich diese Idee wirklich realisieren laesst, aber wenn jemand glaubt, dass er die Zeit dazu hat... ;-)
Freundliche Gruesse,
Thomas
Hallo Susanne, hallo Thomas!
Ich weiss ja nicht, was Gunther genau vorschwebt,
Also mir schwebt eine Site vor, die möglichst viele Aspekte rund um CSS beinhaltet. Dazu gehören auf jeden Fall eine komplette CSS 1/2 Referenz mit Erläuterungen, Kommentaren, und Beispielen. Ferner eine Bug-Liste für die gängigen Browser inklusive Workarounds, genauso wie Beispiele zur Lösung/Vermeidung 'häufig' auftretender Probleme, etc.!
und ich weiss auch nicht, wie viele Browser bei wie vielen CSS-Eigenschaften
effektiv zwischen den verschiedenen Modi unterscheiden.
hierbei wird die Betrachtung (zumindest zu Beginn) auf den CSS1Compat Mode beschränkt
Vielleicht reicht es ja auch, das bei den
Bemerkungen auszuformulieren.
wäre z.B. eine Möglichkeit
Und auch insgesamt fürchte ich, dass ein trag- und ausbaufähiges Datenmodell hierfür nicht so einfach aus dem Ärmel zu schütteln ist.
Da hast Du natuerlich recht - ich sah meinen kurzen Vorschlag nur als ersten Ansatz aufgrund der wenigen Infos, die ich hatte, und war selbst erstaunt, dass sich Gunther so schnell zufriedengab.
es ist ja nicht so, als hätte ich_gar_keine_Ahnung ;-), nur wenn jetzt jemand einen gänzlich anderen Ansatz vorgeschlagen hätte, als das, was Thomas gepostet, bzw. ich mir auch schon selber mal überlegt habe, dann hätte ich das vielleicht nochmal komplett neu überdenken müssen. Da sich aber Thomas's Vorschlag in weiten Teilen mit meinen Vorüberlegungen deckt, gehe ich davon aus, dass es zumindest ein 'ausbaufähiges' Grundkonzept ist.
Angesichts der grossen Zahl von Browsern und CSS-Eigenschaften habe ich sowieso meine Zweifel, inwiefern sich diese Idee wirklich realisieren laesst, aber wenn jemand glaubt, dass er die Zeit dazu hat... ;-)
So umfangreich ist CSS1/2 an sich ja gar nicht. Außerdem will ich ja das Rad nicht neu erfinden, soll heißen, dass viele Informationen ja auch schon gibt, die man sich zu Nutze machen kann. Ich möchte diese nur möglichst alle auf einer Seite vereinen, und um das erweitern, was IMHO auf allen anderen Seiten fehlt.
Übrigens betone ich gerne immer wieder, dass ich das in keinster Weise alleine in meinem stillen Kämmerlein durchziehen will. Jeder ist jederzeit herzlichst eingeladen, daran, in welcher Form auch immer, mitzuarbeiten. Z.B. besitze ich keinen Mac, und kann von daher auch nicht auf einem solchen System selber testen.
Ich halte so ein Projekt angesichts der Browserentwicklungen und der Entwicklung des CSS3-Standards, bei gleichzeitiger Entwicklung weg von Tabellen-Layouts hin zu CSS-Layouts, für durchaus interessant & hilfreich, und zumindest für eine Zeit lang auch für ziemlich aktuell. Ich verstehe ehrlich gesagt nicht so ganz, warum die meisten das anders sehen, bzw. glauben, dass man soetwas nicht realisieren könnte? Hätte man das Herrn Münz damals auch immer gesagt (und er hätte darauf gehört), hätte es SelfHTML nie gegeben (womit ich wiederum keineswegs sagen will, dass es etwas vergleichbares wie SelfHTML werden soll).
Tatsächlich ist es doch eher so, dass fast alle lieber ihr eigenes Süppchen kochen, anstatt gemeinsam an einem Strang zu ziehen, und etwas auf die Beine zu stellen.
Gruß Gunther
Hallo Gunther,
Danke fuer die weiteren Erlaeuterungen.
Angesichts der grossen Zahl von Browsern und CSS-Eigenschaften habe ich sowieso meine Zweifel, inwiefern sich diese Idee wirklich realisieren laesst, aber wenn jemand glaubt, dass er die Zeit dazu hat... ;-)
Tatsächlich ist es doch eher so, dass fast alle lieber ihr eigenes Süppchen kochen, anstatt gemeinsam an einem Strang zu ziehen, und etwas auf die Beine zu stellen.
Sorry, ich wollte Dich nicht entmutigen. Ich finde gut, was Du da vorhast - es waere vielen damit gedient. Ich weiss bloss aus eigener Erfahrung, wie aufwendig es ist, Testseiten zu machen und die Dinge dann zu dokumentieren, und wuerde mir ein Projekt in diesem Umfang nicht zutrauen.
Ich wuensche Dir viel Erfolg damit
... und viel Durchhaltewillen!
mfg
Thomas
Hallo Gunther,
Du hast Dir wahrlich ein großes Projekt vorgenommen. Das sieht ja fast nach 'SELF-CSS' aus ;-)
Gut, Du willst nicht als Einzelkämpfer antreten, Du suchst Mitstreiter, Du willst das Wissen zusammentragen, was bereits vorhanden ist. Letzteres wollte übrigens Kai Laborenz mit seinem Buch 'CSS-Praxis' auch. Wieweit ihm das gelungen ist, wage ich nicht abschließend zu beurteilen, mir jedenfalls hat dieses Buch (und auch die Linksliste) viele Denkanstöße und praktische Hinweise zusätzlich zu SELFHTML 8.0 gegeben. So wie Dein Projekt angedacht ist, würde ich durchaus mal in dieses Buch reinschauen (Du musst es ja nicht gleich kaufen).
Und was hat Stefan Münz bezüglich CSS vor? Von ihm ist im Oktober 2002 im Franzis Verlag eine 'HTML-Referenz' erschienen, diese richtet sich vor allem an Benutzer, die für HTML und CSS eine nach Elementen/Attributen bzw. CSS-Eigenschaften sortierte zuverlässige Referenz benötigen. Dieses Buch habe ich noch nicht gelesen und ich weiß nicht, ob es über SELFHTML 8.0 hinausgeht oder ob es nur eine Kurzfassung ist. Wer CSS lernen und anwenden will, für den sind die Kapitel 15 und 16 des SELFHTML-Handbuchs ein Muss. Dort bleiben aber noch viele Fragen der praktischen Anwendung offen. Es fehlen vor allem Beispiele, wie man eine Webseite ausschließlich mit CSS gestalten kann. In SELFHTML 8.0 favorisiert Stefan Münz (noch) das Tabellen-Layout (und das aus verständlichem Grunde). Zum CSS-Layout gibt es im Forum viele Diskussionen, sehr interessant war der Thread, den Stefan Münz selbst am 19.6.2002 'eingefädelt' hatte:
http://forum.de.selfhtml.org/archiv/2002/6/14830/#m82517
Ich möchte Dir auf keinen Fall Dein Projekt ausreden, zur praktischen Anwendung von CSS unter Berücksichtigung der diversen Browser kann gar nicht genug experimentiert und geschrieben werden, aber ich würde an Deiner Stelle doch zunächst recherchieren: Was gibt es schon und was ist eventuell in Vorbereitung? Und wo ist die Lücke?
Ich könnte mir zum Beispiel vorstellen, dass eine Art "Elchtest" nützlich sein könnte: Wie kommen (ausgewählte) Browser mit bestimmten CSS-Eigenschaften zu Rande? So a la Box Acid Test - siehe dazu
http://style.cleverchimp.com/boxacidtest/
= display/box/float/clear test
Einfache Referenzkarten der CSS-Browserunterstützung gibt es bereits für die wichtigsten (allerdings nicht für alle) Browser, wobei solche Referenzkarten natürlich schnell veralten und immer wieder aktualisiert werden müssen. Siehe dazu
http://css.veloxsite.de/ und
http://www.xs4all.nl/~ppk/css2tests/
Diverse Seiten zu Browser-Bugs und Workarounds hinsichtlich CSS gibt es auch zur Genüge im Web. Auch hier wird es immer wieder neue Heausforderungen geben.
Soweit einige Gedanken meinerseits zu Deinem Projekt.
Ich bin gespannt, wie Du vorankommst und wünsche Dir viel Freude und Erfolg.
Viele Grüsse. erika
Hallo,
wenn ich permanente Erweiterbarkeit/Ergänzbarkeit plane, dann würde ich XML statt einer DB nehmen. Diese Daten, die Du vorhast Du erfassen, sind recht komplex und meiner Meinung nach auch nicht so viele, um von den Vorzügen einer DB profitieren zu können...
Gruß und schöne Feiertage,
Danny