Yes/No 逻辑数据库设计中的属性

Yes/No attributes in logical database design

我有一项任务,我必须使用 SQL 开发人员设计逻辑模型。

我正在将概念模型转换为逻辑模型。我有一个关系 NURSE,它有 "nurse_id" 和 "certification"。认证属性有 yes/no 个值。

我的问题是: 我应该将 yes/no 属性移动到新关系吗?还是可以将其保持在相同的 NURSE 关系中。什么是最佳实践。

该属性 (CHAR) 的数据类型是否合适?

谢谢,

将它保存在 NURSE 关系中,因为这样可以很容易地查询有多少护士有证书,有多少没有证书,以及哪些护士有证书。

您可以使用 CHAR(1) 并输入 Y 或 N。如果数据库支持,您可以使用 BIT 数据类型。如果数据库支持,您可以使用布尔值。由于所有主要数据库都有一个 CHAR(1),我只保留它 CHAR(1)

因为认证只有 yes/no 个值,我建议将它们保持在相同的 table 中作为一对一映射。如果一名护士可以获得多项认证,那么另一个 table 将作为多对一或一对多映射很有用。

数据类型,CHAR即可。如果要保存 space 也可以使用 BOOLEAN,然后在应用程序中将其解析为 yes/no。