【发布时间】:2019-10-03 04:40:27
【问题描述】:
我正在为我正在开发的洗车应用程序设计一个数据库,我想知道一些事情。该数据库将位于 MongoDB 或 Firebase/Firestore 上。与此同时,我花了很多时间来概念化数据库,这就是我想出的:
我想指出,尽管这种设计包含主键 (PK) 和外键 (FK),但当我实际构建数据库时,它们不会这样表示。相反,它们将只是对外部文档/表格的引用。所以这是我的问题:
- 你们认为最简单形式的数据库设计正确吗?如果不是,我做错了什么?
- 你们认为
OrderDetails、Service、Addons和Order之间的关系构造正确吗? - 应该将
Business连接到Order而不是Service? -
在实际构建数据库(MongoDB/Firebase/Any NoSQL)时,我应该如何表示
OrderDetails?作为Order内的嵌入文档,反之亦然。我有点困惑,这是我的尝试;请让我知道你在想什么。let order = { 'order_id':'jxde5retvggfffgggv', 'customer_id':'hdksjf456jvvhgkk', 'date':'05-14-1985 13:00', 'total_amount':'1500', 'order_detail':[{ 'order_id':'jxde5retvggfffgggv', 'service_id':'ope4fghgi9nnsgu', 'addon_id': '4fhtyucfjfigpq9fh', 'quantity': 20 }, { 'order_id':'jxde5retvggfffgggv', 'service_id':'7reaolmdgfirgt8om', 'addon_id': 'sd2aqerthnnmgdpmb', 'quantity': 35 }] }
[更新 - 2019 年 10 月 5 日] 数据库设计
我刚刚意识到需要清洗的车辆应该是订单的一部分,所以我稍微改变了设计以反映这一点。通过这样做,我仍然可以确保仍然可以从订单中访问客户,因为 customer_id 已附加到车辆。请让我知道你在想什么。
【问题讨论】:
标签: database mongodb firebase database-design nosql