首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为存储业务上下文绘制实体关系图

为存储业务上下文绘制实体关系图
EN

Database Administration用户
提问于 2017-10-02 20:02:33
回答 1查看 802关注 0票数 2

我有一个名为User的实体,具有属性Id、名称和电话号码。目标是开发一个实体关系图(ERD表示简洁),其中用户可能是商店出纳员,也可能是客户。

  • 出纳员有属性、位置和工作时间。
  • 客户具有信用、历史和金额的属性。
  • 出纳员也可以是顾客。
  • 只有出纳员才能将客户添加到商店的数据库中。

问题

要发展可包括角色的雇员再培训计划是很容易的,但我又如何在雇员再培训中执行以下条件呢?

  • 只有出纳员才能将客户添加到商店的数据库中。
EN

回答 1

Database Administration用户

发布于 2017-12-12 16:59:10

首先:(出纳员也可以是顾客)

在这种情况下,您可以在出纳实体和客户实体之间使用名为“也可以是”的1到1关系。并将客户P.K作为F.K传送给收银员。这个F.K (客户出纳的外键)也可以是空的,并且应该是唯一的。

编辑:(基于@RDFozz通知)

我们可以在出纳和客户中使用类似的User_ID来显示出纳员也可以是客户。

其次:(只有出纳员才能将客户添加到商店的数据库中)

这意味着每个客户都有一个创建者,并且应该是一个出纳员。所以在收银员和客户之间有一对多的关系,叫做“创建者”。所以,你应该把收银员P.K作为F.K传送给客户。此F.K (客户中显示创建者id的出纳外键)不应为空。

第三:(只有出纳员才能将客户添加到商店的数据库中)

我们不能把我们项目的所有业务逻辑都投入到ERD中。因此,我们创建业务层或业务逻辑层(BLL),或者有时使用增强的SQL编写一些存储过程或函数(这些存储过程或函数有IF、循环等等)。

如果我们把收银机的P.K作为F.K存入客户,并防止它为空,那就足够了。您的插入客户应该有一个出纳ID要做。

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

https://dba.stackexchange.com/questions/187475

复制
相关文章

相似问题

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