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 4 von 4   « Erste     234   
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#31

AW: Datenbankstruktur - wie speichern?

  Alt 28. Okt 2019, 14:25
P.S./OT: Alternativ einfach Termine machen, nach den Abrechnungsvorgaben der Krankenkasse, das wäre bestimmt "lustig"
Die da wären? Also in meinen Abrechnungen hat die Frequenz oder Dauer eines Termines keinen Einfluss auf die eigentlich Abrechnung. Bei der Prüfung auf Plausibilität sieht das natürlich anders aus.
Michael Kübler
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Datenbankstruktur - wie speichern?

  Alt 28. Okt 2019, 22:03
Also die Taktung ist ein gern genutztes "Korsett", nach meinen Recherchen. Und wenn der Kunde das wünscht soll er es auch bekommen.
@Jobo
Wie willst Du das mit einem Timestamp realisieren? Nach meinem Verständnis wird das z.B. bei der Erfassung generiert und hat mit einem Termin recht wenig zu tun. Oder meinst Du damit den Feldtyp für den Termin?

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

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#33

AW: Datenbankstruktur - wie speichern?

  Alt 29. Okt 2019, 08:13
Im Ernst:

Ich glaube der TE hat (meiner Meinung nach) ein Logikproblem bei seinen Überlegungen, da er den Intervall = Anzeige setzt.
Ein eingestellter Intervall für (neue) Termine sollte keine Auswirkungen in der Ansicht der bestehenden Termine haben.

Es gilt zwischen Terminerstellung und Terminkalender (Ansicht) zu unterscheiden.
1. Beim generieren des Termins wird ein (voreingestellter, in den Programmeinstellungen vom Benutzer festgelegter) Wert für den Intervall angezeigt.
Beim erstellen des Termins wird dieser also berücksichtigt und entsprechend eingetragen, was nur in den Intervallen möglich ist.
Der Termin wird entsprechend in die Datenbank geschrieben.
2. Die Terminanzeige (Kalender) jedoch sollte UNI sein. Im Klartext so eingestellt sein, das sie vom (Grob-)Raster zwar den Intervall anzeigt, jedoch alle Termine anzeigt unabhängig vom Intervall.
Bedeutet: Ist der Intervall kleiner als die Terminlänge (weil vorher anderer Intervall eingestellt war), wird der Termin über mehrere Intervalle angezeigt. Ist der Termin kürzer als der Intervall (und ggf. mehrere Termine in einem Intervall), werden diese in einem Intervall angezeigt.

Tipp: Unterscheide zwischen Terminerstellungsintervall und Terminanzeigeintervall. Lasse beides als "default" vom Nutzer wählen, ihm aber die Freiheit zur Laufzeit das jederzeit zu ändern, ohne das sich der "default" ändert (sofern der Kunde das nicht blockieren will).
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#34

AW: Datenbankstruktur - wie speichern?

  Alt 29. Okt 2019, 09:49
@Moombas: Genau das meinte ich. Ein Termin hat eine Startzeit (mit Datum natürlich) sowie eine Endzeit (oder eine Dauer). Diese werden in der Datenbank gespeichert. Punkt.

Die Anzeige gehört davon komplett entkoppelt und lässt sich problemlos an neue Einstellungen anpassen. Ja nach Termindauer und Intervallgrössen erstreckt sich der Termin dann eben über mehr oder weniger Intervalle.

Ich verwende übrigens den TMS Planner, der kümmert sich komplett selbst um die Anzeige wenn Start- bzw. Endzeit bekannt sind. Das Intervall kann quasi auf Knopfdruck angepasst werden.
Michael Kübler
  Mit Zitat antworten Zitat
jobo

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

AW: Datenbankstruktur - wie speichern?

  Alt 29. Okt 2019, 09:51
@scrat
Nach meiner bescheidenen Kenntnis, sind die virtuellen Punkte, die für Termine beim Arzt von den gesetzlichen Kassen angerechnet werden, oft recht bescheiden im Vergleich zur reinen Dauer des Termins. (Mal abgesehen von der nicht direkt zu beziffernden monetären Höhe dieser Punkte)
Die Termine würden also daran gemessen u.U. recht kurz und natürlich nicht gerastert ausfallen.

