我计划创建一个由以下属性组成的数据库
例如,我想输入看门人迈克,他每周三、周四和周日都工作。如何有效地将其输入SQL?我尝试使用数组(例如,work_schedule = 3,4,7)。但是,有什么方法更容易吗?
发布于 2015-10-24 12:13:21
这其实是一个有趣的问题。有几种方法。我可以很容易地想到三个,其中任何一个可能适合在这种情况下。
WorkSchedule为每一天的可能组合,当有人可以工作。WorkerDays表,该表为每个工作人员和他可以工作的每一天都有一个单独的行。中间一个是最“类似SQL”的,因为它是规范化的,并且应该灵活地满足大多数需求。
第三种选择似乎是你要走的路。一种典型的方法是每天存储一个单独的标志:MondayFlag、TuesdayFlag等。
另一种方法是将标志存储在单个列中,使用位掩码来标识您想要的信息。当然,这取决于您正在使用的数据库的比特篡改功能。
如何对数据建模的实际选择取决于如何使用数据。你需要考虑会被问到的工作日问题的类型。
https://stackoverflow.com/questions/33317971
复制相似问题