问题标签 [schema]

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 投票
3 回答
13945 浏览

mysql - 有人知道一个像样的免费数据库模式逆向工程工具吗?

寻找一种工具,可以自动从实时数据库创建 MySQL DB 模式的图形表示,显示表、列和关系(ER 图)。理想情况下,可以在 OS X 上运行的东西会很棒,但如果有必要,我会尽我所能在另一台机器上运行它。

我检查了谷歌和 del.icio.us。似乎大多数这样做的产品都是商业的。我猜他们的开发成本很高?

MySQL 有Workbench,但它需要额外的逆向工程功能。

这个开源工具SchemaSpy看起来很有前途,但安装和使用可能有点尴尬。在我深入研究之前,我想我会检查是否有人知道更“即时满足”的东西。

0 投票
7 回答
825 浏览

database - 你怎么不做连接?

我最近读了很多关于数据库查询中的连接如何减慢速度的文章。显然 Google App Engine 甚至不允许它们。

我想知道人们如何设计一个没有连接的应用程序。例如,我正在开发一个具有contacts和的应用程序organizations。一个联系人可以在多个组织中,一个组织可以有多个联系人。如果没有连接两个实体的第三张表,怎么可能建立这种关系......

这是否意味着在 GAE 中不能建立多对多关系?您只是省略了需要加入的功能?

我猜您可能organizations在表中有一个 TEXT 列,其中contacts包含以空格分隔的每个联系人的组织 ID 列表。不过这似乎有点奇怪。

0 投票
5 回答
30707 浏览

xml - XSD - 如何描述一组无序的元素类型,其中第一个元素必须首先出现在序列中?

这是一个 XML 模式问题。

我知道该xsd:all元素不能出现在序列中(必须是其类型的顶级元素)。

也就是说,我不能使用以下内容:

我的问题是如何以任何顺序(无序集)声明上面的“ADD”和“DELETE”元素,但仍然确保元素“Name”是第一个并且总是出现。(想想我不仅有“ADD”和“DELETE”,还有大约 10 个或更多无序元素集的情况:ADD、DELETE、EDIT 等......)

重要提示:添加和删除可能只出现一次,但它们的顺序无关紧要:

但不是:

0 投票
5 回答
884 浏览

mysql - 存储只能知道年份的日期

存储在许多情况下可能只知道年份的日期值的最佳方法是什么?

MySQL 允许在日期部分中使用零,除非启用 NO_ZEROES_IN_DATE sql 模式,默认情况下不启用。是否有任何理由不使用日期字段,如果月份和日期可能为零,或者将其拆分为年、月和日的 3 个不同字段(年(4)、tinyint、tinyint)?

0 投票
4 回答
1680 浏览

mysql - 用户何时可以定义字段的架构设计

问候堆垛机,

我正在尝试为允许用户创建调查并将其展示给公众的应用程序提出最佳数据库模式。大多数调查(但不是全部)将包括一堆“标准”人口统计字段,例如名字、姓氏等。当然,用户可以创建无限数量的“自定义”问题。

我想到的第一件事是这样的:

但这每次我想查询数据时都会很糟糕。它似乎危险地接近内平台效应

一个改进是在响应表中包含尽可能多的字段:

然后,至少从这些常见列中查询数据是很简单的,我可以查询,比如说,每个回答过他们出生日期的调查的人的平均年龄。

但这似乎会使代码复杂一些。现在要查看调查中提出了哪些问题,我必须检查启用了哪些常见响应字段(我猜是使用调查中的位域)以及 SurveyQuestions 表中的内容。而且我必须担心特殊情况,例如,如果有人试图创建一个“自定义”问题,该问题与“响应”表中的“常见”问题重复。

这是我能做的最好的吗?我错过了什么吗?

0 投票
1 回答
525 浏览

c# - 当我没有 Google Reader Atom Schema 时,如何使用 xml 进行 linq?

我正在为 BlogEngine.Net 开发一个小部件。我的小部件将获取一个人的共享项目 atom 提要并打印标题、网站 url、日期和 atom url。为了完成这个任务,我已经开始使用 Linq 和 XML。

这是问题所在。Google 阅读器使用的 atom 提要位于 source 元素中,该元素具有 gr:stream-id 属性。显然,XName 不喜欢名称中有冒号。我不得不走那条路,因为Google Reader 架构不存在。如果我有那个模式,它将解决我的问题。我怎样才能得到架构?

到目前为止,以下是我的一小段代码:

如果在仍然使用 Linq 和 XML 的同时还有其他方法可以解决这个问题,请告诉我。提前致谢!

0 投票
20 回答
119739 浏览

mysql - 可视化数据库模式的好工具?

是否有任何用于可视化预先存在的数据库模式的好工具?如果重要的话,我正在使用 MySQL。

我目前正在使用 MySQL Workbench 来处理 SQL 创建脚本转储,但它很笨重、缓慢并且需要手动拖动所有表(如果不是那么慢的话也可以)。

0 投票
9 回答
979 浏览

database - 如何为未知数量的“元”数据设计数据库

我想将某些项目存储在具有可变数量属性的数据库中。

例如:

一个项目可以有 'url' 和 'pdf' 属性,其他的都没有,而是有 'image' 和 'location' 属性。

所以问题是一些项目可以有一些属性,而另一些则很多。

你将如何设计这个数据库。如何使其可搜索和高性能?

架构会是什么样子?

谢谢!

0 投票
7 回答
14692 浏览

database - 可以对主键使用字符值吗?

与使用基于字符的字段相比,在数据库表中使用唯一的数字 ID 字段是否有性能提升或最佳实践?

例如,如果我有两个表:

运动员

id ... 17 ,姓名... Rickey Henderson , teamid ... 28

团队

teamid ... 28 , teamname ... Oakland

如果teamid是“OAK”或“SD”而不是“28”或“31” ,那么包含数千名玩家的运动员表将更易于阅读。让我们理所当然地认为teamid值将在角色形式上保持独特和一致。

我知道您可以使用字符,但是出于某种原因,索引、过滤等是否是个坏主意?

请忽略规范化参数,因为这些表比示例更复杂。

0 投票
8 回答
1170 浏览

database - 如何保持代码库和数据库模式同步?

所以最近在我正在进行的一个项目中,我们一直在努力保持解决方案的代码库和相关的数据库模式同步(数据库 = SQL Server 2008)。

数据库更改相当频繁地发生(添加列、约束、关系等),因此人们从源代码管理中执行“获取最新”并发现他们也需要重建数据库并不少见(有时他们忘记做后者)。

我们没有使用 VSTS:数据库版 (DataDude),而是使用带有脚本(批处理文件)的标准 Visual Studio 数据库项目,该脚本从 T-SQL 脚本中拆除并重新创建数据库。该解决方案是一个 .Net 和 ASP.net 解决方案,使用 LINQ to SQL 作为 ORM 底层。

任何人都对采取的方法(无论是否自动)有想法,这将使每个人都了解最新的数据库模式?

与 MSBuild 的持续集成是一种选择,但仅有助于获取任何已提交的重大更改,在我上面强调的场景中并没有真正的帮助。

如果有帮助,我们正在使用 Team Foundation Server。