Lucent Geschrieben 21. September 2010 Teilen Geschrieben 21. September 2010 Hallo Jungs, ich stehe hier vor einem kleinen Problem. Im folgenden Beispiel sollen alle Redundanzen eliminiert werden. Auch soll für eigentliche gleiche Felder kein neuer Name gewählt werden (z.B Name, Firmenname, Mitarbeitername usw.) Folgende Datenbank liegt vor: Kundendatei: Kundennummer, Firma, Branche, Adresse, Telefon, Kunde seit, Bemerkung Mitarbeiterdatei: Mitarbeiternummer, Name, Adresse, Telefon, Gehaltstuffe, Ausbildung, PKW, Führerschein, Geb. Datum Angebot: Angebotsnummer, Bezeichnung, Preis, Kategorie, Gewicht, Zuschlag Express Terminplan: Datum, Kundennummer, Firma, Lieferanschrift, Mitarbeiter (Aufnahme Bestellung), Mitarbeiter (Fahrer), Art der Lieferung, Anzahl, Ausgeliefert, Beschädigt Routenplanung: Fahrer, Fahrzeugtyp, Firma, Lieferanschrift, PLZ-Bereich, Gewicht der Ladung Rechnungswesen: Rechnungsnummer, Rech. Datum, Kundenummer, Mitarbeiter (Fahrer), Art der Lieferung, Anzahl, Einzelpreis, Gesamtpreis, Mahnung. Dies war die Datenbank. Mir ist durchaus bewusst, dass sich hier einiges Zusammenfassen lässt und dass diese Aufteilung an sich weder verkehrt noch super toll ist, nur verstehe ich nicht, wie man hier ganz ohne Redundanzen arbeiten soll. Das Feld Name, Adresse und Firma muss doch zwangsweise in mehreren Tabellen auftauchen...?! Meine Überlegung wäre. Jeder Tabelle eine ID zu geben und diese Tabelle dann mittels ID in eine andere Tabelle "einzubinden". Oder macht das keinen Sinn? Ich bin für Vorschläge oder Gedankenanstöße sehr dankbar. Grüße Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 21. September 2010 Teilen Geschrieben 21. September 2010 Naja nur die Feldnamen sind an sich erst einmal zu wenig, denn Du brauchst auch die Verknüpfungen. Schau Dir die Normalisierung (Datenbank) ? Wikipedia an, das ist das was Du suchst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lucent Geschrieben 21. September 2010 Autor Teilen Geschrieben 21. September 2010 Ja das glaube ich dir. Problem ist folgendes. Die Normalisierung usw. kommt erst viel später und es wird nicht davon ausgegangen, dass wir das benutzen. Auch nach einer Nachfrage meinerseits war keine Rede davon. Es muss also eine andere Lösung geben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lucent Geschrieben 21. September 2010 Autor Teilen Geschrieben 21. September 2010 Ja das glaube ich dir. Problem ist folgendes. Die Normalisierung usw. kommt erst viel später und es wird nicht davon ausgegangen, dass wir das benutzen. Auch nach einer Nachfrage meinerseits war keine Rede davon. Es muss also eine andere Lösung geben. Wäre nett wenn noch einer seinen Senf dazugeben kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Thanks-and-Goodbye Geschrieben 21. September 2010 Teilen Geschrieben 21. September 2010 Wäre nett wenn noch einer seinen Senf dazugeben kann. Unterlass das Threadpushing und Drängeln. Abends um Zehn sind halt doch deutlich weniger User als tagsüber online. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 21. September 2010 Teilen Geschrieben 21. September 2010 Problem ist folgendes. Die Normalisierung usw. kommt erst viel später und es wird nicht davon ausgegangen, dass wir das benutzen. Die Informationen, die Du aber hier lieferst reichen aber nicht aus. Du lieferst hier nur Tabellen und deren Spaltenbezeichnungen. Keine Verknüpfungen, keine Daten, die brauchst Du für die Normalisierung usw. Ohne weitere Infos, ist keine Hilfe möglich Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lucent Geschrieben 22. September 2010 Autor Teilen Geschrieben 22. September 2010 Es soll auch keine Normalisierung angewendet werden. Desweiteren habe ich als Vorgabe auch nur diese Tabellen. Die Aufgabe lautet einfach nur: Beseitigen Sie diese Redundanzen und dann sind dort die Tabellen gegeben. Normalisierung usw. kommt erst viel später und wir sollen das ohne diese machen. Deswegen stehe ich auf dem Schlauch und komme nicht vorwärts. Gibt es keine andere Lösung, hier die Redundanzen zu beseitigen bzw. zu verringern? Grüße! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 22. September 2010 Teilen Geschrieben 22. September 2010 Wo sind denn bitte überhaupt Redundanzen !? Nur weil zwei Spalten gleichen Namen haben, muss das nicht redundant sein. Redundanzen entstehen dadurch, dass Daten als Kopie gespeichert werden und genau das beseitigt man durch die Normalisierung. Nur Du brauchst auch dafür überhaupt Beziehungen zwischen den Entities / Tabellen und die sehe ich nicht. Ich will es mal so sagen, Du lieferst hier einzelne Textdateien, in denen Komma separiert Feldnamen stehen. Das reicht nicht an Informationen ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 22. September 2010 Teilen Geschrieben 22. September 2010 is nicht ganz richtig. Kundendatei: Kundennummer, Firma, Branche, Adresse, Telefon, Kunde seit, Bemerkung Terminplan: Datum, Kundennummer, Firma, Lieferanschrift, Mitarbeiter (Aufnahme Bestellung), Mitarbeiter (Fahrer), Art der Lieferung, Anzahl, Ausgeliefert, Beschädigt Da haben wir eine Redundanz imo. Wenn ich die Kundennummer hab, brauch ich da die Firma nicht in der Terminplanung, da ich ja über die Kundennummer auf die Kundendatei join. Die Aufgabe ist allerdings in der From schon reichlich dämlich muss man sagen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 22. September 2010 Teilen Geschrieben 22. September 2010 Da haben wir eine Redundanz imo. Wenn ich die Kundennummer hab, brauch ich da die Firma nicht in der Terminplanung, da ich ja über die Kundennummer auf die Kundendatei join. Wo steht denn in Deinem Modell, dass die beiden Kundennummern identisch sind !? Das fällt im Moment einfach vom Himmel, dass Du annimmst, dass beide identisch sind. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lucent Geschrieben 23. September 2010 Autor Teilen Geschrieben 23. September 2010 Wo steht denn in Deinem Modell, dass die beiden Kundennummern identisch sind !? Das fällt im Moment einfach vom Himmel, dass Du annimmst, dass beide identisch sind. Wenn ich dies wiederum garantieren möchte, muss ich mit Beziehungen arbeiten? Mich wundert das ganze nur - denn wir haben momentan weder was von Beziehungen noch von der Normalisierung kennengelernt. Das ich mir das natürlich schon angeschaut habe, sollte klar sein. In dieser Aufgabe geht es ganz allein um den Aufbau der einzelnen Tabellen. Mit sinnvoller Einteilung und eben ohne Redundanzen. Ich will es mal so sagen, Du lieferst hier einzelne Textdateien, in denen Komma separiert Feldnamen stehen. Das reicht nicht an Informationen ! Was braucht ihr noch? Ich habe zu dieser Aufgabe selbst nicht mehr, alles was ich habe steht hier. Wir nehmen das o.g Beispiel: Das Feld Firma; kommt sowohl in der Kundendatei als auch in der Routenplanung vor. Sollte sich der Firmenname jetzt ändern und wird in der Kundendatei geändert, heißt das noch lange nicht, dass dieser auch in der Routenplanung geändert wird/ist. Und genau sowas sollen wir eben bedenken und es nicht dazu kommen lassen das sowas auftritt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. September 2010 Teilen Geschrieben 23. September 2010 Ich will es mal anders ausdrücken. Datenbanken sind im Grunde mengentheoretische Sachen. Eine Tabelle ist eine Menge. Was Du hier ablieferst sind leere Tabellen. Redundanzen können entweder innerhalb einer Tabelle / Menge sein oder eben zwischen mehreren Tabellen / Mengen. Für erstes brauche ich Daten, für zweiteres Beziehungen + Daten. Beides lieferst Du nicht, somit ist die Aufgabe in meinen Augen fachlich unsinnig und formal somit auch falsch. Genau diesen Zusammenhang hat man in der Normalisierung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lucent Geschrieben 23. September 2010 Autor Teilen Geschrieben 23. September 2010 Okay habe ich soweit verstanden, ist natürlich nachvollziehbar. Aber wir bekommen eine solche Aufgabe auch nicht ohne Grund, schließlich soll ich mir dazu gedanken machen, eine neues Modell entwerfen und dieses auch erklären. Gehen wir einmal von den einzelnen Datensätzen aus. Die enthalten ja eine Tabelle mit verch. Spalten. Lassen sich diese Spalten nicht auch irgendwie so anordnen, dass sie in keiner Tabelle 2x vorkommen? Ohne das jetzt sinnfreie Namen der Spalten vergeben werden. Zur Not können auch zusätzliche Tabellen erstellt werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. September 2010 Teilen Geschrieben 23. September 2010 Lassen sich diese Spalten nicht auch irgendwie so anordnen, dass sie in keiner Tabelle 2x vorkommen? Mach kannst Du viel, nur fachlich ist es meiner Ansicht nach falsch. Denn wenn Du sagst, ich entferne aus einer Tabelle irgendwelche Spalten, weil sie gleichen Namen haben, dann impliziert das wiederum, dass Du zwischen den Tabellen eine Beziehung hast. Formal hast Du diese aber nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lucent Geschrieben 23. September 2010 Autor Teilen Geschrieben 23. September 2010 Dann verstehe ich aber den Sinn der Aufgabe nicht, es haben doch sicherlich schon zich andere Menschen vor mir diese Aufgabe lösen müssen. Wie würdest du da ran gehen? :hells: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. September 2010 Teilen Geschrieben 23. September 2010 Ich würde sie als "unlösbar" genau aus den genannten Gründen mit der Bitte um mehr Informationen zurückgeben. Vor allem würde ich es eben über den theoretischen Ansatz der Mengen und der entsprechenden Abbildungen begründen, d.h. den mathematischen Hintergrund Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Corto -sX- Geschrieben 23. September 2010 Teilen Geschrieben 23. September 2010 also eigentlich gibt es 2 möglichkeiten: wie flashpixx sagte, genaugenommen ist die Aufgabe keine Aufgabe - das wird dein LEhrer/chef/whatthehell aber nicht hören wollen. Was jeder Datenbank-Neuling zu Anfang machen muss ist: er bekommt sowas wie du hier, allerdings mit den Informationen ob z.b Kundennr hier immer das selbe ist. dann überlegt man sich anhand der Regeln der Normalisierung ein besseres Konzept, indem man z.b. alle Kundenbezogenen Daten aus den Datentabellen herausnimmt, dafür eine ID reinstellt und in eine neue Tabelle nur die Kundendaten und eben diese ID erzeugt. dann verknüpft man überall wo man vorher die Kundendaten in den Tabellen hatte die ID mit der ID der Kundentabelle. voila. Wenn du etwas tun willst, dann tu sowas in die Richtung. Alles andere macht überhaupt keinen Sinn, aus Gründen die Fashpixx genannt hat. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 25. September 2010 Teilen Geschrieben 25. September 2010 Wo steht denn in Deinem Modell, dass die beiden Kundennummern identisch sind !? Das fällt im Moment einfach vom Himmel, dass Du annimmst, dass beide identisch sind. Im mathematischen Sinne kann ich dir das nicht beweisen nein. Und ja, irgendein hirnloser Affe, könnte völlig andere information in diese Spalte schreiben ja. Gesunder Menschenverstand und die Praxis sagen mir, wenn eine Spalte kunde_id heist, steht da eine Kunden ID drin. Nebenbei, welches "mein" Modell ? ich hab kein Modell, ich kann bei dem was an Information zur Verfügung steht lediglich logisch denken. Nebenbei, du könntest etwas weniger "anfeindend" argumentieren. Gruß Sven Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
allesweg Geschrieben 26. September 2010 Teilen Geschrieben 26. September 2010 Annahmen solch optimistischer Art haben schon zu den wildesten Datenmodellen geführt. Nur weil ein Feld "KundeID" in zwei Tables steht und 2x 4711 als Inhalt, können JOINs darüber fehlschlagen - wo steht, dass die Datentypen identisch sind? (und das entspricht leider auch der Realität!) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 26. September 2010 Teilen Geschrieben 26. September 2010 Annahmen solch optimistischer Art haben schon zu den wildesten Datenmodellen geführt. @streffin: und genau das habe ich Dir eben gesagt. Die Informatik ist eine mathematisch motivierte Wissenschaft, d.h. ich arbeite mit logischen Schlüssen und in Deinem Problem fehlt einfach die Information und Du kannst diese Dir eben nicht "vom Himmel" herholen. Nebenbei, welches "mein" Modell ? ich hab kein Modell, ich kann bei dem was an Information zur Verfügung steht lediglich logisch denken. Du musst eben "formal" logisch zeigen, wie eben so ein Schluss geführt wird. Verglichen mit dem Auto: Ohne Benzin kannst Du nicht fahren, auch wenn Du es schieben würdest. Mir scheint und das siehst Du als Anfeindung, dass Dir nicht klar ist, worum es geht. Natürlich kann man sich irgendwas zu Deiner Aufgabe denken, aber das ist einfach falsch, denn die Aufgabenstellung ist unvollständig und es fehlen eben die relevanten Informationen. In allen Posts habe ich Dich immer darauf hingewiesen. Ich kann das sogar mit Hilfe von Komposition (Mathematik) ? Wikipedia formal zeigen, d.h. ich kann Dir zwei Beispiel konstruieren, die genau widersprüchliche Ergebnisse liefern. Das hat allesweg mit seiner "optimistischer Art" gemeint. Aus diesen zwei Beispielen kann ich dann sogar formal den Schluss ziehen, dass das Modell nicht eineindeutig ist und damit folgt, dass eben die Grundlage mit der Du arbeitest eben so nicht korrekt ist. Bei allen Dingen muss Du als Designer garantieren, dass immer deterministisch garantiert wird, wie die Zusammenhänge sind. Gerade bei Datenbanken musst Du garantieren, dass egal wie ich auf die Daten zugreife, das Ergebnis immer definiert ist und in Deinem Fall lässt sich eben zeigen, dass dies nicht der Fall ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Corto -sX- Geschrieben 27. September 2010 Teilen Geschrieben 27. September 2010 ich fühle mich genötigt darauff hinzuweisen das streffin nicht der Threadersteller ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 27. September 2010 Teilen Geschrieben 27. September 2010 @corto: Stimmt, hatte ich gar nicht bemerkt, aber ich habe mich ja nur auf sein letztes Post bezogen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lucent Geschrieben 27. September 2010 Autor Teilen Geschrieben 27. September 2010 Hallo Jungs, hier ging es ja drunter und drüber. Ich habe mich nochmal ran gesetzt und die Aufgabe soweit gelöst, wie ich konnte. Hier nun das Ergebnis. Schaut euch das bitte einmal und schreibt eure Kritik dazu. Noch einmal am Rande: Hier sollten nur die Redundanten Datensätze eliminiert werden. Auch spielen die einzelnen Beziehungen noch keine Rolle: Kundendatei: Kundennummer, Firma, Branche, Telefon, Kunde seit, Bemerkung Kundendatei_Adressen: Firma; Rechnungsadresse, Lieferadresse Mitarbeiterdatei_Stammdaten: Mitarbeiternummer, Name, Adresse, Telefon, Position, Postion seit; Gehaltstuffe, Ausbildung, Geburtsdatum, Bemerkung Mitarbeiterdatei_Lieferung: Name, PKW, Führerschein Angebot: Angebotsnummer, Bezeichnung, Kategorie Angebot_Lieferkriterien: Bezeichnung, Zuschlag Express, Gewicht, Anzahl, Preis Terminplan: Datum, Kundennummer; Kundendaten_Adressen, Mitarbeiterdatei_Lieferung, Angebot_Lieferkriterien Terminplan_Status: Kundenummer, Ausgeliefert, Abgabe bei Nachbar, Beschädigt Routenplanung: Mitarbeiterdatei_Lieferung, Kundendaten_Adressen, Angebot_Lieferkriterien Rechnungswesen: Rechnungsnummer, Rechnungsdatum, Kundennummer, Angebot_Lieferkriterien Rechnungswesen_Status Kundenummer, Bezahlt, Mahnung Kann man das so machen? Hier das Original: Kundendatei: Kundennummer, Firma, Branche, Adresse, Telefon, Kunde seit, Bemerkung Mitarbeiterdatei: Mitarbeiternummer, Name, Adresse, Telefon, Gehaltstuffe, Ausbildung, PKW, Führerschein, Geb. Datum Angebot: Angebotsnummer, Bezeichnung, Preis, Kategorie, Gewicht, Zuschlag Express Terminplan: Datum, Kundennummer, Firma, Lieferanschrift, Mitarbeiter (Aufnahme Bestellung), Mitarbeiter (Fahrer), Art der Lieferung, Anzahl, Ausgeliefert, Beschädigt Routenplanung: Fahrer, Fahrzeugtyp, Firma, Lieferanschrift, PLZ-Bereich, Gewicht der Ladung Rechnungswesen: Rechnungsnummer, Rech. Datum, Kundenummer, Mitarbeiter (Fahrer), Art der Lieferung, Anzahl, Einzelpreis, Gesamtpreis, Mahnung. Bin für Hilfe dankbar. Grüße Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 27. September 2010 Teilen Geschrieben 27. September 2010 Hier sollten nur die Redundanten Datensätze eliminiert werden. Auch spielen die einzelnen Beziehungen noch keine Rolle Ich stell einfach mal die Frage, womit ich mich wieder an meinem letzten Post anschließen: Wo sind hier bitte Datensätze ? Wenn Beziehungen keine Rolle spielen, weshalb kannst Du dann einfach Spalten ändern? Du hast nach meinem Verständnis keine Daten, jedenfalls hast Du keine gepostet. Und da Du hier keine Beziehungen genannt hast, kann ich das Problem wieder auf das zurückführen, dass Du nicht einfach hier in irgendwelchen Spalten nach Belieben ändern kannst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lucent Geschrieben 27. September 2010 Autor Teilen Geschrieben 27. September 2010 Datensätze habe ich noch keine angelegt, die jeweiligen Daten die dort reinkommen sind doch anhand der Bezeichnungen selbsterklärend. Desweiteren ist dafür gesorgt, dass bei Tel. Nr keiner sein Namen rein schreibt (anhand des Typs). Beziehungen: Alle Mitarbeiter sind aufeinander angewiesen. Fahrer verlassen sich auf die Mitarbeiter im Innendienst, die die Aufträge entgegennehmen. Fahrer verlassen sich auch darauf, dass die Touren ordentlich zusammengestellt werden; die Kunden warten auf die Lieferungen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.