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

java - Java:数据库检查和初始化

我正在编写一个通过 JDBC 使用 SQLite 进行持久性的 Java 应用程序。

应用程序启动时我需要做的是:

  1. 如果数据库不存在,请使用正确的架构创建它
  2. 如果数据库存在,请检查数据库是否具有正确的架构

为了创建数据库,我想将在外部文件中创建结构(例如 CREATE TABLE ...)所需的 SQL 命令外部化,在运行时加载并执行它。我想过使用BufferedReaderwith.readLine()然后将每个 SQL 命令提供给Statement.executeUpdate(). 有没有更聪明的方法来做到这一点?

关于数据库模式的启动检查,虽然我认为这应该被认为是“好的设计”,但我不知道在实践中它是否可能是矫枉过正或无用。我想出的一种解决方案,但具有“依赖于供应商”的缺点是:

  1. 使用所有结构名称的已知前缀创建数据库(例如nwe_
  2. 查询sqlite_masterWHERE name LIKE 'nwe_%'
  3. SQL列的内容与我用于创建数据库的 SQL 命令文件进行比较

同样,有没有更聪明的方法来做到这一点?(也许不是“依赖于供应商”,但当时这对我来说不是什么大问题)

谢谢。

0 投票
2 回答
19479 浏览

.net - 从 odbc 数据库中获取所有表和所有列

我想从 OdbcConnection 中获取所有“表”名称,并且对于所有“表”名称,我想接收所有列名。

所以我遇到了OdbcConnection.GetSchema()功能。我设法通过简单地使用来获取所有表名connection.GetSchema("Tables")。但现在我想获取这些表的列信息。我注意到connection.GetSchema("Columns")会给我列信息,但这只是从数据源中的随机/第一个(?)“表”中给出的(使用 Windows CSV 驱动程序),这对我没有多大帮助。

最具挑战性的部分是,它必须与任何(大多数)ODBC 驱动程序一起工作。我不知道将使用哪个底层数据源。

有任何想法吗?

0 投票
1 回答
832 浏览

mysql - 在 dbschema 中从 sql 创建 erd

谁能描述如何使用 DbSchema 从 sql 文件创建 erd?我还没有找到开始这个过程的原因。

我也尝试过使用 MySQL 工作台。选择文件后,会打开一个窗口,指示“逆向工程和从脚本导入对象...”,但什么也没有发生;窗口底部的消息日志中从未显示任何进展。

0 投票
1 回答
170 浏览

visual-studio-2010 - VSDBCMD 远程

我可以远程运行 VSDBCMD 命令吗?我的意思是不将文件复制到 SQL 服务器?我正在尝试创建一个 dbschema 文件以将其用作数据库项目中的参考。

我尝试在我的机器上运行该命令,但出现以下错误:“TSD 尝试对 Microsoft.Data.Schema.Sql.SchemaModel.ISql100DatabaseEncryptionKey 类型的元素进行逆向工程时从 SQL Server 收到错误:用户没有有权执行此操作。发生意外失败:访问路径“C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Pivotal_dev_ed.dbschema”被拒绝。”

我需要对 SQl 服务器的特殊权限吗?

0 投票
2 回答
402 浏览

mysql - mysql中的数据库架构

是否可以在mysql中创建这样的表?如果是,请用表格中的示例数据向我解释(当我们第一次插入时表格中的值是什么)。

我从谷歌文档中得到了这个数据库模式。

注意:关系是 1..n

在此处输入图像描述

0 投票
1 回答
2056 浏览

jpa - 在使用 InheritanceType.JOINED 的 JPA 实体层次结构中,与子类的所有关系都会导致超类表上的外键约束

我有以下 JPA 2.0 实体

我想让 JPA 为我生成表,因为它可以更轻松地安装在多个位置。我通常希望它会生成这个:

前两个表相同,但它以employee这种方式生成表:

您会注意到fk_employee_role_id引用的是bookkeepingparent表,而不是role表。我有大量的 JPA 实体,我希望 bookkeepingparent 成为其中大多数实体的超类。这主要是因为一些非常具体的 ID 生成策略和其他簿记活动。这种设计有助于将本书中的所有代码与功能代码分开,并让处理功能代码的程序员不必担心。

在桌子数量增加之前,所有这些都可以正常工作。现在我们看到,对于所有ManyToOneOneToOne关系,JPA 正在生成引用父表的外键。对于 200 个奇数表,插入已经很慢,因为所有外键约束都引用 bookekeepingparent,并且每个实体在第一次持久化时都会插入到 bookkeeping 父表中。我猜这是检查大约 150 个奇怪的约束。

所以,以下是我的问题:JPA 为什么要这样做?这是标准的 JPA 行为吗?(我正在使用 EclipseLink)如果我手动更改数据库架构,他们会遇到什么陷阱吗?

这是我在 StackOverflow 上的第一个问题,我尽力搜索任何现有的答案。抱歉,如果我错过了任何内容。谢谢。

0 投票
1 回答
1006 浏览

sql - 构建数据库项目不会生成 dbschema 文件

我正在尝试使用该vsdbcmd.exe命令来部署 SQL DB 项目。但是,当我尝试使用 MSBuild 甚至在 VS (2013) 中构建所述项目时,它不会生成 dbschema 文件(如此所述)。

任何人都可以就为什么会这样提出任何建议吗?我在解决方案和项目目录中拥有权限。我已经尝试过构建,重建,msbuild /t:Build c:\DB\DB.sqlproj但我在任何地方都看不到该.dbschema文件。

0 投票
1 回答
32 浏览

javascript - 我应该如何为 JS 应用程序建模我的数据

我正在使用 JavaScript(没有任何框架)创建一个仅限客户端的应用程序,将使用 MongoDB 来存储数据。我可以想到2 种方法来建模我的数据。

有人可以帮我理解哪个更合适。

  • 方式#1

    /li>
  • 方式#2

    /li>
0 投票
0 回答
239 浏览

laravel - Laravel 从数据透视表中透视

我有这个数据库架构:

在此处输入图像描述

无论如何我可以school_class_arms使用枢轴或其他东西从学校到达桌子吗?还是我必须add school_idthe school_class_arms

谢谢!

0 投票
3 回答
2096 浏览

sql-server - 用于存储调查矩阵问题和答案的 db 模式

我正在尝试创建一个数据库架构来存储调查问题和答案,而我无法想到保存数据的架构。

这是我要存储在数据库中的示例问题:

在此处输入图像描述

任何关于我如何做到这一点的指示都非常感谢!

PS:我已经在 SO 上浏览了这些帖子,但它们没有帮助:

具有动态列和动态行的关系数据库系统

在 DB 中存储距离矩阵

具有不同数据类型答案的调查 SQL 设计

编辑 1

PS:

我想创建一个模式来存储来自 SurveyMonkey.com 和 Qualtrics.com 的所有问题类型。有什么办法吗?