Ich möchte eine Kalenderanwendung schreiben. Es sind wirklich wiederkehrende Elemente, die einen Schlag in die Arbeit für das DB-Schema werfen. Ich würde gerne etwas dazu wissen, wie man das organisiert.Verteilen eines Datenbankschemas für eine Kalenderanwendung
Was passiert, wenn ein Benutzer ein Ereignis erstellt und Eingaben, die es jeden Montag wiederholt, für immer wiederholt? Wie kann ich all das in der Datenbank speichern? Ich kann keine unendlichen Ereignisse erstellen. Lege ich einfach einen Tisch hinein, der die relevanten Informationen enthält, damit ich berechnen kann, wohin alle Ereignisse gehen? Wenn ja, müsste ich sie jedes Mal berechnen, wenn der Benutzer einen neuen Teil des Kalenders sieht. Was ist, wenn sie die Monate durchblättern, aber sie haben eine Menge wiederkehrender Artikel?
Darüber hinaus muss das Schema behandelt werden, wenn ein Benutzer auf ein Element klickt und sagt "Bearbeiten Sie dieses in der Sequenz" nicht alle Elemente in der Sequenz. Teilt ich dann den einen Gegenstand von der Sequenz?
aktualisieren 1
Ich habe an iCal überhaupt nicht sah. Um es klar zu sagen, ich denke, die Informationen speichern, mit denen Sie die wiederkehrenden Elemente berechnen können, und die Trennung von allen, die sich von der Reihenfolge unterscheiden, ist eine gute Möglichkeit, es zu speichern, um es übertragen zu können. Aber ich denke, dass das in einer Anwendung zu langsam wäre, um die Datums-Mathematik überall zu machen.
"Teilt ich den einen Gegenstand aus der Sequenz?" Ich glaube, so behandelt das iCal-Dateiformat es. Hast du dieses Format überhaupt studiert? –
Was für eine ausgezeichnete Frage, ich habe mich das neulich gefragt. –