AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankstruktur - wie speichern?
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankstruktur - wie speichern?

Offene Frage von "jobo"
Ein Thema von NoGAD · begonnen am 24. Okt 2019 · letzter Beitrag vom 29. Okt 2019
Antwort Antwort
Seite 1 von 2  1 2      
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#1

AW: Datenbankstruktur - wie speichern?

  Alt 24. Okt 2019, 09:51
Du speicherst doch bestimmt die Gültigkeitszeiträume der Intervallinformation, oder?
So kannst du dann dafür sorgen das ältere Daten mit dem seinerzeit geltenden Intervall angezeigt werden, und neue mit dem neuen Intervall.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Datenbankstruktur - wie speichern?

  Alt 24. Okt 2019, 10:08
Wenn ich das richtig verstanden habe, geht es nur um die Darstellung.
Für die Erfassung wird die aktuelle Taktung übernommen und der Termin entsprechend gespeichert.
Für die Wiedergabe nuß dann der Termin "gerundet" werden, um in das erwünschte Zeitraster zu passen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Datenbankstruktur - wie speichern?

  Alt 24. Okt 2019, 10:32
Du speicherst doch bestimmt die Gültigkeitszeiträume der Intervallinformation, oder?
So kannst du dann dafür sorgen das ältere Daten mit dem seinerzeit geltenden Intervall angezeigt werden, und neue mit dem neuen Intervall.
Das erscheint mir eine gute Idee, daran hatte ich noch gar nicht gedacht. Ich mache mir dazu Gedanken.

Wenn ich das richtig verstanden habe, geht es nur um die Darstellung.
Für die Erfassung wird die aktuelle Taktung übernommen und der Termin entsprechend gespeichert.
Für die Wiedergabe nuß dann der Termin "gerundet" werden, um in das erwünschte Zeitraster zu passen.

Gruß
K-H
Ich meine, dass dies zu Fehlverhalten führen könnte. Danke dennoch für die Idee

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Datenbankstruktur - wie speichern?

  Alt 24. Okt 2019, 10:59
Welcher Art soll das Fehlverhalten sein?
Du änderst nur die Darstellung.
z.b.
Datensatz: 12.13 xxxx
Darstellung1: 12.00 Stunde/30Min
Darstellung2: 12.15 15Minuten/5Minuten
Darstellung3: 12.10 10Minuten
Darstellung4: 12.13 1Minute

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
730 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Datenbankstruktur - wie speichern?

  Alt 24. Okt 2019, 11:24
Hallo,
ich weiß nicht, wie Du Deine Daten strukturiert hast, daher habe ich für Dich auf die Schnelle eine mir zweckmäßig erscheinende Struktur gebastelt und diese graphisch dargestellt.

Ich würde dazu gemäß Bild im Anhang 5 miteinander verknüpfte Tabellen führen. Damit hättest Du die gewünschte Flexibilität. Der Preis dafür ist allerdings ein komplizierter Datenzugriff.

Erklärung zum Bild:
===============
Die gelben Tabellen sind die Stammdaten (= „Detail“ oder „Kind“), die blauen Tabellen stellen die abhängigen Tabellen („Master“, oder „Mutter“) dar. Die roten Feldinhalte in den Master-Tabellen sind die Fremdlinks zu den jeweiligen Stammdaten.

Begriffserklärung:
=============
Kind = Detail = Stammdatenbank
Kind = hat EINE Mutter
Mutter hat ein Kind oder mehrere Kinder, d.h. der Master hat den/die Fremdschlüssel!
Mutter zeigt auf Kind = Master zeigt auf Detail

Das Löschen eines Datensatzes ist nur erlaubt, wenn KEIN Pfeil auf den Datensatz in der Tabelle zeigt!

Anmerkung: Manche Literaturstellen benutzen die Begriffe „Master“ und „Detail“ genau umgekehrt. Aber meine obige Darstellung paßt zur Pascal-Philosophie und zur Nomenklatur der zur Absolute-DB.

Vielleicht hilft es Dir weiter.

Gruß
Andreas
Angehängte Grafiken
Dateityp: png Datenstruktur.png (22,2 KB, 27x aufgerufen)
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)

