ora*_*e14 4 mysql database postgresql database-design
我很困惑,我在互联网和 SO 上阅读了很多,但我无法弄清楚。在这个设计中,可扩展性对我来说是一项重要的任务。
我正在制作一个门户网站,人们可以在这里出售他们的食物或可以去这个门户网站购买食物。
我正在考虑以下 3 个选项:
我创建了一个 User 表,主要是为了安全,因为我不希望机密数据驻留在 Customer 或 Cook 表中。
问题是厨师也可以是顾客。
我正在考虑方法 1。我如何对其进行建模。我是否使用递归方法。递归方法适用于员工和经理的想法(标准教科书示例),但在这里似乎很奇怪。
在方法 2 中,我使用 1 张桌子,我不区分厨师和顾客。不明确这一点,不知何故似乎是一个坏主意。
方法 3 是可能的,但我无法在脑海中思考它是如何工作的
一个用户表是这样的:
一个客户表是这样的:
我建议使用三表方法来分离特定于每个角色的数据。
用户和客户(或用户和厨师)之间的关系是一对零或一的关系。因此,对于每个用户,可能有一个 Customer 或 Cook 记录,或者如果用户履行这两个角色,则两者都有。
此处制作的图表:https ://app.quickdatabasediagrams.com/#/schema/t_JngpUcm0-w_dbnW3FzsA [免责声明:我为 QuickDatabaseDiagrams 工作]