Liebe Experten,
ich versuche erstmalig eine Dtaenbank zu erstellen, leider bisher erfolglos, ich blicke da schlicht nicht ganz durch.
Folgendes Ziel:
Ein Windpark hat mehrere Standorte mit jeweils mehreren Anlagen. In den Anlagen sind kWh-Zähler installiert. Pro Standort gibt es zusätzlich einen Zähler der die Einspeisung ins Netz pro Standort zählt. Die Leitungen laufen quasi erst zusammen bevor ins Netz eingespeist wird. Ich möchte die Summe der Anlagenzähler pro Monat und Standort vergleichen mit dem Netzeinspeisezähler. Aus der Differenz lässt sich der Leitungsverlust sowie fehlerhafte Abrechnung ableiten.
Ich habe folgende Tabellen erstellt:
"Anlagen" mit Anlagennummer und Standortnummer
"Standorte" mit Standortname und Standortnummer (Die monatlich zu importierenden Daten bieten nur die Nummer)
"Anlagenmonat" mit Anlagennummer, Monat, Jahr und kwh
"Abrechnung" mit kWh_Abrechnungszähler, Monat, Jahr, Standort
Sind die Tabellen so sinnvoll aufgebaut? Wo müsste der Wert "Differenz" eingefügt werden? Wie verknüpfe ich die Tabellen? Das Konzept "Fremdschlüssel ist mir nicht klar. Wo werden die angelegt? Und: Wie und wo kann ich die Summe der Anlagenwerte pro Monat berechnen?
Ich habe noch nie mit Datenbanken gearbeitet, hoffe aber trotzdem dass jemand die Muße hat mir das näherzubringen.
Besten Dank im Voraus
dbas
Erste Datenbank - Anfängerprobleme
Moderator: Moderatoren
Re: Erste Datenbank - Anfängerprobleme
Wow,
das ist natürlich eine weitreichende Frage.
Das erste, was in der Datenbanktheorie zählt, ist der Entwurf.
Ich fasse zusammen (auch auf die Gefahr hin zu wiederholen)
Ein Windpark hat mehrere Standorte.
Ein Standort hat mehrere Einzel-Zähler.
Ein Standort hat einen Hauptzähler.
Daraus ergibt sich folgendes Modell:
Da der Windpark die Datenbank als solche ist, bedarf es keiner Tabelle dafür.
Ein erster Entwurf sähe so aus wie im Anhang dargestellt. (Leider bekomme ich den Anhang nicht angehängt.... Werd mal nachdenken, warum...)
Du gibst als Tabelle die Standorte mit ihren eindeutigen IDs, einem Namen und anderen Infos und dem zugewiesenen Hauptzählern ein.
Du gibst als Tabelle die Zähler mit ihren eindeutigen IDs (wahrscheinlich Zählernummer) mit einer Bezeichnung und anderen Infos dazu ein.
Du gibst als Hilfstabelle die Standort-ID, die Zähler-ID, das Datum der Ablesung und den Stand ein.
Du gibst als Hilfstabelle die Zähler-ID, das Datum der Ablesung und den Stand ein.
Ich habe mal den ersten Entwurf mit roten Korrekturen so belassen wie er mir eingefallen ist um zu zeigen, dass das nicht so einfach ist. Die roten Striche sind Korrekturen. Wenn der Entwurf stimmt, trägst du ihn einfach als Tabellen ein.
Alles andere sind dann Abfragen oder direkte SQL-Statements, die dir die Ergebnisse ausweisen. Berechnete Felder werden NICHT in Tabellen festgehalten.
Um das nachzuvollziehen empfehle ich dir nach dem Begriff Normalisierung zu googeln und an Beispielen nachzuvollziehen. Alles andere macht keinen Sinn, weil du sonst wie ein Schwein vorm Uhrwerk sitzt und auf die Datenbank schaust. Wenn auch nur ein Rädchen mal nicht so läuft wie du willst, dann kommst du nicht weiter.
Wenn du die Normalisierung "gelernt" hast, dann sag Bescheid, dann machen wir weiter.
Ach ja, die ersten drei Normalformen reichen völlig aus, weitere brauchst du dir (noch) nicht anzusehen.
Gruß,
Maik
das ist natürlich eine weitreichende Frage.
Das erste, was in der Datenbanktheorie zählt, ist der Entwurf.
Ich fasse zusammen (auch auf die Gefahr hin zu wiederholen)
Ein Windpark hat mehrere Standorte.
Ein Standort hat mehrere Einzel-Zähler.
Ein Standort hat einen Hauptzähler.
Daraus ergibt sich folgendes Modell:
Da der Windpark die Datenbank als solche ist, bedarf es keiner Tabelle dafür.
Ein erster Entwurf sähe so aus wie im Anhang dargestellt. (Leider bekomme ich den Anhang nicht angehängt.... Werd mal nachdenken, warum...)
Du gibst als Tabelle die Standorte mit ihren eindeutigen IDs, einem Namen und anderen Infos und dem zugewiesenen Hauptzählern ein.
Du gibst als Tabelle die Zähler mit ihren eindeutigen IDs (wahrscheinlich Zählernummer) mit einer Bezeichnung und anderen Infos dazu ein.
Du gibst als Hilfstabelle die Standort-ID, die Zähler-ID, das Datum der Ablesung und den Stand ein.
Du gibst als Hilfstabelle die Zähler-ID, das Datum der Ablesung und den Stand ein.
Ich habe mal den ersten Entwurf mit roten Korrekturen so belassen wie er mir eingefallen ist um zu zeigen, dass das nicht so einfach ist. Die roten Striche sind Korrekturen. Wenn der Entwurf stimmt, trägst du ihn einfach als Tabellen ein.
Alles andere sind dann Abfragen oder direkte SQL-Statements, die dir die Ergebnisse ausweisen. Berechnete Felder werden NICHT in Tabellen festgehalten.
Um das nachzuvollziehen empfehle ich dir nach dem Begriff Normalisierung zu googeln und an Beispielen nachzuvollziehen. Alles andere macht keinen Sinn, weil du sonst wie ein Schwein vorm Uhrwerk sitzt und auf die Datenbank schaust. Wenn auch nur ein Rädchen mal nicht so läuft wie du willst, dann kommst du nicht weiter.
Wenn du die Normalisierung "gelernt" hast, dann sag Bescheid, dann machen wir weiter.
Ach ja, die ersten drei Normalformen reichen völlig aus, weitere brauchst du dir (noch) nicht anzusehen.
Gruß,
Maik
Re: Erste Datenbank - Anfängerprobleme
Hallo Maik,
Vielen Dank für Deine Mühen.
Kannst Du den Anhang anhängen? Ich habe bei Deinem Beitrag nichts gefunden. Danns chaue ich mir das alles nochmal in Ruhe an.
Kann man eigentlich csv-Dateien importieren? Das würde monatlich anstehen. Wenn ich die Werte alle von hand eintragen muss kann ich auch Calc/Excel nehmen. Die Berechnung ist ja unkompliziert.
Danke und Gruß
dbas
Vielen Dank für Deine Mühen.
Kannst Du den Anhang anhängen? Ich habe bei Deinem Beitrag nichts gefunden. Danns chaue ich mir das alles nochmal in Ruhe an.
Kann man eigentlich csv-Dateien importieren? Das würde monatlich anstehen. Wenn ich die Werte alle von hand eintragen muss kann ich auch Calc/Excel nehmen. Die Berechnung ist ja unkompliziert.
Danke und Gruß
dbas
Re: Erste Datenbank - Anfängerprobleme
So, jetzt noch einmal die Datei als Anhang, die ich in der ersten Antwort versprochen habe.
Maik
Maik
- Dateianhänge
-
- erm.jpg (12.89 KiB) 668 mal betrachtet