Sql 市场风格应用程序的用户数据库设计
需要一些最佳实践智慧,因为我不熟悉数据库体系结构。这是一个市场类型的应用程序。我想咨询的主要问题是如何处理用户 我想实现的是买方和卖方帐户共享登录/注册功能和一些特性,但卖方帐户具有销售、接收付款等功能。买方可以发送请求,卖方可以完成请求。基本上,卖家可以做买家能做的一切,但另外,查看和满足请求,并进行销售 我会选择简单的角色,除了卖家在产品和支付信息方面比买家有更复杂的关系。此外,卖家还需要能够公开上市,并拥有公开的个人资料。我不确定拥有一个包含两种用户类型的大表是否是理想的选择 我目前的想法是在基本用户表和卖方表(也可能是特定于买方的表)之间使用多态关联: 用户(买方)Sql 市场风格应用程序的用户数据库设计,sql,ruby-on-rails,database,database-design,Sql,Ruby On Rails,Database,Database Design,需要一些最佳实践智慧,因为我不熟悉数据库体系结构。这是一个市场类型的应用程序。我想咨询的主要问题是如何处理用户 我想实现的是买方和卖方帐户共享登录/注册功能和一些特性,但卖方帐户具有销售、接收付款等功能。买方可以发送请求,卖方可以完成请求。基本上,卖家可以做买家能做的一切,但另外,查看和满足请求,并进行销售 我会选择简单的角色,除了卖家在产品和支付信息方面比买家有更复杂的关系。此外,卖家还需要能够公开上市,并拥有公开的个人资料。我不确定拥有一个包含两种用户类型的大表是否是理想的选择 我目前的想法
- 名字
- 电子邮件
- 加密密码
- (其他身份验证字段)
- 位置
- 职业
- 元标识符
- meta_型
- 名字
- 位置
- 职业
- 等
- 类型
- 描述
- 完整的
- 买方id
- 卖方id
- 描述
- 类别识别码
- 卖方id
对一切可能性都开放。。最好的方法是什么?你听说过多态性吗 您可以创建一个“母亲”类
User
(例如),并创建两个“儿童”类Buyer
和Seller
好的教程假设所有用户都是买家或卖家,但不是两者都是,我会做以下几点,我认为这基本上就是你所建议的: 人 //我实际上有一个角色表,只在PERSON表中包含ROLE_id,但这可能只会增加复杂性,这取决于是否有关于要存储在数据库中的不同角色的数据 卖方 个人识别码 买主 个人识别码 //可能没有买家的任何其他数据,但如果要实现数据库级外键约束,则填充此表将允许您约束实际买家 然后是附加表。如果您使用外键约束来实现数据完整性,那么您将在特定的表(买方、卖方)上约束买方id和卖方id,这不仅保证了对个人的约束
如果人们既是买家又是卖家,然后我可能仍然会使用这个模型,并有一个角色“买方”和“卖方”,但最好添加“买方”和“卖方对人”列,以防您确信这些是您将支持的唯一角色。您可以使用数据库超类型和子类型来表示这种关系 例如,我将数据模型分为两组:用户和角色。一个角色可以是买方或卖方,用户可以拥有零个或多个角色 然后,我将创建以下逻辑实体来表示角色关系: 超类型
- UserRole(这个名称可能太通用了;我建议使用一个更好地反映应用程序中买方和卖方角色的名称)
- 买主
- 卖方
要将用户分配给角色,只需在用户表和超类型(UserRole)表之间创建多对多关系 是的,这正是我的想法:我目前的想法是在基本用户表和卖方表(也可能是特定于买方的表)之间使用多态关联。哦,好的!我刚刚在这里的一个项目中使用了它。检查
管理员
,合作者
,客户
和用户(来自Desive)
。理想情况下,用户可以同时是买家和卖家,更常见的情况是,用户只是一个b