Geändert von Andreas13 (24. Okt 2019 um 11:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Datenbankstruktur - wie speichern?

  Alt 24. Okt 2019, 12:13
Hallo,
ich weiß nicht, wie Du Deine Daten strukturiert hast, daher habe ich für Dich auf die Schnelle eine mir zweckmäßig erscheinende Struktur gebastelt und diese graphisch dargestellt.

Ich würde dazu gemäß Bild im Anhang 5 miteinander verknüpfte Tabellen führen. Damit hättest Du die gewünschte Flexibilität. Der Preis dafür ist allerdings ein komplizierter Datenzugriff.

Erklärung zum Bild:
===============
Die gelben Tabellen sind die Stammdaten (= „Detail“ oder „Kind“), die blauen Tabellen stellen die abhängigen Tabellen („Master“, oder „Mutter“) dar. Die roten Feldinhalte in den Master-Tabellen sind die Fremdlinks zu den jeweiligen Stammdaten.

Begriffserklärung:
=============
Kind = Detail = Stammdatenbank
Kind = hat EINE Mutter
Mutter hat ein Kind oder mehrere Kinder, d.h. der Master hat den/die Fremdschlüssel!
Mutter zeigt auf Kind = Master zeigt auf Detail

Das Löschen eines Datensatzes ist nur erlaubt, wenn KEIN Pfeil auf den Datensatz in der Tabelle zeigt!

Anmerkung: Manche Literaturstellen benutzen die Begriffe „Master“ und „Detail“ genau umgekehrt. Aber meine obige Darstellung paßt zur Pascal-Philosophie und zur Nomenklatur der zur Absolute-DB.

Vielleicht hilft es Dir weiter.

Gruß
Andreas

Hallo Andreas,

wie erstellst Du dieses Diagramm? Ich mache das immer auf Papier, mit Stift

Jedenfalls hilft mir diese Ansicht auch schon weiter, auch wenn ich mich mit der Idee der Skalierung per Intervallspeicherung in der DB schon angefreundet habe, wie es Jumpy empfohlen hat. Sollte das nicht praktikabel sein, mische ich einfach etwas aus den Ideen zusammen und würde bei Gelegenheit noch einmal nachfragen


Vielen Dank für die Hilfe!

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
730 Beiträge
 
Delphi XE5 Professional
 
#7

AW: Datenbankstruktur - wie speichern?

  Alt 24. Okt 2019, 14:55
wie erstellst Du dieses Diagramm? Ich mache das immer auf Papier, mit Stift :-
Hallo Mathias,
man kann professionelle DB-Diagramme mit der älteren (!) Version Visio 2010 Professional erstellen. Die aktuelle Version wurde im Leistungsumfang deutlich abgespeckt. Die "Alte" hat außerdem eine direkte Anbindung an Access: sie kann die DB-Struktur erkennen und automatisch Diagramme generieren. Das ist in der neuen Version nicht mehr enthalten. Bei Visio 2010 muß man allerdings alle Feldtypen & die Indizes kennen und angeben. Für den Vor-Entwurf der DB, wo vieles noch nicht festgelegt ist, ist es also nicht so gut.
Daher verwende ich hierfür – wie für Dein Strukturdiagramm – Excel und PowerPoint. PowerPoint dient nur zum bequemen Positionieren und Verbinden der Kästchen mittels Pfeile.

Gruß & viel Erfolg bei Deinem Projekt!
Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)

Geändert von Andreas13 (24. Okt 2019 um 14:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Datenbankstruktur - wie speichern?

  Alt 24. Okt 2019, 12:07
Welcher Art soll das Fehlverhalten sein?
Du änderst nur die Darstellung.
z.b.
Datensatz: 12.13 xxxx
Darstellung1: 12.00 Stunde/30Min
Darstellung2: 12.15 15Minuten/5Minuten
Darstellung3: 12.10 10Minuten
Darstellung4: 12.13 1Minute

Gruß
K-H

Vielleicht habe ich einen Denkfehler, jedoch ist, z.B. die Vorgabe im 10-Minuten-Takt und es wird auf 30-Minuten erhöht, fallen durch Rundung jeweils 2 Termine weg.

10-Minutentakt:
12:00 = 1. termin
12:10 = 2. termin
12:20 = 3. termin
12:30 = 4. termin

30-Minutentakt:
12:00 = 1. termin ODER 2.termin ?
12:30 = 3. termin ODER 4.termin ?

Das meinte ich mit Fehlverhalten durch Rundung.

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Datenbankstruktur - wie speichern?

  Alt 24. Okt 2019, 13:12

Vielleicht habe ich einen Denkfehler, jedoch ist, z.B. die Vorgabe im 10-Minuten-Takt und es wird auf 30-Minuten erhöht, fallen durch Rundung jeweils 2 Termine weg.

10-Minutentakt:
12:00 = 1. termin
12:10 = 2. termin
12:20 = 3. termin
12:30 = 4. termin

30-Minutentakt:
12:00 = 1. termin ODER 2.termin ?
12:30 = 3. termin ODER 4.termin ?

Das meinte ich mit Fehlverhalten durch Rundung.
In der DB hast Du 4 Termine. Wenn du eine 30Minuten Taktung anzeigen willst dann sähe das z.B. so aus:
12:00 Termin1
12:00 Termin2
12:30 Termin3
12:30 Termin4

Mir scheint es sinnvoller alle Termine mit 12:00 anzuzeigen, da meist Termine nicht zu spät wargenommen werden sollten. Aber das ist Ansichtsache,im wahrsten Sinne des Wortes.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#10

AW: Datenbankstruktur - wie speichern?

  Alt 25. Okt 2019, 07:21
10-Minutentakt:
12:00 = 1. termin
12:10 = 2. termin
12:20 = 3. termin
12:30 = 4. termin

30-Minutentakt:
12:00 = 1. termin ODER 2.termin ?
12:30 = 3. termin ODER 4.termin ?

Das meinte ich mit Fehlverhalten durch Rundung.
Ja, deswegen brauchst Du für Dein Anliegen primär ein Updatestatement, was diese Dinge auflöst/umrechnet. p80286 hat es schon dargestellt, wie es aussehen könnte.

Da es fraglich ist, ob Deine Anforderungen damit abgedeckt werden können, wäre ein "richtiges" Datenmodell sicher besser, als zu basteln.
Die Basis wäre m.E., das ein Termin für sich genommen eine eindeutige ID erhält und einen Timestamp. Das kann man dann beliebig rastern.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz