Database design 如何对这种数据库关系建模?(sybase powerdesigner) 我正在用Sybase PowerDesigner做一个概念模型。 限制如下: 一名医生在其工作时间(轮班)内一次只能在一个办公室工作。 我想医生和办公室的关系应该很多很多,但是你呢 时间限制(“在其工作时间内”)? 这应该是一次新的换班吗? 所以我想我应该有四张桌子(医生、办公室、轮班和办公室时间表)。 OFFICE SCHEDULE应该是一个连接所有其他3个实体的表 并且应该有复合主键(id\u医生、id\u办公室、id\u班次)?

Database design 如何对这种数据库关系建模?(sybase powerdesigner) 我正在用Sybase PowerDesigner做一个概念模型。 限制如下: 一名医生在其工作时间(轮班)内一次只能在一个办公室工作。 我想医生和办公室的关系应该很多很多,但是你呢 时间限制(“在其工作时间内”)? 这应该是一次新的换班吗? 所以我想我应该有四张桌子(医生、办公室、轮班和办公室时间表)。 OFFICE SCHEDULE应该是一个连接所有其他3个实体的表 并且应该有复合主键(id\u医生、id\u办公室、id\u班次)?,database-design,sybase,powerdesigner,Database Design,Sybase,Powerdesigner,这把钥匙(id_医生、id_办公室、id_班次)允许医生在一个班次内在多个办公室工作。请尝试将医生和值班办公室表作为一个相关字段的键。但是,这将允许一个办公室在一个轮班中有多个医生,我不确定这是否允许。该键(id\u doctor,id\u office,id\u shift)将允许一个医生在一个轮班中在多个办公室工作。请尝试将医生和值班办公室表作为一个相关字段的键。但是,这将允许一个办公室在一个班次中有多个医生,我不确定这是否允许。我会将您的主键更改为仅包含办公室和班次,但也会在医生和班次上添

这把钥匙(id_医生、id_办公室、id_班次)允许医生在一个班次内在多个办公室工作。请尝试将医生和值班办公室表作为一个相关字段的键。但是,这将允许一个办公室在一个轮班中有多个医生,我不确定这是否允许。

该键(id\u doctor,id\u office,id\u shift)将允许一个医生在一个轮班中在多个办公室工作。请尝试将医生和值班办公室表作为一个相关字段的键。但是,这将允许一个办公室在一个班次中有多个医生,我不确定这是否允许。

我会将您的主键更改为仅包含办公室和班次,但也会在医生和班次上添加单独的唯一约束。

我会将您的主键更改为仅包含办公室和班次,但也要在医生和班次上添加一个单独的唯一约束。

办公室时间表的主键应该是(id\u OFFICE,id\u shift)。id_doctor应该在表中,但不是主键的一部分。这将强制执行一项规则,即给定一个办公室和一个班次,该办公室最多只能有一名医生


当然,除了构成主键的两个外,这三个都是外键。

办公室日程安排的主键应该是(id\u OFFICE,id\u shift)。id_doctor应该在表中,但不是主键的一部分。这将强制执行一项规则,即给定一个办公室和一个班次,该办公室最多只能有一名医生


当然,除了构成主键的两个外,这三个都是外键。

您将使用什么数据库?这可能会改变你处理这件事的方式。另外,办公室日程安排是否与办公室有1:M(或M:M)的关系?如果是1:1的关系,那么办公室时间表应该是办公室表格的一部分Ms SQL当不得不将多对多关系(医生办公室)分离到一个单独的表格中时,我有点困惑,但我认为办公室-办公室时间表应该是1:MTnay,Power designer允许您创建一个概念模型,在该模型中,您可以对实体和关系以及属性和域进行建模,但不依赖于要在哪个数据库上实现。稍后,您可以选择一个DBMS(或多个!)并转换为物理模型(或多个!)。事实证明,在某些情况下,这是非常强大的。之后我将转换为物理模型,我将使用MS SQL 2000,您将使用什么数据库?这可能会改变你处理这件事的方式。另外,办公室日程安排是否与办公室有1:M(或M:M)的关系?如果是1:1的关系,那么办公室时间表应该是办公室表格的一部分Ms SQL当不得不将多对多关系(医生办公室)分离到一个单独的表格中时,我有点困惑,但我认为办公室-办公室时间表应该是1:MTnay,Power designer允许您创建一个概念模型,在该模型中,您可以对实体和关系以及属性和域进行建模,但不依赖于要在哪个数据库上实现。稍后,您可以选择一个DBMS(或多个!)并转换为物理模型(或多个!)。事实证明,在某些情况下,这是非常强大的。之后我将转换为物理模型,我将使用MS SQL 2000确定,然后您需要另一个唯一的密钥id_office,id_shift在同一张表上确定,然后您需要另一个唯一的密钥id_office,id_shift在同一张表上,但随后医生可能在两个办公室进行同一轮班。对于“办公室时间表”表,您需要两个唯一的约束,但是医生可以在两个办公室进行相同的轮班。office明细表需要两个唯一的约束 I'm doing a conceptual model in Sybase PowerDesigner. The restriction is following: One doctor can work in only one office at a time during his working time (shift). I guess Doctor - Office relationship should be many-many, but what about time restriction ("during his working time")? Should it be a new table SHIFT? So I guess I should have four tables (DOCTOR, OFFICE, SHIFT and OFFICE SCHEDULE). OFFICE SCHEDULE should be a table connecting all 3 other entities and should have composite primary key (id_doctor, id_office, id_shift)?