sqlite固定选择和自由选择

sqlite固定选择和自由选择,sqlite,Sqlite,我正在尝试建立一个包含不同处理时间的数据库。因此,在我的主表中有一列“time”,我想在其中输入进程的时间。时间可以是固定的时间选择,保持不变,例如。 08:00、12:00、18:00或每天仅3次(确切时间并不相关) 或 每天6:00、20:00或2次 或者它可以是用户确定的时间(时间相关的地方!),例如。 09:00,10:30,11:00 我的问题是,如何将其放入sqlite数据库?固定时间可以在主表的“时间”字段中使用不同的表和外键。但是我应该如何引入用户决定的部分呢 另一方面,我可以使

我正在尝试建立一个包含不同处理时间的数据库。因此,在我的主表中有一列“time”,我想在其中输入进程的时间。时间可以是固定的时间选择,保持不变,例如。 08:00、12:00、18:00或每天仅3次(确切时间并不相关) 或 每天6:00、20:00或2次

或者它可以是用户确定的时间(时间相关的地方!),例如。 09:00,10:30,11:00

我的问题是,如何将其放入sqlite数据库?固定时间可以在主表的“时间”字段中使用不同的表和外键。但是我应该如何引入用户决定的部分呢

另一方面,我可以使用一个独特的表,该表包含自己行中的所有时间,并使用主表的外键连接所有相应的时间。但这并不真正适合固定的时间


在我看来,这些解决方案都不让我满意。

SQLite根据您保存的值的大小,将整数数据存储在1、2、3、4、6或8字节中。因此,如果您想使用键/值系统,您可以。您可以制作一个时间查找表,其中一个小的字节大小的数值表示您想要的任何类型的时间对象,例如:

Time (table)
index time type
1     08:00  fixed
2     12:00  fixed
3     18:00  fixed
4     06:00  fixed
5     20:00  fixed
6     09:00  free
7     10:30  free
然后是加工时间(表):

进程时间表中的值将存储为单字节(假设不同的时间少于256次),索引超过255的时间将存储为双字节


SQlite的快速查找功能可以让您在提取处理器时间的值时提取时间的值,这样您的数据库就会更小。

为什么数据库需要知道时间是否是固定时间?我认为保持数据库小是一个很好的解决方案!?-这意味着您只需将每一个时间放在一行中,如果程序向数据库添加一个新的“一天3次”条目,那么程序会将其拆分为正确的时间并保存?
timeIndex  processTime
3           24
7           22543