需要一些关于我的数据库设计的反馈,非常简单

时间:2010-02-26 16:23:19

标签: php mysql database-design

我将允许公司在我的网站上注册并创建工作列表。

我目前正在通过创建名称,徽标和密码字段的公司表来解决问题。然后,当一个人注册时,他可以说,“我属于X公司”;此时,我将请求初始registrator写入的密码。如果她/他输入了正确的密码,则他被允许以公司名义创建职位发布。

为什么我这样做: 如果我只是将所有内容都放在公司表中,那么每个新用户都必须创建一个帐户,我将拥有多余的信息,CompanyName,Logo等。

如果我在没有密码的情况下做事,任何人都可以根据公司名称发布职位,这是错误的。

谨慎分享一些意见?我做错了吗? 怎么做?

4 个答案:

答案 0 :(得分:5)

我会像Facebook的朋友请求那样做“工作请求”,如果用户真的在该公司工作,公司经理只需登录并确认。

答案 1 :(得分:3)

Database Normalization.

创建单独的“用户和公司”表。一个用户可以为多家公司发帖吗?如果是这样,你需要一个多对多的关系(这需要第三个表来跟踪关系)。否则,一对多应该有效。

答案 2 :(得分:0)

您应该创建两个表:

Company:
 - id
 - logo
 ( - name, etc )

User
 - id
 - companyId (foreign key to Company.id )
 - password
 ( - username, etc. )

这样,用户就是companyId标识的公司的子女。现在,如果用户登录,您可以通过查找与companyId对应的公司来识别他/她所属的公司。现在,每个用户都有一个密码,每个用户都有一个公司。

就像吉米所说,如果你需要用户能够成为更多公司的一部分,你会得到:

Company
 - id
 - logo

User
 - id
 - password

Company_User
 - companyId (foreign key to Company.id )
 - userId (foreign key to User.id )

答案 3 :(得分:0)

在我看来你应该创建像

这样的表格

雇主:

     eid(pk)
     logo
     Username
     Password
     profile
     etc....

求职者:

    jid(pk)
    Username
    Password
    etc...

JobPosts:

   id(pk)
   eid(Fk to Employers.eid)
   JobTitle
   Specifications....
相关问题