看了一些教程之后,我觉得我对关系one to many
和基数仍然感到困惑many to many
。我试图在这里练习一个小例子,我知道我的设计在基数方面是错误的,这些实体之间的正确关系是什么?当我有这样3台关系,我会感到困惑FilmPeople
和FilmGenre
关系看起来不错。虽然有一些问题。
People
表命名为,Person
因为在其他任何地方都没有复数命名。FilmDirector
表为Director
。有关原因,请参阅下一点。一旦完成,该Director
表就不会有film_ID
列。FilmDirector
和之间的关系Film
是逻辑上的多对多关系。如果在数据库物理创建关系,它通过Film
- >FilmDirector
和Director
- >FilmDirector
与表Film
到FilmDirector
一个一对多并Director
以FilmDirector
一个一对多的关系。FilmDirector
表连接Film
和Director
表建立多对多关系。因此,我建议将您的FilmDirector
表命名为,Director
以便可以将连接表正确命名为FilmDirector
。这种连接表是多对多关系所必需的,因为不可能将多个外键引用的值放在一个表行中。对于一个表中的每一行与另一表中的多行相关的条目进入连接表。在此示例中,将一个Film
与多个Director
s相关联,我们在FilmDirector
表中创建了多个条目。同样,为了将一个Director
与多个Film
s相关,我们在FilmDirector
表中进行输入。Film
,FilmGenre
且Genre
是物理许多一对多之间Film
和Genre
。如果您的模型是逻辑模型,则不应将其显示为3表关系。如果模型是物理模型,则应以3表关系的形式显示Film
并进行Director
多对多。因此,决定要显示物理模型还是逻辑模型并相应地更改模型。希望我的解释很清楚!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句