数据库设计问题...预订应用程序

时间:2013-08-29 14:58:16

标签: mysql database

我有4个表,一个是凭证(它包含ID,电子邮件和密码),另外两个是商业用户和应用的常规用户。 业务用户表包含crID(外键)名称,姓氏,地址等... 常规用户表包含crID(外键),名称,姓氏等...

第4个是预订表,它包含bookingID,预订,预订,(最后2个是指向凭证表的外键)。

如果普通用户在网站上注册并关闭了预订表并存储在预订表中,则他的姓名,姓氏存储在常规用户表中,而他的凭证存储在凭证表中。

业务用户表只保存由普通用户进行预订的业务用户。

这是一张图: db image

问题是如果普通用户没有选择网络进行预订但是打电话该怎么办。业务用户也可以选择“手动”进行预订。我在如何将其集成到数据库中时遇到了困难。

我认为我需要做以下事情:

  1. 在预订表中创建预订位置
  2. 在常规用户表中创建一个新的常规用户条目,同时创建另一个列,指示用户是否已注册。
  3. 在凭证表格中创建一个条目,但没有密码/电子邮件,因为他不会是注册用户......他只是使用手机进行了预订。
  4. 你的意见是什么。如果你想要我发布一些show create语句。我想我已经说明了一点。

1 个答案:

答案 0 :(得分:2)

我个人会将business usersnormal users和可选的credentials合并到一个users表中。

由于我认为您的用户不需要两个单独的表格,因此可以大大简化您的数据模型。您只需要一个标志来确定用户是业务用户还是普通用户。

对于其他人,我认为拥有空密码足以确定用户是否尚未注册。