MySQL模式建议

时间:2018-07-07 18:15:15

标签: mysql database-design

我编写了一个系统,可以使用基本日历,一些Jquery和MySQL在朋友之间自动交换和更改工作班次,我只是想问一个问题;当前在表中存储和访问数据的方式是完全错误的吗?

  1. 用户表:

    • UID,AI(PK)
    • 电子邮件,VARCHAR(240)
    • 密码,VARCHAR(64)
  2. 班次表:

    • UID,AI(PK)
    • user_ID,TINYINT
    • shift_type,TINYINT
    • 状态,TINYINT(0 =“活动”,1 =“已删除”,2 =“可交换”)
  3. Shift_types表:

    • ID,TINYINT(PK)
    • shift_name,VARCHAR
    • shift_start,VARCHAR(dd / mm / YY ss:MM:hh)
    • shift_end,VARCHAR(dd / mm / YY ss:MM:hh)
  4. 交换报价表:

    • UID,AI(PK)
    • shift_id,INT
    • user_id,INT
    • 状态,(0 =“打开”,1 =“关闭”)

当前,我只是使用一堆笨拙的INNER JOINS来获取每个人的活动班次交换列表,包括在同一表上进行多次联接以获取有关交换人和请求交换人的信息。 / p>

我的问题是,是否有一种更有效的方法来加入此类信息,或者我在处理方案时都错了?

只有10个人,所以它不一定是完美的,但我正在尝试将其用作学习体验。

0 个答案:

没有答案