Sql 实体关系模型
我正在创建一个简单的实体关系模型。在这里,我有一个或多个动物可以得到一个或多个服务。Sql 实体关系模型,sql,sql-server,entity-relationship,Sql,Sql Server,Entity Relationship,我正在创建一个简单的实体关系模型。在这里,我有一个或多个动物可以得到一个或多个服务。 我的问题是连接类型“get”将具有哪些属性。我认为它将获得动物和服务的独特属性,即“动物ID”和“服务ID”,这将是“get”中的外键。典型的多对多关系看起来像一个表,有两列引用两个实体。在您的情况下,它是(实际语法取决于dbms): 有时,通过一些链接属性扩展链接表是有意义的。比如: CREATE TABLE Get ( animal_id INT NOT NULL, service_id INT N
我的问题是连接类型“get”将具有哪些属性。我认为它将获得动物和服务的独特属性,即“动物ID”和“服务ID”,这将是“get”中的外键。典型的多对多关系看起来像一个表,有两列引用两个实体。在您的情况下,它是(实际语法取决于dbms): 有时,通过一些链接属性扩展链接表是有意义的。比如:
CREATE TABLE Get (
animal_id INT NOT NULL,
service_id INT NOT NULL,
service_paid BOOLEAN,
provided_date DATE,
FOREIGN KEY animal_id REFERENCES animal (animal_id),
FOREIGN KEY service_id REFERENCES service (service_id)
)
但一般来说,它只是两个外键。这将用于链接最初在M:N关系中相关的表。请回答下一个问题。这也是get的主键吗@MikeNakisYes,当然。好的,那么“get”将有一个动物ID(PK)、一个动物ID(FK)、一个服务ID(PK)、一个服务ID(FK))@mikenakish我在“get”中的信息将如何转到其他表中?例如,如果我有一个实体“employee”连接到服务,该实体将如何从get获取信息?非常感谢@NLink!
CREATE TABLE Get (
animal_id INT NOT NULL,
service_id INT NOT NULL,
service_paid BOOLEAN,
provided_date DATE,
FOREIGN KEY animal_id REFERENCES animal (animal_id),
FOREIGN KEY service_id REFERENCES service (service_id)
)