atomicid 10 Geschrieben 1. Juli 2005 Melden Teilen Geschrieben 1. Juli 2005 hallo, ich habe ein problem beim verstehen einer grundlegenden sache: Mir sind einige Softwarepakete bekannt welche von großen und renomierten firmen entwickelt werden, sich aber nicht an die grundlagen von Datenbankdesign und ähnliches halten. als beispiel nehme ich die wirtschaftssoftware navision von Microsoft. Das System ist mssql server basierend und dient zu solchem kosten leistungsrechnungs gelumpe. nach der installation finden sich in der datenbank ca. 1000 tabellen. Es gibt keine einzige beziehung. Ein datenbankdiagramm von 1000 tabellen ohne eine einzigste beziehung. weiterhin findet man tabellen mit verbundprimärschlüsseln über 5-8 spalten. keine gesetzten indexe oder regeln. Bis auf die Primärschlüssel lässt nichts auf eine ausgereifte 3. normalform schließen. Keine trigger und die applikation arbeitet anscheinend ausschließlich mit dynamisch generierten sql strings. Das heist es gibt keine einzige prozedur. dabei verstehe ich folgendes nicht: warum ist in den microsoft lehrbüchern immer von 3. Normalform datenbankzugriff über prozeduren verwenden von triggern und das setzen von sinnvollen indexen die rede? Es ist ja nicht die rede davon, es klingt ja vielmehr immer so, das man das so und auf keinen fall anders machen soll. hat jemand eine idee, warum man eine applikation schreibt und diese direkt auf einem nicht normalisierten tabellenhaufen arbeiten lässt? Fasst sämtliche vorteile der datenbank werden ungenutzt gelassen. Was ist der grund dafür, das gerade solche großen und erfahrenen firmen so etwas produzieren. ich kann mir nicht vorstellen, das so ein ms entwickler noch nichts von vormalisierung, prozeduren und indexen gehört hat. Es muss einen anderen grund geben, welcher in den lehrbüchern aber nicht zu finden ist. Zitieren Link zu diesem Kommentar
try_to_find 10 Geschrieben 1. Juli 2005 Melden Teilen Geschrieben 1. Juli 2005 Hallo, Navision ist ja erst vor einiger Zeit von MS gekauft worden(2-3J?). Davor haben die meines Wissens mit einem eigenen DB Format gearbeitet. Ich vermute mal, dass es für Navision der einfachste Weg war, das so auf SQL zu portieren. Damit haben die jetzt den Label läuft auf SQL, ob das dann performant ist oder nicht, dass ist die zweite Frage. try_to_find Zitieren Link zu diesem Kommentar
Dr.Melzer 191 Geschrieben 1. Juli 2005 Melden Teilen Geschrieben 1. Juli 2005 Das ist richtig, da Navision zugekauft wurde wird es wohl noch einige Versionen dauern, bis das Datenbankformat vernünftig angepasst wurde. Zitieren Link zu diesem Kommentar
atomicid 10 Geschrieben 1. Juli 2005 Autor Melden Teilen Geschrieben 1. Juli 2005 ich hatte so in die performance richtung gedacht. hatte also diese befürchtung, das das ganze rumnormalisieren, indexe und trigger letztendlich zu einer performancebremse werden und deswegen die "schlauen" von ms die ganze sache weggelassen haben. quasi nach vorne heraus in die leerbücher was von normalisierung schreiben und selber wissen, das ein ***** tabellenhaufen eigentlich performanter ist. ich glaube aber nicht so recht dran. in meinem hirn kann ich die begriffe performance und prozedur einfach nicht trennen. noch etwas ist aufgefallen: im navision können mehrere betriebe angelegt werden. die tabellen haben aber immer den namen "BETRIEB$irgendwas" bei jedem anlegen eines betriebes werden also ca. 1000 tabellen erstellt. bei einer normalisierung währe das ja mit einer neuen zeile in einer tabelle zu erledigen. warum wird das so gemacht? gibt es vielleicht gesetzliche vorschriften, das diese geschäftsdaten von mehreren betrieben nicht in einer tabelle vermischt werden dürfen? wo findet man informationen zu dem vorherigem system (vor der übernahme) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.