1
2
“我只想再添加一件事,您建议我为每种用户类型都创建一个表…我更喜欢这种方法,但是我如何设计一个模式,在这个模式中,我可以说用户ID 7(admin)向用户ID 537(client)发送了一条消息?或者用户ID 70(公司)收到付款? 没有什么可以阻止你这样做。有一个表发送者-接收者消息(-id)和主键,所有三个属性和两个FK发送者和接收者。fk是指表的主键,它保存所有用户的公共属性。 现在,您的下一个问题可能是,“但我想有一条规则,X类型的用户不能直接向Y类型的任何用户发送消息”。 这就是任何电流 实施 关系型数据库管理系统的缺点。即使是Oracle或DB2也不能做到这一点 宣言地 . 关于这个问题,我实在是说得太多了,不适合这个回答。 顺便说一句,你似乎对我的反应很感兴趣,尽管我投了很多反对票。真的很感激。 |
2
5
我想这是一个完美的例子 inheritance . 将公共属性放在一个表中,然后继承该表为不同的用户类型添加自定义属性。 混乱的答案对我来说似乎有点混乱,如果你事先不知道你需要存储什么样的财产,这将是有用的。 |
3
2
请看一下在企业应用程序体系结构模式中实现这一点的三种方法: http://martinfowler.com/eaaCatalog/singleTableInheritance.html http://martinfowler.com/eaaCatalog/classTableInheritance.html http://martinfowler.com/eaaCatalog/concreteTableInheritance.html 选择取决于4种类型的用户实体将共享多少属性,还取决于系统需要的用例。 |
4
-2
|
Michael Samuel · MYSQL在以下情况下自动创建索引 6 年前 |
Patricia Rozario · 数据库设计确保一对一关系 6 年前 |
dryhay · MySQL“多对多”关系错误 6 年前 |
L. Fox · 我在这里用的是什么样的Laravel雄辩的关系 6 年前 |
Geoff Harper · 我应该如何构建关系松散的SQL db 6 年前 |
waroxx · SQL—当多个表具有相同的列时,最好怎么做 6 年前 |
Lumpi01 · SQL 2不同的注释类型-最佳解决方案? 6 年前 |
Hayreddin Tüzel · 预约系统数据库建模[关闭] 6 年前 |