Ini untuk proyek pribadi kecil untuk manajemen mikro. Pada dasarnya, saya menyimpan tugas dalam database SQLite3 yang terlihat seperti ini:
id INTEGER PRIMARY KEY AUTOINCREMENT
label TEXT
deadline INTEGER
Jadi setiap tugas memiliki tenggat waktu (tenggat waktu) yang disimpan sebagai Cap Waktu Unix. Sejauh ini bagus, saya bisa membuat entri seperti "besok: kunjungi nenek" dan baris baru akan dibuat dengan "kunjungi nenek" sebagai label dan besok berubah sebagai waktu Unix untuk tenggat waktu.
Sekarang saya ingin memasukkan jenis tugas baru: rutin - tugas yang diulang pada pola waktu, seperti "sehari-hari: dapur bersih". Bagaimana cara tugas-tugas tersebut disimpan atau dimodelkan?
Untuk saat ini, saya berpikir bahwa, dalam kasus tugas yang perlu dilakukan setiap hari, untuk menghasilkan baris baru di meja saya yang akan memiliki label yang sama, dan bidang tenggat waktu bertambah satu hari. Dalam hal ini, saya harus memperbaiki batas di masa depan. Misalnya, jika saya membuat rutin untuk setiap hari, itu membuat baris baru untuk setiap hari dari tahun yang tersisa.
Apakah ada cara yang lebih sederhana untuk melakukan ini? Apakah saya kehilangan beberapa prinsip desain database yang jelas?