Laravel和实体 - 关系模型 - 我应该走多远?

时间:2013-02-07 01:02:14

标签: database entity-relationship laravel eloquent third-normal-form

有些人可能知道ER-Diagrams?数据库模型

例如为: http://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model

所以这是我的数据库模型: enter image description here (翻译:Werkstatt = Garage,Dienstleistung = Service,Kategorie = Category,Bewertung = Rating,bewerten = rate,besitzt = owns,hat = has)

我的问题是:

1)我可以建模多对多关系,一对一,一对多。我需要在需要时使用自己的桌子吗?例如,MANY-to-MANY关系需要一个自己的表。 或者Laravel会通过它的Eloquent ORM来处理这种关系吗?

2)您可以设计一个如此优秀的数据库,例如,不能有NULL值。或者它以适当的方式处理依赖关系或冗余(参见http://en.wikipedia.org/wiki/Database_normalization#Normal_forms)。我应该处理冗余和依赖性,还是Laravel会再次处理这个问题?

所以一般来说我只是想知道,我应该在数据库设计中走多远?我应该尽可能地做好,还是仅仅创建基本实体就足够了?

信息:在这里您可以看到如果数据库未规范化可能发生的后果: http://en.wikipedia.org/wiki/Database_normalization#Free_the_database_of_modification_anomalies

此致

1 个答案:

答案 0 :(得分:0)

在我看来,USER和GARAGE之间应该没有直接关系。相反,一个USER应该链接到RATING(一对多),以及GARAGE到RATING(再一次,一对多)。所以我将评级作为一个单独的表,每个评级都有一个用户ID,一个车库和一个评级。我相信在这种情况下,你不需要一个单独的多对多表,除非你将评级计为多对多表(你不应该 - 评级应该有自己的Eloquent模型,在事实上。)免责声明:我自己只是Laravel的初学者。