Thread Datenstruktur Terminkalender (3 answers)
Opened by rosti at 2011-05-22 21:06

rosti
 2011-05-22 21:06
#149007 #149007
User since
2011-03-19
3204 Artikel
BenutzerIn
[Homepage]
user image
Hi,

unterzubringen sind auf einen Schlüssel, was bei mir die Tagesnummer sein wird (Julianischer Tag, fortlaufend numeriert), Termine, Events, Veranstaltungen..., die im Wesentlichen drei Teile haben: Beginn, Ende und ein bischen Text, optional vielleicht noch einen Link.

Beginn und Ende unter dem Tag sind die Sekunden seit Null-Uhr, die sich gut in h:m:s umrechnen lassen, MySQL hat dafür sogar eine Funktion.

Variante 1 sieht so aus:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Datenstruktur Terminkalender
my $t = {
2455704 => {
123450 => {
END => 124000,
TXT => 'Eine kleine Veranstaltung',
},
},
2455705 => {
200000 => {
END => 300000,
TXT => 'Noch eine kleine Veranstaltung',
},
300001 => {
END => 400000,
TXT => 'Noch eine kleine Veranstaltung',
},
},
};


Allerdings erscheint mir das ein bischen zu tief, etwas flacher wäre in etwa so (Variante 2):

Code: (dl )
1
2
3
Datenstruktur für Termine:
Julianday => { 16byte => 'text' }
16byte: Beginn(8byte) und Ende(8byte) in Sekunden seit Mitternacht


Möglich wäre auch ein textlicher Key für Beginn und Ende, etwa so:
00120.86399, also fünfstellige Zahlen (Variante 3).

Abfragen auf die Datenstruktur sollen ein sortiertes Array für einen Tag liefern:

Code: (dl )
1
2
3
4
[ 
[hms-Begin, hms-Ende, Text, Link],
[hms-Begin, hms-Ende, Text, Link],
]


was dann recht gut in eine Kalenderwoche als Tabelle einzubauen ist.

Der Speicherort ist noch nicht näher bestimmt, MySQL bietet sich an wegen der Date-Time-Unterstützung, aber auch eine reine Datei-Lösung wäre OK. Im Script selbst soll unabhängig vom Speicherort mit einer passenden Datenstruktur operiert werden.

Wie auch immer, ich bin noch am Grübeln, hat jemand von Euch mal einen Terminkalender gemacht mit einer zweckmäßigen Datenstruktur und wie sieht die aus?

Viele Grüße,
Rolf
Last edited: 2011-05-22 21:19:27 +0200 (CEST)

View full thread Datenstruktur Terminkalender