0
在我的网络应用程序中,我有父母和保姆。
保姆将声明工作可用性(时间间隔),将存储在可用性表中。
父母也会以时间间隔表达他们的需求(现在不需要存储)。
所以我设计可用性表是这样的:数据库设计的可用性(时间间隔)表
+------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------------+------+-----+---------+-------+
| user_id | bigint(20) unsigned | NO | MUL | NULL | |
| week_day | tinyint(1) | NO | | NULL | |
| hour_start | varchar(10) | NO | | NULL | |
| hour_end | varchar(10) | NO | | NULL | |
+------------+---------------------+------+-----+---------+-------+
和数据的例子是
+---------+----------+------------+------------+
| user_id | week_day | hour_start | hour_end |
+---------+----------+------------+------------+
| 10 | 0 | 08:00 a.m. | 10:00 a.m |
| 10 | 0 | 02:00 p.m. | 04:00 p.m. |
| 10 | 1 | 10:00 p.m. | 11:00 p.m. |
| 10 | 2 | 09:00 a.m. | 12:00 a.m. |
| 10 | 3 | 03:00 p.m. | 05:00 p.m. |
| 10 | 4 | 10:00 a.m. | 12:00 a.m. |
| 10 | 5 | 12:30 a.m. | 02:00 p.m. |
| 10 | 6 | 12:30 a.m. | 02:00 p.m. |
+---------+----------+------------+------------+
正如你可以看到WEEK_DAY = 0(星期一)保姆可用于两个时隙。
我的问题是:
1)有没有更好的方式来存储这些信息?
2)var_char(10)为hour_start和hour_end列的格式是否正确?
3)是否有一些好处,如果我添加一个ID主列(我不认为我会永远查询)?
4)是它更好,如果我存储用于列WEEK_DAY,hour_start,hour_end以序列化阵列中的所有数据?
hour_start和hour_end应该是timestamp数据类型或浮点数,因此查询更容易。 hour_start和hour_end也可以是从午夜起数秒或数分钟内的整数。根据约定星期一是第一天,星期日可以是第0天或第7天。 – Shiping
是的。不,不。没有。 – Strawberry
MUL?嗯???????? – Strawberry