哪种数据库类型适合数组?

Ada*_*han 0 php database database-design database-connection

我希望我的数据库支持一个拥有许多用户的公司我该怎么做?
示例

用户表(UID,用户名,密码)
公司表(CID,companyname,usersthatistheownerofthecompany)

我该怎么做?我该怎么办 ?我应该在PHP中制作一个像1241,423,4123*uid的数组,它将被插入到公司行的用户那里?或者有更好的主意吗?

Pas*_*TIN 10

如果您希望每个用户拥有一个(并且从不更多)公司,您应该:

  • user
    • uid
    • username
    • ...
    • company_id
  • company
    • company_id
    • company_name
    • ...

然后,user.company_id将是一个外键,引用company.company_id.

然后,你存储:

  • user每个用户 一行
    • 引用该用户的正确公司的ID
    • 这是表中company_id右边的行company.
  • 并且每家公司都有一条线路 company

公司表中没有存储用户的相关信息 - 并且当每个用户"指向"公司时,公司可以拥有多个用户.


像你建议的那样将数据存储为数组绝对不是一个好主意 - 只是不是关系数据库的工作方式.


如果每个用户可以拥有多个公司,并且每个公司可以拥有多个用户,则必须添加第三个表(连接表),该将针对每个用户指示他们是哪个公司.附:

  • user
    • uid
    • username
    • ...
  • company
    • company_id
    • company_name
    • ...
  • user_company
    • uid
    • company_id

在这种情况下,company表中没有与用户相关的东西,表中没有与公司相关的东西user:它们之间的链接在user_company表中.

当然,user_company.uid将是外键的user.uid; 并且user_company.company_id将是一个外键来company.company_id.