| User pages Hier könnt ihr anderen Usern eure Seite vorstellen und Bewertungen, Anregungen und Kritik sammeln. Reine Werbepostings sind auch in diesem Forum verboten! |
 |
|

11-11-2008, 14:47
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Und was gewinnst du dadurch?
Ich kenne mich mit Patientensystemen auch nicht aus. Ist vielleicht kein gutes Beispiel.
Hier mal ein paar Limits für die Spaltenzahl gängiger DBS: MySQL 2599, PostgreSQL 1600, Oracle 1000, DB2 750. Das ist kein Schwanzvergleich, sondern wird wirklich auch benutzt. Ich habe schon OLAPS mit weit über 100 Spalten gesehen (nicht gezählt, nur drüber gescrollt).
|

11-11-2008, 15:18
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Normalisierung sollte nur sinnvoll angewandt werden und nicht bei jedem Sch**ß und auch nicht unbedingt bis zur 5. Form runter brechen. Die Anzahl der Spalten einer Tabelle sagt auch nicht aus, ob die Datenbank sauber entworfen ist.
|

11-11-2008, 15:19
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.212
|
|
Zitat:
Original geschrieben von onemorenerd
Und was gewinnst du dadurch?
|
Performance und Flexibilität. Datenbanken können mit großen Zeilenmengen besser umgehen als mit vielen Spalten.
Und die Werte lassen sich leichter erweitern, bzw. benutzerdefiniert gestalten, ohne dass man irgendwas an der Tabellenstruktur herumschrauben muss.
Zitat:
Original geschrieben von onemorenerd
Ich kenne mich mit Patientensystemen auch nicht aus. Ist vielleicht kein gutes Beispiel.
Hier mal ein paar Limits für die Spaltenzahl gängiger DBS: MySQL 2599, PostgreSQL 1600, Oracle 1000, DB2 750. Das ist kein Schwanzvergleich, sondern wird wirklich auch benutzt. Ich habe schon OLAPS mit weit über 100 Spalten gesehen (nicht gezählt, nur drüber gescrollt).
|
Mein Auto fährt maximal 190 km/h, das heißt aber noch lange nicht, dass ich deshalb mit 190 km/h fahren soll. Dagegen sprechen Wirtschaftlichkeit und Sicherheit.
Geändert von h3ll (11-11-2008 um 15:22 Uhr)
|

11-11-2008, 15:22
|
Benny-one
Master 
|
|
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
|
|
Zitat:
Original geschrieben von h3ll
Performance und Flexibilität. Datenbanken können mit großen Zeilenmengen viel besser umgehen als mit vielen Spalten.
|
http://www.intelligententerprise.com...leID=206800851
|

11-11-2008, 15:28
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.212
|
|
Langfristige Archivierung ist halt ein Sonderfall. Aber gewöhnlich will man mit seinen Daten auch arbeiten und sie verändern.
|

11-11-2008, 15:46
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Zitat:
Original geschrieben von h3ll
Performance und Flexibilität. Datenbanken können mit großen Zeilenmengen besser umgehen als mit vielen Spalten.
|
Das kannst du so pauschal nicht sagen. Deine Struktur da oben kackt ab, wenn ich zu einem Patienten alle Daten haben will. Du brauchst einen JOIN über 3 Tabellen (mindestens eine davon ist riesig!) und mußt über ein Resultset von 90 Datensätzen iterieren. Ohne deine sogenannte Normalisierung wäre es ein Datensatz, ein Griff, und bestenfalls ein Cache-Hit.
Zitat:
|
Und die Werte lassen sich leichter erweitern, bzw. benutzerdefiniert gestalten, ohne dass man irgendwas an der Tabellenstruktur herumschrauben muss.
|
Normalisierung soll Redundanz und Inkonsistenz verhindern. Es soll nicht für Flexibilität sorgen. Das ist Sache der Anwendung.
Davon abgesehen ist es doch kein Problem, an 90 Spalten eine 91. anzuhängen.
Zitat:
|
Mein Auto fährt maximal 190 km/h, das heißt aber noch lange nicht, dass ich deshalb mit 190 km/h fahren soll. Dagegen sprechen Wirtschaftlichkeit und Sicherheit.
|
Das ist kein Vergleich, denn Wirtschaftlichkeit und Sicherheit haben mit Normalisierung nichts zu tun.
|

