问题标签 [ddl]

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 投票
11 回答
25103 浏览

sql - 什么是好的 Visio Enterprise Architect 替代品?

我一直在使用 Visio 2002/2003 Enterprise Architect 直观地进行数据库架构设计,然后向前生成 DDL 以创建数据库。

我想切换到 Visio 2007,但是虽然它确实支持数据库图表,但它没有生成 DDL 的能力。真可惜。

我真的很失望,因为微软似乎完全放弃了这个功能。你不能在 Visual Studio(我发现)中做到这一点。如果您将数据库图表插入数据库,您可以使用 SQL Server Management Studio 进行排序,但是对架构的任何编辑都会立即生效。

有没有人找到一个好的程序来做到这一点?我希望找到一个免费的并且可以为 SQL Server 生成 DDL/SQL。

0 投票
9 回答
39334 浏览

tsql - 如何有条件地在 Sybase (TSQL) 中创建表?

好的,所以 Sybase (12.5.4) 将让我执行以下操作来 DROP 一个表(如果它已经存在):

但是如果我尝试对表创建做同样的事情,我总是会收到表已经存在的警告,因为它继续尝试创建我的表并忽略了条件语句。只需尝试运行以下语句两次,您就会明白我的意思:

运行以上会产生以下错误:

SQL Server 错误(localhost)错误:2714 at Line:7 消息:数据库中已经有一个名为“a_table”的对象。

这有什么关系?!

0 投票
7 回答
30389 浏览

mysql - MySQL术语“约束”与“外键”的区别?

我在这里查看 MySQL 文档并试图理清 FOREIGN KEYs 和 CONSTRAINTs 之间的区别。我认为 FK一种约束,但文档似乎在谈论它们,就像它们是独立的东西一样。

创建 FK 的语法是(部分)...

所以“CONSTRAINT”子句是可选的。为什么要包含它或不包含它?如果你忽略它,MySQL会创建一个外键而不是一个约束吗?或者它更像是“CONSTRAINT”只不过是你的 FK 的名称,所以如果你不指定它,你会得到一个匿名的 FK?

任何澄清将不胜感激。

谢谢,

伊森

0 投票
4 回答
472 浏览

code-generation - 哪些 .NET 框架允许您首先创建业务实体,然后是数据库

是否有任何 .NET 框架允许您先创建业务实体,然后再创建数据库。换句话说,允许您稍后使用 DDD / Persistence Ignorance 方法备份到数据库中。允许您编写的模型/类生成 SQL DDL 和迁移脚本的任何工具。

随意修改我的措辞,并使其成为一个更好的问题。

0 投票
4 回答
567 浏览

database - 一对多关系中的标识符

我有两个表,我们将它们称为FooBar,具有一对多的关系,其中Foo的父级是Bar。Foo 的主键是一个随序列自动生成的整数。

因为Bar完全取决于Foo我将如何设置Bar给定以下约束的主键:

  • Bar 的记录是以编程方式生成的,因此不能依赖用户输入作为标识符。
  • 多个进程正在生成 Bar 记录,因此任何涉及 a Select Max()来生成 anID都会呈现竞争条件。

我提出了两种我不满意的可能解决方案:

  • 将这些表视为与第三个表的多对多关系,第三个表将它们的记录映射在一起,并让应用程序代码处理插入记录,以便正确创建记录之间的映射。我不喜欢这样,因为它会使数据库设计产生误导,并且应用程序代码中的错误可能会导致无效数据。
  • 给 Bar 两个列:FooIDand 并通过选择 for someFooBarID生成一个值 ,但如前所述,这会产生竞争条件。FooBarIDmax(FooBarID)+1FooID

我很欣赏任何关于替代表格布局的想法。

0 投票
2 回答
663 浏览

database - 表之间钻石关系中的标识符

我有四个表(A、B、C、D),其中 A 是与 B 和 C 的一对多关系的父级。C 和 D 是与表 D 的一对多关系的父级。从概念上讲,这些的主键表可以是:

  • 答:援助
  • B: Aid, bnum (外键指向 A)
  • C:aid,cnum(外键指向A)
  • D:Aid、bnum、cnum(带有 B 和 C 的外键)

其中“num”列根据关系中的每个父 id 而不是每条记录自动递增。我在以前的应用程序中使用了这种方法,这不是问题,因为 B 和 C 记录的创建是通过顺序过程通过“select max()”查询生成新的“num”值来完成的。我从未对这种方法感到真正满意,但它完成了工作。

对于我现在正在处理的特定情况,表 A 和 B 中的记录由用户输入,因此自动生成 id 不是问题。对于表 C 和 D,这些表中的记录是由多个并发批处理生成的,因此需要以某种方式生成它们的标识符。我列出的先前方法不适用于竞争条件。

请注意,这是针对 Oracle 数据库的,因此我将使用序列而不是自动递增列。

鉴于上述约束,您将如何设计表来表示 A、B、C 和 D,以便正确执行实体之间的关系并且不需要应用程序代码生成任何标识符?

0 投票
2 回答
192 浏览

ddl - 保持参照完整性

给定架构:

和业务规则:

可以将排序计划分配给相同 machine_type 的任何机器。

如何在 SCHEDULE 中强制执行machinesort_plan引用的元组具有相同的machine_type

如有必要,可以更改架构。

0 投票
3 回答
2527 浏览

import - Problems importing SQL script from Oracle 9i to Oracle 10g express

I am currently running into a problem when trying to import an Oracle 9i SQL script into my local Oracle 10g Express database. I am trying to import the DDL from the 9i database to the 10g express database. I keep getting "Not compatible - Your export file is not supported". Has someone been able to get this working? Please let me know what I can do to get this working.

0 投票
26 回答
30852 浏览

algorithm - 你喜欢你的主键吗?

在我团队的一次相当热烈的讨论中,我被迫思考大多数人喜欢什么作为主键。我们有以下小组-

  1. Int/ BigInt 哪个自动增量是足够好的主键。
  2. 应该至少有 3 列构成主键。
  3. Id、GUID 和人类可读的行标识符都应该区别对待。

PK的最佳方法是什么?如果你能证明你的观点是正确的,那就太棒了。有没有比上述更好的方法?

编辑:任何人都有一个简单的示例/算法来为可扩展的行生成人类可读的标识符?

0 投票
1 回答
9094 浏览

jquery - 无法从 jqGrid(jQuery)中的单元格获取对象

这就是问题所在,当我定义 ddl(下拉列表或选择框)时,我不知道所选值。当用户编辑一行时,用户可以从列表中选择一个项目。但未设置所选项目。我想在用户单击按钮编辑行时设置所选项目。

我认为正确的方法是获取构建 jqGrid 时创建的 ddl 并设置所选值。

当用户单击编辑按钮时,我从 ddl 列表中获取数据

而不是从 jqGrid 中的单元格获取数据,我宁愿获取 dom ddl 元素对象。

我有的另一个想法,但不认为是正确的,是使用 locationText 并使用它来创建一个新的 ddl dom 元素。

像这样的东西。

有没有一种简单的方法来做我想做的事情。我知道我可以创建一个新的 dom 选择元素,然后向其中添加每个选项,就像这样

但是应该有一种方法可以从 jqGrid 中获取整个 dom 元素。

谢谢