问题标签 [datamodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
773 浏览

python - 为什么自定义类型接受 Python 中的临时属性(而内置不接受)?

我想知道为什么能够为自定义类型的实例创建一个新属性(“新”表示“以前未在类主体中定义”),但不能为内置的-在类型上,就像object它本身一样。

代码示例:

0 投票
3 回答
919 浏览

c++ - 智能指针,或“更好”的析构函数

哪种类型的智能指针(共享,作用域)最适合这种数据结构......

结构一:

};

结构二:

我想使用向量存储 Edges 和 PointTopo:

但是析构函数存在问题,所以我想知道是否使用引用计数。

点 p1、p2 将存储在两个列表 tl1、tl2 中。tl2 的析构函数导致异常,点 p1 和 p2 已使用 tl1 析构函数删除。

这个例子不是合成的。想象一下,nl2 代表 nl1 的子集,例如 nl1 的凸包......

我认为,如果没有引用计数就无法解决这个问题......所以我尝试使用一些智能指针......

非常感谢您的帮助...

0 投票
2 回答
2809 浏览

database - 如何使用带有插入/删除的核心数据(或 SQL)维护有序表?

这个问题是在 Core Data 的上下文中,但如果我没记错的话,它同样适用于更一般的 SQL 案例。

我想使用 Core Data 维护一个有序表,用户可以:

  • 重新排序行
  • 在任何地方插入新行
  • 删除任何现有行

最好的数据模型是什么?我可以看到两种方式:

1)将其建模为数组:我将一个 intposition属性添加到我的实体

2)将其建模为链表:我添加两个一对一的关系,nextprevious从我的实体到自身

1)使排序变得容易,但插入或删除很痛苦,因为您必须更新position之后的所有对象

2)使插入或删除很容易,但很难排序。事实上,我认为我不知道如何ORDER BY为这种情况表达排序描述符(SQL 子句)。

现在我可以想象1)的变化:

3) 向实体添加一个 intordering属性,但不是让它一个一个计数,而是让它计数 100 乘 100(例如)。然后插入就像在前一个和下一个现有对象的顺序之间找到任何数字一样简单。只有当 100 个孔被填满时,才需要进行昂贵的重新编号。使该属性成为浮点数而不是 int 会使它变得更好:几乎总是可以在两个浮点数的中间找到一个新的浮点数。

我在解决方案 3) 的正确轨道上,还是有更聪明的方法?

0 投票
1 回答
8512 浏览

database-design - 社交网络设计中用户和帐户对象的区别?

我正在为社交网站构建数据模型,但不知道如何为用户和帐户建模。

1) 用户注册并创建一个帐户。因此,我们在我们看到的大多数社交网站上为用户分配了一个用户 ID,该用户 ID 是相同的个人资料 ID。现在也是帐户ID吗?或者是否还隐藏了单独的帐户 ID?如果用户可以有多个配置文件,那么用户 ID 与帐户 ID 是分开的,而帐户 ID 与每个配置文件 ID 是分开的?

2) 我们假设 1 个用户只有 1 个帐户。但是,当用户正在编辑他的帐户或假设管理员正在编辑用户的帐户时,那么​​用户正在编辑一个帐户,因此需要两个单独的 ID 来对此进行建模?

3) 用户和帐户对象的生命周期是多少?如果用户关闭了他的帐户,这意味着用户和帐户对象都被杀死了吗?

4) 谁拥有用户个人资料详细信息、用户设置、隐私、朋友等?user对象还是Account对象,哪个对象更高级?

5)有用户可以创建/管理的系统对象,如照片、视频等,那么这些是用户拥有的还是帐户对象拥有的?

6) 究竟是什么造就了一个物体?假设我们有状态更新、评论、个人资料详细信息。这3个对象?或者都被认为是一种类型的对象,只有 3 个类别?

0 投票
4 回答
6011 浏览

java - REST 和 JAVA JPA

我试图理解一些没有正确记录的项目的代码。我是唯一从事这项任务的开发人员。我没有太多经验。有一个数据模型,并且有一些类可以访问它。有人提到数据模型上面有一些休息 api。但是当我看到代码时,我可以看到 getter 代码,它对一些 uri 进行了一些休息调用. 但是我查看了setter它具有用于持久化对象的普通 jpa 的方法。前任extitymanger.persist(objname).

现在是否可以使用 REST 接口来获取数据并使用 JPA 来持久化数据?

