Daten eruieren und strukturieren?

Jan-Frederik Stieler

Monsterator
Moderator
Hallo,
ich habe angefangen mich in meiner Freizeit mit MySql auseinanderzusetzen.
Nun habe ich mal die Frage wie Ihr daran geht bei einem Projekt zu eruieren welche Daten entstehen und wie man diese am besten innerhalb einer DB strukturiert und sinnvoll wieder abfragbar macht?
Habt Ihr eventuell zu diesem Subthema eine Buch oder Webseitenempfehlung um was zum lesen zu haben :).

Viele Grüße
 
Hallo,
danke der Fachbegriff „Normalisierung“ war mir nicht geläufig.
Aber falls jemand noch ein gutes Buch zu dem Thema kennt gerne her damit.
Grundsätzlich war aber auch meine Frage wir Ihr da rangeht, also mal abgesehen davon wie es eventuell in Büchern steht?
Wie konzeptioniert ihr die Datenstruktur?

Kennt zufällig jemand dieses Buch: http://link.springer.com/chapter/10.1007/978-3-322-92690-6_2

Grüße
 
Zuletzt bearbeitet:
Wenn es auch etwas Englisches sein darf,
und sollen gut sein.

Vorgehensmäßig...
zuerst alles einfach mal zusammensammeln/aufschreiben, was man weiß (und ggf.
die fehlenden Sachen herausfinden), bevor man die technische Seite beginnt.
Was will man speichern,
welche Art von Daten ist Ding xy (Text, Kommazahl...), gibt es Beschränkungen für die erlaubten Werte,
was gehört zusammen und warum,
wieviel X gibt es pro Y (genau 1 x für jedes y, unbedingt/optional, min. 1 pro 2Y, genau 3...? Ca. 10 oder ca. 10000? ...),
....(für alles außer 1:1 machen "Zwischentabellen", die nur IDs von X mit IDs von Y verbinden, oft Sinn)
Wie groß kann ein einzelner Wert werden (Name mit 50 Buchstaben, Buch mit 1Mio.?),
welche Sachen werden vermutlich wie oft abgefragt (später im fertigen Programm etc.),
....und wie (Suche nach exakten einzelnen Werten, Suche nach Wertebereichen von-bis, Textteil-Suche...)
usw.usw.
Ein kleines (oder größeres) Diagramm irgendwo schnell dazu-"schmieren"
(solangs nicht zum Herzeigen gedacht ist) kann auch helfen.
Bis man das hat gar nicht an Tabellen usw. denken, das kommt
dann nämlich fast von selbst, wenn man alles vor sich hat

Das Ganze überprüfen, ob man irgendwo die selben Werte mehrfach geplant hat, ob bestimmte Werte einfach aus anderen berechnet werden können und deshalb auch nicht gespeichert werden müssen, ob irgendwo zwei Wertegruppen/Tabellen ähnliche Sachen speichern und eigentlich als eine Tabelle gemacht werden könnten, solangs irgendwie Sinn macht...

Dann die schon erwähnten Normalformenvorschriften verwenden, die vermutlich dazu führen, dass verschiedene Sachen noch in mehrere aufgeteilt werden. Die erste NF auf jeden Fall 100% umsetzen, das bereut man sonst später. NF2 und NF3 ... die NFs machen auf den ersten Blick alles komplizierter, auch die Abfragen, aber vermutlich freut man sich später irgendwann darüber.
Mit höheren Stufen zB. ab 4 wirds (je nach Fall evt.) mehr Aufwand als man dadurch Vorteile hat, also nicht so wichtig.

Indexe planen anhand der oben gesammelten Häufigkeitsanngaben (Wieviel Werte, wieviel Abfragen wo/wie/warum), (http://use-the-index-luke.com für einen tieferen deutschen Einstieg), weil man manche Abfragen gern in Sekunden statt Tagen fertig haben will. Und wenn Geschwindigkeit für bestimmte Sachen noch wichtiger ist evt. Cachetabellen dazutun (in denen vom Programm heraus zB. die Einträge der letzten 7 Tage oder so irgendwas gespeichert werden, weil die am häufigsten gebraucht werden und die kleinere Tabelle schneller durchsuchbar ist)

...und dann langsam anfangen CreateTable´s zu schreiben ( :D )
 
Zuletzt bearbeitet:
HI,
danke für die ausführliche Erklärung. Bei den Büchern werd ich mal schauen. Grundsätzlich ist englisch kein problem aber ich lese es
nicht so gerne, grad bei so Dingen die ich kapieren muss. Aber viele Bücher im IT-Bereich bekommt man ja nur auf englisch.
 
Ah, lag also doch nicht an mir. Zuerst hab ich zwei normale Links auf Amazon.com gepostet, die hats automatisch in so Amazon-Vorschauen umgewandelt, die ich direkt nach dem Schreiben auch nicht gesehen hab :p Nach F5 hats gepasst, also hab ich mir nichts dabei gedacht...hm...

edit: Merke grad, dass ich sie zurzeit wieder nicht sehe :eek:
kA ob das an Amazon oder dem Forum liegt, oder Stimmungsschwankungen von ABP...
Jedenfalls, Artikel 1558608206 und 0321210255
 
Oh, ja, das liegt in der Tat an ABP, wenn ich diesen pausiere sehe ich es auch, ansonsten sieht es so aus:
(edit: der nachfolgende Text ist ein Bild)
r8xAFLW.png
 

Neue Beiträge

Zurück