首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两种类型的订单ERD

两种类型的订单ERD
EN

Stack Overflow用户
提问于 2012-04-24 11:31:12
回答 2查看 1.7K关注 0票数 0

我是数据库设计的新手,我正在尝试为一家药店创建一个ERD,该药店在线销售产品,也接受客户的重复处方订单。

这是我的ERD的链接:http://i.imgur.com/aiKP0.png

我想知道为什么对于两个订单我只能使用一个“支付”和“卡详细信息”实体,所以我每个订单都有两个实体。我是否可以在订单类型实体和支付/卡详细信息实体之间建立关系。

任何帮助都将不胜感激。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-26 01:16:54

我想找一个同时保留Prescription_OrderProduct_Order的好理由。应该只有一个Orders (复数形式,因为ORDER是所有地方的保留字)表,其中Customer_Recurring_Order表(带有引用CustomerProduct的自然键)打破了客户的重复订单的规则,无论它们本质上是不是处方。您的药物属性正确地属于product表中的一条记录。

此外,Card Details表应该正确地链接到一个或多个Customer,因为我非常确定卡的详细信息在功能上依赖于客户的存在。

一旦你清理了它们,你只需要一个PaymentCard Details实体。要记住的一个很好的设计原则是,如果两个实体都具有相同的属性,那么它们可能不是两个不同的实体。

你为什么不把运输信息分成一个单独的实体,Order_Shipment。所有发货是否总是包含客户订单的所有部分?

票数 0
EN

Stack Overflow用户

发布于 2012-04-24 17:49:13

不过,您的设计中存在一些缺陷:

  1. Product OrderOrder Product。开发人员和管理员会疯狂地记住哪个表是用来做什么的。
  2. 不清楚为什么你有2个Card Details?不是将Perscription_PaymentIDProduct_PaymentID列添加到Card Details中,相反,将CardID字段添加到这两个表中。
  3. 我不清楚将CustomerORDER TYPE连接起来的意图。考虑更改名称。

此外,即使编写这个小响应,也很难跟上包含空格、下划线、大小写混合的名称、单数/复数变体的表名/列名。

请看一下这个answer,并考虑使用一些通用方法来命名您的关系、列和约束。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10291377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档