问题标签 [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.
java - Java:数据库检查和初始化
我正在编写一个通过 JDBC 使用 SQLite 进行持久性的 Java 应用程序。
应用程序启动时我需要做的是:
- 如果数据库不存在,请使用正确的架构创建它
- 如果数据库存在,请检查数据库是否具有正确的架构
为了创建数据库,我想将在外部文件中创建结构(例如 CREATE TABLE ...)所需的 SQL 命令外部化,在运行时加载并执行它。我想过使用BufferedReader
with.readLine()
然后将每个 SQL 命令提供给Statement.executeUpdate()
. 有没有更聪明的方法来做到这一点?
关于数据库模式的启动检查,虽然我认为这应该被认为是“好的设计”,但我不知道在实践中它是否可能是矫枉过正或无用。我想出的一种解决方案,但具有“依赖于供应商”的缺点是:
- 使用所有结构名称的已知前缀创建数据库(例如
nwe_
) - 查询
sqlite_master
表WHERE name LIKE 'nwe_%'
- 将
SQL
列的内容与我用于创建数据库的 SQL 命令文件进行比较
同样,有没有更聪明的方法来做到这一点?(也许不是“依赖于供应商”,但当时这对我来说不是什么大问题)
谢谢。
.net - 从 odbc 数据库中获取所有表和所有列
我想从 OdbcConnection 中获取所有“表”名称,并且对于所有“表”名称,我想接收所有列名。
所以我遇到了OdbcConnection.GetSchema()
功能。我设法通过简单地使用来获取所有表名connection.GetSchema("Tables")
。但现在我想获取这些表的列信息。我注意到connection.GetSchema("Columns")
会给我列信息,但这只是从数据源中的随机/第一个(?)“表”中给出的(使用 Windows CSV 驱动程序),这对我没有多大帮助。
最具挑战性的部分是,它必须与任何(大多数)ODBC 驱动程序一起工作。我不知道将使用哪个底层数据源。
有任何想法吗?
mysql - 在 dbschema 中从 sql 创建 erd
谁能描述如何使用 DbSchema 从 sql 文件创建 erd?我还没有找到开始这个过程的原因。
我也尝试过使用 MySQL 工作台。选择文件后,会打开一个窗口,指示“逆向工程和从脚本导入对象...”,但什么也没有发生;窗口底部的消息日志中从未显示任何进展。
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 服务器的特殊权限吗?
mysql - mysql中的数据库架构
是否可以在mysql中创建这样的表?如果是,请用表格中的示例数据向我解释(当我们第一次插入时表格中的值是什么)。
我从谷歌文档中得到了这个数据库模式。
注意:关系是 1..n
jpa - 在使用 InheritanceType.JOINED 的 JPA 实体层次结构中,与子类的所有关系都会导致超类表上的外键约束
我有以下 JPA 2.0 实体
我想让 JPA 为我生成表,因为它可以更轻松地安装在多个位置。我通常希望它会生成这个:
前两个表相同,但它以employee
这种方式生成表:
您会注意到fk_employee_role_id
引用的是bookkeepingparent
表,而不是role
表。我有大量的 JPA 实体,我希望 bookkeepingparent 成为其中大多数实体的超类。这主要是因为一些非常具体的 ID 生成策略和其他簿记活动。这种设计有助于将本书中的所有代码与功能代码分开,并让处理功能代码的程序员不必担心。
在桌子数量增加之前,所有这些都可以正常工作。现在我们看到,对于所有ManyToOne
和OneToOne
关系,JPA 正在生成引用父表的外键。对于 200 个奇数表,插入已经很慢,因为所有外键约束都引用 bookekeepingparent,并且每个实体在第一次持久化时都会插入到 bookkeeping 父表中。我猜这是检查大约 150 个奇怪的约束。
所以,以下是我的问题:JPA 为什么要这样做?这是标准的 JPA 行为吗?(我正在使用 EclipseLink)如果我手动更改数据库架构,他们会遇到什么陷阱吗?
这是我在 StackOverflow 上的第一个问题,我尽力搜索任何现有的答案。抱歉,如果我错过了任何内容。谢谢。
sql - 构建数据库项目不会生成 dbschema 文件
我正在尝试使用该vsdbcmd.exe
命令来部署 SQL DB 项目。但是,当我尝试使用 MSBuild 甚至在 VS (2013) 中构建所述项目时,它不会生成 dbschema 文件(如此处所述)。
任何人都可以就为什么会这样提出任何建议吗?我在解决方案和项目目录中拥有权限。我已经尝试过构建,重建,msbuild /t:Build c:\DB\DB.sqlproj
但我在任何地方都看不到该.dbschema
文件。
javascript - 我应该如何为 JS 应用程序建模我的数据
我正在使用 JavaScript(没有任何框架)创建一个仅限客户端的应用程序,将使用 MongoDB 来存储数据。我可以想到2 种方法来建模我的数据。
有人可以帮我理解哪个更合适。
方式#1
/li>方式#2
/li>
laravel - Laravel 从数据透视表中透视
我有这个数据库架构:
无论如何我可以school_class_arms
使用枢轴或其他东西从学校到达桌子吗?还是我必须add school_id
表the school_class_arms
?
谢谢!
sql-server - 用于存储调查矩阵问题和答案的 db 模式
我正在尝试创建一个数据库架构来存储调查问题和答案,而我无法想到保存数据的架构。
这是我要存储在数据库中的示例问题:
任何关于我如何做到这一点的指示都非常感谢!
PS:我已经在 SO 上浏览了这些帖子,但它们没有帮助:
编辑 1
PS:
我想创建一个模式来存储来自 SurveyMonkey.com 和 Qualtrics.com 的所有问题类型。有什么办法吗?