11-11-2008, 15:59
|
|
lennart
PHP Junior
|
|
Registriert seit: May 2007
Ort: Hamburg
Beiträge: 565
|
|
Ich halte es in dem Beispielfall mit den Patientendaten auch für sinnvoller mit einer "großen" Tabelle mit vielen Spalten zu arbeiten. Das ist genau so ein Fall wie mit OOP. Flexibilität ist zwar toll, aber einige Sachen auf viel zu viele Tabellen/Klassen zu abstrahieren ist oft zu viel des Guten und wird nur gemacht weil man denkt es sei dann automatisch besser.
|

11-11-2008, 16:06
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
@nerd, doch schon mit Wirtschaftlichkeit ... denn wenn du mit Normalisierung übertreibst, explodieren deine Abfrage-String und auch die entsprechenden Matrixenoperationen, somit leidet die Anwendung an Performanceverlust ... dein Programm arbeitet somit unwirtschaftlich
|

11-11-2008, 16:21
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.212
|
|
Zitat:
Original geschrieben von asp2php
@nerd, doch schon mit Wirtschaftlichkeit ... denn wenn du mit Normalisierung übertreibst, explodieren deine Abfrage-String und auch die entsprechenden Matrixenoperationen, somit leidet die Anwendung an Performanceverlust ... dein Programm arbeitet somit unwirtschaftlich
|
Wenn du bei jeder kleinen Änderungen einen Programmierer brauchst, der Code und Datenbankstruktur anpassen muss, ist das auch nicht wirklich wirtschaftlich.
|

11-11-2008, 16:34
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Zitat:
Original geschrieben von h3ll
Wenn du bei jeder kleinen Änderungen einen Programmierer brauchst, der Code und Datenbankstruktur anpassen muss, ist das auch nicht wirklich wirtschaftlich.
|
Als ob man ein Programm täglich ändert  ... die Abfragen aber werden aber schon täglich abgesetzt  ... kleine Rechnung:
1000 MA à 50 EUR/Std. ... sagen wir mal max. 1 Stunde/Monat für das Warten auf die Abfragergebnisse => 50000 EUR ... und das gegen eine Änderung mit einem Tagessatz/Mann(Frau) von ca. 2000 EUR ... nun, was ist teurer?
Geändert von asp2php (11-11-2008 um 17:01 Uhr)
|

11-11-2008, 16:38
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.212
|
|
Zitat:
Original geschrieben von asp2php
Als ob man ein Programm täglich ändert
|
Du kennst anscheinend unsere Kunden nicht
|

11-11-2008, 17:41
|
|
E.T.
Registrierter Benutzer
|
|
Registriert seit: Nov 2003
Beiträge: 240
|
|
Zitat:
Original geschrieben von TroX
Ähm... Datenbanknormalisierung?
|
Was hat die Anzahl der atomaren Attribute mit der Normalisierung zu tun?
|

11-11-2008, 17:44
|
|
E.T.
Registrierter Benutzer
|
|
Registriert seit: Nov 2003
Beiträge: 240
|
|
Zitat:
Original geschrieben von h3ll
Performance und Flexibilität. Datenbanken können mit großen Zeilenmengen besser umgehen als mit vielen Spalten.
Und die Werte lassen sich leichter erweitern, bzw. benutzerdefiniert gestalten, ohne dass man irgendwas an der Tabellenstruktur herumschrauben muss.
Mein Auto fährt maximal 190 km/h, das heißt aber noch lange nicht, dass ich deshalb mit 190 km/h fahren soll. Dagegen sprechen Wirtschaftlichkeit und Sicherheit.
|
Also das höre ich zum ersten Mal.... warum ist den ein unnötiger Join schneller ein ein einfaches Select über viele Spalten?
|

11-11-2008, 22:37
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Zitat:
Original geschrieben von asp2php
1000 MA à 50 EUR/Std. ... sagen wir mal max. 1 Stunde/Monat für das Warten auf die Abfragergebnisse => 50000 EUR
|
Dieser Rechnung liegt die Annahme zugrunde, dass der Join von patient und patient_wert schneller läuft als ein einfaches Select. Hinzu kommt, dass bei der Join-Variante ein Resultset mit 90 Datensätzen entsteht, dass man in einer Schleife abholen und in ein Array flachklopfen muß.
Gewagte Annahme.
|

12-11-2008, 00:35
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Ich habs so verstanden, das asp2php schon für mehrere Spalten ist, also genau das gleiche Argument wie deins.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|