我是核心数据的新手。我正在试图理解如何为这个应用程序设计数据模型。我正在试图理解这个应用程序的数据模型。
我必须为图书创建一个数据库。
Books have the following characteristics:
.englishName
.italianName
.frenchName
.spanishName
.number
书籍可以是两种:免费或非免费。 书籍可以单独出售或捆绑销售。 捆绑可以代表一堆书。 一本书可以包含在一个或多个包中。
我需要什么:
我怎么想象这可以做到:我会创建3个实体:捆绑产品,产品和类型,并制作所有产品捆绑,我的意思是捆绑一个产品或多个产品。
Bundle
.Number
.Paid
-relation to product (fromBundle) to-many
Product
.nameEN
.nameIT
.nameFR
.nameSP
.Number
-fromBundle (relation to Bundle) to-many
-fromType (relation to Type)
Type
.kind
-relation to Product... to-many
但我不确定这不是方法,只是因为没有办法在所有4种语言中定义包名称,如果我将这些属性添加到包中,我将以大量冗余结束... < / p>
请帮助meeeeeee!感谢。
答案 0 :(得分:1)
通过介绍产品和类型,您可能会过度复杂化 - 您真正需要的只是Book和Bundle实体,它们之间存在多对多关系。然后,处理您提交的用例:
free
属性设置为适当的值(或price
值为零或非零,具体取决于方式你正在存储这个属性)[bundle books]
- 多对多关系直接为您提供此paid
这样,您可以在Book本身上保留四个名称属性而不用担心它们(除非您必须命名Bundles,但这些名称应该是不同的名称)。此外,它在概念上很简单 - 您不必担心产品的精确构成或这种方式的语义。