我正在编写一个数据库,将护理人员与客户进行匹配。护理人员拜访客户并协助他们穿衣等。所以护理员桌上有信息,例如他们驾驶的性别等等。如果客户需要女护理员,那么我会检查相关护理人员的性别所有男性照顾者都将被排除在外。我用我的桌子开始沿着这条路走下去,但很快发现有很多问题和答案的组合。
我不知道这是否需要多对多的关系,但我有点失败了。 我们将非常感激地提供任何帮助。
答案 0 :(得分:1)
您应该使用bridge entity来消除Carer
和Client
表之间的多对多关系。此Transaction
表还允许您向该实体添加其他基于交易的信息,例如Driver
等......不属于Carer
或{ {1}}。
这样的事情:
<强>看护强>
Client
<强>客户端强>
Carer_ID PK
Name
Gender
Address
Vendor_ID FK -- Assuming your individual carers are part of a network
etc... Other Carer based details
<强>交易强>
Client_ID PK
Name
Address
Gender
etc... other Client based details
作为后续行动 ......我个人不同意那些推荐Entity-Attribute-Value设计的人。 EAV可能适用于前端应用程序中的基本查找值,但基于整体数据库设计是一个非常糟糕的想法(出于完整性和维护原因)。遵循标准的关系database normalization实践并为每个主要角色创建实体表要好得多。