0 投票
2 回答
180 浏览

c++ - 数据模型,循环引用

我有以下用于存储经络和纬线的数据结构。

每个制图点存储:
A] 地理和空间坐标、制图变形等。
B] 指向北/南/东/西节点的指针。

它允许存储点之间的关系,首先是它们与经线/平行线的关系...

经线的数据结构存储经线的经度、经线的起点和终点以及点数。

所有点都存储在节点列表中:

但是为 Node2DList 编写复制构造函数存在一个大问题。Meridian/Parallel 和 Node2Dlist 之间存在循环依赖关系。

复制构造函数使用std::map并用新的点和链接替换旧点和链接,这不是实现问题...但是从类 Meridian 开始/结束的指针指向旧 Node2DList 的点... Node2DList 复制构造函数应该通知所有指向旧的经络Node2DList 点并将所有指针更改为新的 Node2DList 点。这个模型不允许。

可能的解决方案是添加两个指向子午线和平行点所属的指针:

恐怕这个提议的模型不好。两个班级之间仍然有自行车参考......有人可以帮我改进它吗?谢谢...

0 投票
2 回答
1225 浏览

datamodel - ExtGWT-GXT,我如何定义一个从 BaseModel 扩展的类?

我已经阅读了一些教程、文档,但我不知道如何定义从 BaseModel 或 ModelData 扩展的类?具体来说,我不知道如何命名 getter 和 setter 方法以及方法内的值。有任何代码约定吗?例子:

在“Appress Developing with ExtGWT”中,他们说:“ModelData 允许小部件查询数据对象,而无需对任何特定数据类型提供具体支持,从而提供与模型和视图的分离”。

我可以推断出,而不是创建一个像这样的实例:

Foo foo= 新的 Foo(); foo.getName();

我可以调用“getName()”吗?

0 投票
3 回答
277 浏览

java - 模型对象是否应该灵活

[对不起,工作是专有的,所以我不能提供对象的细节]

我正在与一位同事一起开发 Java 应用程序。我在做客户端,他正在编写服务器代码。

该应用程序显示一个 X 对象表。表中的列显示了 X 的一些属性。此外,我们有一列显示每个 X 的 Y 计数。(关联是 Y 到 X 的多对一,一种方式是,Y 引用其父 X)。

Y 的计数不是 X 的属性,而是通过对 DB 的查询获得的。

我正在使用 TableModel,因此使用 X 对象作为表格的模型显然会更容易。但是由于 Y 计数不是 XI 的属性,因此需要创建一个容器对象来保存 X 加计数。这很烦人,因为它添加了一个似乎不必要的类。

我建议我的同事在 X 中添加一个额外的字段和一个 getter:

私人无效地图信息=新HashMap();

这将使模型对象 X 更加灵活。我可以随时在客户端中存储我需要的任何状态,而不会影响模型的主要属性,这些属性特定于 X 的性质。键只会在客户端中定义,因此模型不会被污染。

他拒绝了,因为他认为模型对象应该只对领域进行建模,而额外的字段与领域对象无关,因此不应该添加。他认为客户应该处理这个问题。

这两种观点似乎都有优点,所以我会对其他读者对此的看法/感受感兴趣。

谢谢,

蒂姆

0 投票
1 回答
1883 浏览

visual-studio-2010 - 我在 VS2010 中找不到模板 ADO.NET 实体数据模型

在 VS2010 中,我无法从数据部分找到模板 ADO.NET 实体数据模型。我在做:

  1. 使用网站创建一个 silverlight(第 4 版)项目
  2. 右键单击Web项目,添加->新建项目->数据部分(实际上,我每个都尝试过)

但是我找不到!!有点奇怪!

然后,

  1. 我试图重置我的 VS 模板,它没有工作
  2. 尝试重新安装 VS2010,我收到“成功”消息。我也确信 ADO.NET Entity Framework 已经正确安装。

那么,我还能做些什么吗?我可以将此模板安装到 VS 吗?

0 投票
1 回答
136 浏览

core-data - CoreData - Data Models

Having created an entity, and run the app successfully, I realised I had missed something out of it. I added the new attribute and now get an error regarding different data models, unable to open, SIGABRT (to paraphrase, but I think you get the picture). How do I go about resetting the data model, or will I have to create a new entity? If the latter is true, it seems very inflexible as I have deleted all of the data I saved from within the app.