Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Speichern von Kalenderdaten in MySQL

Ja, ich würde mich dafür entscheiden, außer dass ich den Datensatz nicht entfernen würde, wenn die Ausleihe abläuft - Sie werden leicht erkennen, dass eine Ausleihe abgelaufen ist, weil sie in der Vergangenheit liegt, sodass Sie automatisch auch den Verlauf der Ausleihe behalten.

Schließlich gibt es unendlich viele verfügbare Daten, sodass Sie den unterstützten Datenbereich künstlich einschränken müssten, wenn Sie umgekehrt vorgehen (und freie Daten speichern).

In der Zukunft. Und in gewissem Sinne auch in der Vergangenheit.

Außerdem nehme ich an, dass Sie zusätzliche Informationen wünschen, falls eine Dienstleistung gemietet wird (z. B. Name des Mieters), und es gäbe keinen Ort, an dem diese gespeichert werden könnten, wenn das Mieten durch eine nicht vorhandene Zeile dargestellt würde!

Da die Granularität des Mietens einen ganzen Tag beträgt, denke ich, dass Sie eine Datenbankstruktur ähnlich der folgenden betrachten:

Beachten Sie, wie RENTING_DAY PK auf natürliche Weise Überschneidungen verhindert.

Alternativ könnten Sie den RENTING_DAY weglassen und START_DATE und END_DATE direkt in RENTING haben, aber dies würde eine explizite Bereichsüberschneidung erfordern Kontrollen , die möglicherweise nicht ideal skaliert .