首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据模型设计与领域模型设计

数据模型设计与领域模型设计
EN

Stack Overflow用户
提问于 2009-06-17 01:13:22
回答 3查看 1.4K关注 0票数 1

我在试着模拟一家杂货店。商店里有几个“过道”。每个“过道”有一组“类别”的“物品”它存储。每个“类别”只能属于一个“过道”。每个“项目”只能有一个“类别”。

在我看来,数据模型似乎是直接的:

  • :一个带有ID的“走道”表和一个带有ID、名称和AISLE_ID的描述
  • A“分类”表,该表引用“走道”表
  • --一个带有ID、名称、描述和引用“

”类别的CATEGORY_ID的"item“表。

对象模型是我需要帮助的地方:

  1. 是一个过道对象,可以在其中包含一个类别和项对象的列表。过道对象
  2. 可以有一个分类对象列表。类别对象可以在其中包含项目对象的列表。
  3. 过道可以有一个项目对象的列表。类别对象可以有一个项目对象列表。

在每种情况下,一个项目在逻辑上都会有一个分类对象。对于每个域对象,我都有一个DAO,因此根据其完成的方式,sql略有变化。有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-17 01:28:57

我投票赞成第二种选择,比第一种或第三种更合理。

你认为这种关系应该是双向的吗?一个项目是否需要知道它的父类和祖父母通道是谁?

票数 1
EN

Stack Overflow用户

发布于 2009-06-17 01:34:50

我会选择第二种选择。

过道的主要关注点是其中包含了哪些类别。应该由类别类来确定哪些项是成员。这使抽象级别在每个对象中保持一致--其中通道是较高级别的对象,类别是稍微详细的级别,项是最细的级别。

票数 1
EN

Stack Overflow用户

发布于 2009-06-17 01:37:53

如果只有3种选择,那么第2条就更有意义了。

我想,如果我要创建这个模型,我会使用以下模型(小小的修改,只是尽量接近您的想法):

一个过道对象可以有一个类别对象列表,一个类别对象可以在其中包含一个项目对象列表,和一个项目与一个类别和一个过道相关联。

我的修改似乎更多的是在数据方面。

我会这么做的原因是,有人说“嘿,我在找这个东西,它在哪个通道?”然而,使用您的数据模型,您将需要两个查找。

至少我是这么想的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1004640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档