问题标签 [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 投票
7 回答
2549 浏览

sql - 我应该如何组织我的主 ddl 脚本

我目前正在为我们的数据库创建一个主 ddl。从历史上看,我们使用备份/恢复来对我们的数据库进行版本控制,并且没有维护任何 ddl 脚本。架构非常大。

我目前的想法:

  • 将脚本分成几部分(可能在单独的脚本中):

    1. 表创建
    2. 添加索引
    3. 添加触发器
    4. 添加约束
  • 每个脚本都会被主脚本调用。

  • 我可能需要一个脚本来临时删除约束以进行测试
  • 架构中可能存在孤立表,我计划识别可疑表。

还有什么建议吗?

编辑:另外,如果有人知道自动化部分过程的好工具,我们正在使用 MS SQL 2000(旧的,我知道)。

0 投票
7 回答
15720 浏览

.net - 在实体框架中更新数据库架构

我安装了 VS SP1 并使用了 Entity Framework。

我从现有数据库创建了一个模式并尝试了一些基本操作。

大部分进展顺利,除了数据库模式更新。

我以各种基本方式更改了数据库:

  • 添加了一个新表
  • 删除了一个表
  • 向现有表添加新列
  • 从现有表中删除一列
  • 更改了现有列的类型

前三个进展顺利,但类型更改和列删除没有跟随数据库更改。

有什么办法可以让设计师工作吗?还是暂时不支持?我还没有找到任何相关材料,但仍在搜索。

0 投票
2 回答
1011 浏览

c# - 自定义 XML 文档的验证模式

我有一个 Web 应用程序,它生成一个中等大小的 XML 数据集,供第三方使用。
我认为为我生成的 XML 提供某种形式的架构文档是个好主意,因此我将 XML 粘贴到 Visual Studio 中并让它生成 XSD。
烦人的是我的 XML 没有验证生成的 XSD!

推出自己的 XSD 会更好吗?
不同的模式文档(如 DTD、Relax NG 或 Schematron)呢?

关键是我希望能够使用 C# 验证我的文档。

您的 XML 验证策略是什么?

0 投票
1 回答
2771 浏览

xml - “任意数量的这些元素 - 以任意顺序”的 XML Schema 构造

我需要创建一个看起来像这样的 XML 模式:

我需要的是替换“WhatGoesHere”,这样任何数量的 el3、el4 和 el5 都可以以任何顺序出现。例如它可以包含 {el3, el3, el5, el3}

关于如何解决这个问题的任何想法?

0 投票
10 回答
3940 浏览

php - 将数据库更改从开发迁移到实时

推动新功能上线的最大风险可能在于新代码所需的数据库修改。在 Rails 中,我相信它们具有“迁移”功能,您可以在其中以编程方式对开发主机进行更改,然后将相同的更改与使用修改后的模式的代码一起进行。如果需要,以同步的方式回滚。

有没有人遇到过类似的 PHP/MySQL 工具集?很想听听它,或任何程序化或流程解决方案,以帮助降低风险......

0 投票
7 回答
4761 浏览

schema - 通讯簿数据库架构

我需要存储用户的联系信息。我想在页面上将这些数据显示为hCard并以vCard的形式下载。我还希望能够通过电话号码、电子邮件等搜索数据库。

您认为存储这些数据的最佳方式是什么?由于用户可能有多个地址,等等完整的规范化将是一团糟。我正在考虑使用 XML,但我不熟悉查询 XML 数据库字段。我还能通过联系信息搜索用户吗?

我正在使用 SQL Server 2005,如果这很重要的话。

0 投票
9 回答
13312 浏览

database - 多对多表中的一个或两个主键?

我的数据库中有以下表,它们具有多对多关系,由一个连接表表示,该连接表具有到每个主表的主键的外键:

  • Widget:WidgetID (PK)、标题、价格
  • 用户:用户 ID (PK)、名字、姓氏

假设每个 User-Widget 组合都是唯一的。我可以看到关于如何构造定义数据关系的连接表的两个选项:

  1. UserWidgets1:UserWidgetID (PK)、WidgetID (FK)、UserID (FK)
  2. UserWidgets2:WidgetID(PK、FK)、UserID(PK、FK)

选项 1 有一个主键列。但是,这似乎没有必要,因为表中存储的唯一数据是两个主表之间的关系,而这种关系本身可以形成唯一键。因此导致选项 2,它具有两列主键,但丢失了选项 1 具有的一列唯一标识符。我还可以选择在第一个表中添加一个两列唯一索引(WidgetID、UserID)。

两者在性能方面是否有任何真正的区别,或者有任何理由更喜欢一种方法而不是另一种方法来构建 UserWidgets 多对多表?

0 投票
9 回答
10521 浏览

database - 在 SQL 中处理一对一关系的最佳方法是什么?

假设我有可能Bravo或 Charlie 的事物相关或无关的 Alpha 事物。

这些是一对一的关系:没有任何 Alpha 与一个以上的 Bravo 相关。没有 Bravo 与不止一个 Alpha 相关。

我有几个目标:

  • 一个易于学习和维护的系统。
  • 在我的数据库中强制执行数据完整性。
  • 与我的数据的真实逻辑组织相匹配的模式。
  • 我的编程中可以很好地映射到数据库表的类/对象(à la Linq to SQL)
  • 快速的读写操作
  • 有效利用空间(少数空字段)

我有三个想法……

一张包含许多 nullalbe 字段的表(平面文件)...

许多具有零 nullalbe 字段的表...

两者中最好的(或最坏的):许多表的许多空外键......

如果 Alpha 必须是 Bravo 或 Charlie,但不能两者兼而有之怎么办?

如果不只是 Bravos 和 Charlies,Alphas 还可以是 Deltas、Echos、Foxtrots 或 Golfs 等中的任何一个……?


编辑:这是问题的一部分:哪个是我导航的最佳数据库模式?

0 投票
1 回答
1087 浏览

sql - 重新加载 .sql 架构而不重新启动 mysqld

是否可以重新加载模式文件而无需重新启动 mysqld?我在很多人的海洋中只在一个数据库中工作,并且希望在不进行冷重启的情况下刷新我的更改。

0 投票
8 回答
29887 浏览

database - 在数据库中存储电子邮件消息

您将使用哪种数据库模式将包含尽可能多的标题信息的电子邮件消息存储到数据库中?

假设它们已从 MTA 输入脚本并解析为相关的标题/正文/附件。

您会将消息正文整体存储在数据库表中,还是将任何 MIME 部分分开?附件呢?