@p80286
Ja, erst mal ist es ein Timestamp als Datentyp. Taktung ist meinetwegen ok, aber sie führt so wie sie praktiziert wird und durch Software unterstützt wird ja offensichtlich mit (nicht allein) dazu, dass Arzttermine oft ein Glücksspiel sind- was die Wartezeit angeht.

Gedanken:
Das Raster ist virtuell und findet ohne vergebene Termine keine Ausprägung
Ein gegebenes Raster definiert sich (hier) dann durch (Stunden) Anteile, z.B.: 1, 2, 3, 4, 5, 6
Also umgerechnet volle Stunde, halbe -, 20 Minuten, 15 -, 12-, 10, -
Vorgabe wäre meinetwegen 20 Minuten als Standardaufteilung.
aber eigentlich egal, denn:
auf Stundenebene gilt die dann festgelegte Uhrzeit primär als Reihenfolge oder als konkrete Angabe von (kleineren) Intervallblöcken, ein Termin = 1-n explizite, exakt angegebene Intervalle
Das Ändern eines Rasters (als Ausnahme oder dauerhaft) wirkt sich nur bedingt auf bestehende Termine aus. Im einfachen Fall „kleineres Intervall“ wird „irgendwo“* innerhalb der Stunde ein weiterer Termin erfasst, im schwierigeren Fall „größeres Intervall“ fliegt ein Termin aus der Stunde raus. Beides sind natürlich Verschiebungen und man muss definieren, wie damit umgegangen werden soll.
a) bestehende Termine behalten einfach das alte Raster, nur neue Termine werden nach neuen Vorgaben vergebenen
b) „Reinquetschen“: aus Terminen 10:00 Uhr und 10:30 Uhr wird 10:00, 10:20, 10:40
c) „Strecken“: aus 10:00, 10:20, 10:40 wird 10:00 und 10:30, ein Termin braucht einen neuen Platz (manueller Vorgang, Absprache)
..
Für diese Fälle muss man entsprechende Update Statements bauen.

*Wahrscheinlich wäre ein „loses“ Modell -ganz ohne Raster- mit einigen Problemchen in der technischen Handhabung verbunden, auch wenn es ein paar Updates spart. (nicht notwendig im Sinne der Last)
Fall b) würde mit einem Insert zwischen bestehenden Terminen auskommen, wobei hinreichend wäre, dass die neue Terminzeit „irgendwo“ zwischen 2 bestehenden Terminen liegt. Die Anwendung muss die Rasterung grafisch sowieso variabel beherrschen, nur eben nicht abhängig von einer Grundeinstellung, sondern abhängig von der tatsächlichen Datenlage in der jeweiligen Stunde.

Denkbar für eine Rasterumstellung wäre ggf. auch, dass man sie nicht akut durchführt, sondern in der Zukunft, also ab einem Zeitpunkt x in 4 Monaten. Liegt er weit genug in der Zukunft (keine Termine vergeben oder wenige die man manuell neu vergibt), kann man wahrscheinlich mit einfacheren Verfahren operieren. Ändert aber auch nichts an der Speicherung als Timestamp.

Das ist m.E. alles eine Frage davon, welchen Aufwand der TE in die Änderung stecken will.

Die Ausführungen von @Moombas bringen eigentlich recht deutlich raus, wie es normalerweise laufen sollte. Die Rasterung ist eine reine Darstellungssache.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Datenbankstruktur - wie speichern?

  Alt 29. Okt 2019, 11:54
Die Ausführungen von @Moombas bringen eigentlich recht deutlich raus, wie es normalerweise laufen sollte. Die Rasterung ist eine reine Darstellungssache.
Das kann ich nur unterschreiben. Bleibt für mich die Frage wie man die Darstellung Kundengerecht hinbekommt, daran hab ich mir schon einmal die Zähne ausgebissen.

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
 
#37

AW: Datenbankstruktur - wie speichern?

  Alt 29. Okt 2019, 14:45
so macht es z.B. Outlook:
Miniaturansicht angehängter Grafiken
beispielkalenderrasteroutlook.png  
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 13:59 Uhr.
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