Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbankstruktur - wie speichern? (https://www.delphipraxis.net/202350-datenbankstruktur-wie-speichern.html)

NoGAD 24. Okt 2019 12:07

AW: Datenbankstruktur - wie speichern?
 
Zitat:

Zitat von p80286 (Beitrag 1450186)
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

NoGAD 24. Okt 2019 12:13

AW: Datenbankstruktur - wie speichern?
 
Zitat:

Zitat von Andreas13 (Beitrag 1450188)
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 :-D

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

p80286 24. Okt 2019 13:12

AW: Datenbankstruktur - wie speichern?
 
Zitat:

Zitat von NoGAD (Beitrag 1450192)

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

Andreas13 24. Okt 2019 14:55

AW: Datenbankstruktur - wie speichern?
 
Zitat:

Zitat von NoGAD (Beitrag 1450193)
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

jobo 25. Okt 2019 07:21

AW: Datenbankstruktur - wie speichern?
 
Zitat:

Zitat von NoGAD (Beitrag 1450192)
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.

NoGAD 25. Okt 2019 12:21

AW: Datenbankstruktur - wie speichern?
 
Zitat:

Zitat von jobo (Beitrag 1450232)
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.

Warum benötigt man einen Timestamp der Speicherung?

Mein Timestamp war die vorgegebenen Daten aus Datum+Uhrzeit+Grid.

LG Mathias

jobo 25. Okt 2019 12:28

AW: Datenbankstruktur - wie speichern?
 
Ich weiß nicht, ob wir jetzt aneinander vorbei reden.
Dein Grid zeigt einen gerasterten Wert, der ist ja offenbar ok, solange nichts geändert werden muss.
Statt dessen also lieber einen Echtwert, wie immer der sich dann auch zusammensetzt anhand von realen Tätigkeiten (Events im Programm)

Nochmal die Frage, wie soll ein Intervallwert überhaupt geändert werden? Besonders wenn das alte Raster größer war als das neue?

p80286 25. Okt 2019 13:17

AW: Datenbankstruktur - wie speichern?
 
Wofür soll das eigentlich gut sein?
Bisher betreiben wir hier nur spökenkiekerei

Gruß
K-H

NoGAD 26. Okt 2019 14:59

AW: Datenbankstruktur - wie speichern?
 
Ich habe vor einigen Jahren ein Freewareprogramm geschrieben, ein Bestellbuch für diverse Einsatzzwecke. [1]

Als Hobbyprogrammierer hatte und habe ich wenig Erfahrung. Ich nutzte ich die Datenbank TDbf [2].
Damit klappte alles wunderbar, es gibt aber immer noch Ehrgeiz, dass ich etwas neues Lernen und ausprobieren möchte. Autodidaktisch.

Mittlerweile bin ich mit der GUI der Version 4 sehr weit vorangekommen und würde irgendwann die Datenbank mit einbringen. Um hier aber nun den Anwendern eine freiere Nutzung des Programms zu ermöglichen, versuche ich die Art und Weise einer Datenbankanbindung zu lernen. Hier habe ich sehr große Probleme, mir das abstrakt vorstellen zu können, da ich eher sequentiell denke.

Deshalb suche ich nach Antworten.


Um zum Problem des Intervalls zurückzukommen, mehrfach habe ich schon erwähnt, warum das für mich wichtig ist. Ich skizziere das noch einmal.

Die Daten werden jeden Tag in ein Grid eingetragen und gespeichert. Der Intervall lag pro Spalte bei 15 Minuten. Als Bestellbuch muss auch für die Zukunft eingetragen werden.

Nun werden die Zeiten geändert, weil bemerkt wurde, dass die Zeiten optimiert werden können oder, weil neue Anforderungen bezüglich Aufklärung der Patienten in den Arbeitsalltag Einzug gehalten haben.


Somit wird der Intervall dann um 5 Minuten pro Gridzeile erhöht, also einen 20 Minutenintervall.







[1] https://www.nogad.de/bestellbuch-3/
[2] https://sourceforge.net/projects/tdbf/

jobo 26. Okt 2019 16:52

AW: Datenbankstruktur - wie speichern?
 
Gut, das macht es etwas klarer, aber ich habe leider immer noch nicht verstanden, was es mit dem Takt auf sich hat.
In ein Bestellbuch trage ich eine Bestellung ein, vollkommen egal wann, ich freue mich dann, wenn das bestellte endlich ankommt. Darum wird es also wohl nicht gehen.
Vielleicht könntest Du einfach mal den Vorgang beschreiben, wie ein oder 2 solche Eintrage in dem Buch landen und was mit den Einträgen geschieht.

Wenn Dein Anliegen verstanden wird, kann man auch verbindlichere Vorschläge zur Problemlösung liefern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz