问题标签 [data-modeling]

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 回答
125 浏览

database-design - 关系数据库的域继承 - 寻找一个工作数据库模型

这个问题的重点主要是在给定对象模型的情况下开发一个关系数据库方案。

系统的这一部分涉及资源(不同类型的员工和承包商)对活动(项目或帐户)进行的基于时间的分配。数据输入是每周一次,域模型必须验证每周输入(每个资源大约 5 个,有 200 个资源),然后才能持久化它们。来自数据库的查询必须支持按活动和资源对分配的批准/分析。

我已经在系统的简单部分中使用了 NHib (& FNH),因此我的主要关注点是充实领域模型必须做出的其他让步,以便持久使用这些工具。例如:
1) 本来不是虚拟的属性是虚拟的
2) id 生成(作为基类的实体被自动映射以生成 ID (int)

以下是感兴趣的领域类,为了演示目的进行了测试:

这是我扔掉的初始数据库结构,在这里寻找反馈:

)

)

)

我还没有为特定的继承映射方案(即每个类的表等)而努力,而是希望获得一个可以工作的起始数据库模型(即使不是最佳性能)。我已经痛苦地意识到,相比之下,数据库技能让我的编程技能看起来很棒,所以欢迎所有建设性的反馈和问题!

干杯,
贝里尔

0 投票
2 回答
703 浏览

ruby-on-rails - Rails 的数据建模问题

我有以下实体。

  • 用户
  • 事件
  • 费用
  • 客人

用户是在我的网站上注册的人。事件是特定用户可以创建然后邀请人们(其他用户)的东西。费用由特定用户为特定事件创建,并且可以与该事件的其他用户/客人相关联(如用户 A 为用户 B 和用户 C 和客人 D 购买了东西)。来宾也由特定用户为特定事件创建,但一旦为事件创建,与该事件关联的其他用户可以看到来宾。客人永远不会真正登录系统......它只是可能参加过活动但未在网站上注册的人的占位符。

我试图围绕这些实体的has_many和属性来思考。belongs_to

这几乎就像在我的多对多关系表中一样,我需要另一列来标识人(用户或客人)的“类型”,以便我可以正确加入以相应地从用户和客人表中提取姓名等。

我曾考虑在用户表中创建一个标志,说明该记录是否为来宾(因此不需要该来宾在站点上注册、登录等),但这似乎不是很干净。

任何想法都非常感谢。

谢谢!

托马斯

0 投票
2 回答
1520 浏览

php - MySQL data modeling: Multiple user types / Activity / Following

I have a project in which there is a site with multiple user types. And I am having trouble wrapping my head around the best practice for this.

I want to be able to get activity from (nodes) you follow regardless of node type. Pretend the node types are:

User: Organization:

An organization will be an entity that can act as a user. Write comments, send messages. But an organization is made up of users who can edit the orgs information. Organizations can also follow, and be followed.

  • A) Should Users and Organizations be separate tables?
  • B) Generally speaking how should this be stored.
  • C) If they are in fact 2 tables, how does a join work when getting activity from those you follow?
0 投票
2 回答
401 浏览

sql-server - 在哪里可以找到创建 EAV 模型的 SQL 语句?

或者,有人知道我在哪里可以获得 Erwin 的 EAV 模型吗?

0 投票
2 回答
557 浏览

data-modeling - 分布式数据模型

我在现场机器人领域工作,我们有一个中央服务器跟踪与车辆状态、环境状态、任务、任务分组等有关的一大堆数据。有处理这些数据的不同部分的过程,以及需要在特定部分发生变化时更新的用户界面。

我想要的是一种系统连接到中央服务器并订阅部分数据的方式。他们将所有数据通过管道传输给他们,并在发生更改时发送任何更改。此外,我希望能够提名某些更新可以合并:如果车辆移动了 3 次,但连接的 UI 没有太多带宽,而不仅仅是发送最新的位置。

目前我正在考虑一个内存数据库,它跟踪客户端订阅查询并计算发送给他们的增量。是否有更好的方法或现有的解决方案来分发数据模型?

0 投票
2 回答
265 浏览

database - 哪种数据模型存储策略?

我正在尝试为数据模型的存储提出一个好的设计。语言是 python,但我想这是相当不可知的。

目前我设想了三种可能的策略:

对象数据库

数据模型是一个对象网络。当我创建它们时,我将它们指定为持久性对象的后代。例子:

客户端代码不知道持久性,它像在内存中一样操作对象,并且持久性对象在客户端代码不知道的情况下处理所有事情。检索可以通过数据库对象的键控查找来完成。这是 Zope 对象数据库(以及许多其他方法)使用的方法。优点是惰性检索,并且仅对已更改的对象进行更改,而不检索未触及的对象。

搁置物件

上面给出的数据模型在内存中表示,但随后使用数据库将数据作为整体实体推送或拉取。例如:

这就是基于泡菜的解决方案所做的。在某种意义上,它与前面的解决方案类似,唯一的区别是将对象存储为单个包,然后将其作为单个包再次检索。

立面

具有便利方法的单个数据库类。客户端代码从不处理对象,只处理 id。例子

这个解决方案颇有争议。数据库类可以有很多职责,但我有种感觉,这就是 SOAP 中使用的哲学:您不能直接操作对象,您可以查询远程服务器的对象属性。在没有 SQL 的情况下,这可能是关系数据库的接口:db.createTable()db.insert()db.select()。SQL 对此进行了简化以获得非常简单的数据库接口,db.query(sql_string)代价是语言 (SQL) 解析和执行。您仍然可以对您感兴趣的数据模型的子部分进行操作,而无需触及其他部分。

我想问问你对这三种设计的看法,尤其是第三种。什么时候是一个好的设计,如果有的话?

反转逻辑

这是我在 MediaWiki 代码上看到的。而不是有类似的东西

他们有

编辑:我展示的示例数据模型有点简单。我的真正目标是创建一个基于图形的数据模型(如果有人想参与该项目,我将很荣幸)。第三种解决方案让我担心的是,它强烈地封装了写入的数据模型(与内存中的数据模型相反)并屏蔽了后端,但它有爆炸的风险,因为只有一个中心类暴露了所有方法。老实说,我不喜欢第三种情况,但我认为它是一种可能的解决方案,所以我想把它放在问题的盘子上。它可能有好处。

编辑 2:添加了反转的逻辑条目

0 投票
2 回答
375 浏览

entity-framework - 是否可以使用 EF 将任何数据库的元素作为一组可查询的类?

我正在尝试制作一个应用程序,其中允许开发人员和最终用户从关系数据库(在运行时选择)中检索数据,而无需编写任何 SQL 代码(最好在与数据库交互时不使用字符串连接)。该应用程序的目的有两个:表达式树构建器的 GUI 和由它生成的树的 XML 序列化。

我想请教一些关于如何让事情顺利进行的指导或提示。我不想让其他人为我写这个 - 这是我的项目,我将成为编写代码的人。

所以我的问题是:

  1. 是否有可能仅在运行时仅使用连接字符串来创建对象模型并以集合的形式寻址 DB 的元素 - 例如所有表、视图、函数和存储过程的列表?

  2. 是否可以在扩展方法中使用上述列表的元素,以便构建表达式树?

  3. 我可以使用 Metadata Workspace 类和 ItemCollections 从只有 CSDL、SSDL 和 MDL 文件(但没有实体类)的数据库中检索这些列表吗?

  4. 我是否可以使用 LINQ to XML 来序列化表达式树的结果,或者我将不得不使用其他一些特定于实体框架的序列化技术?(如此处所示的示例:http: //msdn.microsoft.com/en-us/library/bb738528.aspx

PS:以下是我迄今为止研究的一些笔记: 1. 例如,当 DataContext 仅接收到一个连接字符串时,DataContext.GetTable() 方法(是的,弱类型的,不是泛型的)没有检索任何数据。

  1. 我正在调用 EdmGen 工具以生成架构工件,到目前为止,我已经阅读了它们的属性,但我仍在尝试获取某种可以在 lambda 表达式中使用的元素列表(例如表格) ?

  2. 如果我理解正确,在实体框架中,我可以使用诸如 Metadata Workspace 和 ItemCollections 之类的类以及 EdmGen 工具来创建必要的对象集,用这些对象集将概念模式表示为应用程序中的对象模型。

我已经在这里和 MSDN 上浏览了其他相关主题的实体框架编程指南,但到目前为止,我还没有找到与此方案相关的任何信息。昨天拿到了《Programming Entity Framework》这本书,希望里面有一些答案。如果我找到任何线索,我会更新这个问题。

所以,困惑和仍在寻找,我提前感谢你对此事的任何帮助。

最好的问候, 鲍里斯拉夫

0 投票
6 回答
6733 浏览

sql - 没有递归的sql递归

我有四张桌子

我想做一个查询,直接或间接返回用户所属的所有组。显而易见的解决方案是在应用程序级别进行递归。我想知道我可以对我的数据模型进行哪些更改以减少数据库访问并因此获得更好的性能。

0 投票
1 回答
805 浏览

mysql - DBDesigner 的问题

DBDesigner 只能与 MySQL 同步?

我尝试使用 SQL Server 但不起作用。

DBDesigner 版本:4.0.5.6

谢了。

0 投票
2 回答
1018 浏览

sql - 从 CREATE TABLE SQL 生成图形模式表示

我有一个包含许多 CREATE TABLE 语句的 .sql 文件。没有参考规范(MyISAM 的东西),但我喜欢创建不同的表格框,然后手动组合表格关系。我正在使用Mac。有免费的程序可以做到这一点吗?