ich selbst bin System- und DB-Admin und kenne mich leider nicht mit Java aus. Wir sind ASP und unsere Software läuft nur auf Servern (also keine Applets usw.)
Mir erzählen meine Entwickler immer, dass es einfacher ist, Daten aus einer Tabelle zu lesen, die wie folgt aufgebaut ist.
z.B.: Adressenstamm
Spalte 1: Kundennummer (PRIMARY UNIQUE KEY)
Spalte 2: Datenfeld, im dem ein XML reingeschrieben wird, welches dann Straße, PLZ, Ort usw. enthält.
Sowas macht aber jegliche SQL-Auswertung unmöglich und mann kann auch nicht nach z.B. PLZ sortieren. Das muss immer alles über Programmcode gemacht werden.
Meine Entwickler sagen, dass es ein riesen Aufwand ist, wenn alle Felder als eigene Spalten angelegt sind (sie reden immer irgendwas von Mappings, die angepasst werden müssen). Man ist mit XML viel flexibler. Ich kann das nicht nachvollziehen, denn auch mit DB kann man doch mittels ALTER TABLE usw. nahezu alles modifizerien.
ich selbst bin System- und DB-Admin und kenne mich leider
nicht mit Java aus. Wir sind ASP und unsere Software läuft nur
auf Servern (also keine Applets usw.)
(Was hat die Frage mit java zu tun ?)
Sowas macht aber jegliche SQL-Auswertung unmöglich
stimmt.
und mann
kann auch nicht nach z.B. PLZ sortieren. Das muss immer alles
über Programmcode gemacht werden.
stimmt.
Meine Entwickler sagen, dass es ein riesen Aufwand ist, wenn
alle Felder als eigene Spalten angelegt sind (sie reden immer
irgendwas von Mappings, die angepasst werden müssen). Man ist
mit XML viel flexibler.
… Bahnhoooffff …
Ich kann das nicht nachvollziehen,
denn auch mit DB kann man doch mittels ALTER TABLE usw. nahezu
alles modifizerien.
Eben. Aber eure Entwickler haben beim SQL-lernen wohl nach SELECT aufgehört… Seit wann arbeiten die denn mit SQL ?
Bitte um euere Meinung.
XML so in einer SQL-DB speichern ist und bleibt _Blödsinn_.
Einen einzigen Vorteil seh ich: Der DB-Rechner muss nicht soviel auswerten. Wenn der nur einen „String“ (die XML-Daten) senden muss ohne sortieren, ohne filtern,… geht das sehr viel einfacher als mit mehreren Tabellen/Spalten zu arbeiten. Aber der Vorteil hat einen riesen Pferdefuss: Der Client-PC muss dann den ganzen XML-Schmoder erstmal parsen und auswerten, die wichtigen Daten raussuchen, sortieren… etc. Das (+ die höhere Netzwerkbelastung, XML ist ja sowas von gross) dauert wahrscheinlich VIEL LÄNGER als die Auswertung durch die SQL-Machine. (OK, wenn ihr ein paar hundert Client-PC’s mit viel Power habt und die SQL-DB etwas schwach auf der Brust ist… aber dann bricht euch das Netzwerk zuerst zusammen.)
Kanns du konkreten Code posten der klarmacht was die vorhaben ?
Bei deiner Frage gehte es um die ewige Streiterei zwischen der relationalen (also RDB) und der OO Welt.
Grundsätzlich kann man dazu sagen, dass deine Entwickler wohl Objekte als XML abspeichern und diese nicht auf RDB „mappen“ wollen. Mapping heisst deklarieren wie man Objekte/Klassen auf Tabellen abbildet. Es gibt Frameworks (z.B. TopLink, JDO) welche sich darum kümmern.
Die grundsätzliche Frag ist aber ob die Daten nur aus Java-Programmen oder auch via SQL gelsen werden sollen.
Im ersten Fall ist das Vorgehen deiner Entwickler wahrscheinlich richtig bzw. es stellt sich die Frage warum dann nicht mit OODBs gearbeitet wird. Diese sind mittlerweilen genau so gut wie RDBs.
Im zweiten Fall ist die Idee deiner Entwicker völlig falsch.