问题标签 [database-management]

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 投票
6 回答
33355 浏览

sql-server - Visual Studio 与 SQL Server Management Studio - 你的选择

前言:我在一家从事 ASP.NET 开发并使用 SQL Server 2005 满足我们所有数据库需求的小公司工作。

我很好奇使用 Visual Studio 或 SQL Server Management Studio 进行数据库端开发(即表创建、存储过程编写等)的优缺点是什么。

现在我们在 Management Studio 中执行所有数据库任务,我想知道使用 Visual Studio 是否有一些好处。是否更容易跟踪过程更改和对数据库的其他修改(无论是通过 Visual Studio 本身还是通过某种类型的源代码控制(计划很快实施颠覆)。

我个人在使用 Management Studio 时没有遇到任何问题,但如果通过 Visual Studio 以我不熟悉的方式更高效、更可控,我很想听听。

编辑:我只想指出我的特定开发环境是 SQL Sever 2005、Visual Studio 2005 专业版和 Visual Studio Team System 2008 开发版。我们没有运行或安装团队基础服务器或任何其他附加功能。

0 投票
7 回答
280 浏览

java - WhichdDatabase 会被证明是有效的?

我必须用 Java 开发一个 Web 应用程序,这是一个相当大的应用程序,需要存储和操作大量数据。我还计划使用 Hibernate 和 Spring。

现在有很多可用的数据库,如 MSSQL Server、MySQL Server、Oracle、db2 等。你推荐哪个?

我寻找的功能是

  • Java - 数据库连接应该高效且易于实现

  • 数据库服务器管理的良好用户界面

  • 数据存储容量

  • 支持

  • 显然是成本因素。

所有有价值的建议将不胜感激。提前致谢 :-)

已编辑:Web 应用程序将托管在 Linux 服务器上。

0 投票
2 回答
299 浏览

django - Django:查询与 Sqlite3 一起工作正常,不要与其他数据库管理系统一起使用

我对'Q()'进行了很长的查询,Sqlite3效果很好,但是postgresqlmysql遇到了奇怪的错误,例如对于postgresql:invalid input syntax for integer: "(" 和对于mySQL:Truncated incorrect DOUBLE value: '('

如何使用 mysql 运行该查询?我的错误在哪里?

这是该查询:

0 投票
3 回答
233 浏览

sql - 三值逻辑上下文中布尔和比较运算符的语义

教授问我这个问题:

在三值逻辑的上下文中,布尔运算符和比较运算符的语义是什么?

我不确定他的意思。什么是比较运算符?这和关系运算符一样吗?语义?他在三值逻辑的上下文中询问这两个术语的“含义”?

谢谢。

0 投票
3 回答
2281 浏览

sql-server - 有没有办法在 sql server 中创建子数据库作为一种子文件夹?

我正在创建一个应用程序,其中有主数据库,其他数据存储在辅助数据库中。辅助数据库遵循“插件”方法。我使用 SQL Server。

应用程序的简单安装将只有 mainDB,而作为一个选项,可以激活更多“插件”,并且每个插件都会有一个新数据库。

现在我做出这个选择的原因是因为我必须使用现有的遗留系统,这是我能想到的实现插件系统的最聪明的事情。

MainDB 和 Plugins DB 具有完全相同的架构(基本上,Plugins DB 有一些“特殊内容”,一些可以用作模板的重要数据——例如,在应用程序中考虑一个字母模板)。插件数据库以只读模式使用,它们是“内容存储库”。“聪明”的事情是主应用程序也可以由“插件编写者”使用,他们只需编写一个插入内容的数据库,并通过备份数据库他们创建一个潜在的插件(这就是为什么所有数据库都有相同的架构)。

这些插件数据库是从互联网下载的,因为有可用的内容升级,每次完整的插件数据库被破坏并创建一个具有相同名称的新数据库时。这是为了简单起见,甚至因为这个 DB 的大小通常很小。

现在这行得通,无论如何我更愿意将数据库组织成一种树结构,这样我就可以强制插件数据库成为主应用程序数据库的“子数据库”。

作为一种解决方法,我正在考虑使用命名规则,例如:

ApplicationDB(用于主应用程序 DB)

ApplicationDB_PlugIn_N(用于第 N 个插件 DB)

当我搜索插件 1 时,我尝试连接到 ApplicationDB_PlugIn_1,如果我没有找到数据库,我会引发错误。例如,如果 som DBA 重命名 ApplicationDB_Plugin_1,就会发生这种情况。

因此,由于这些插件数据库实际上仅依赖于 ApplicationDB,因此我试图“做子文件夹技巧”。

谁能建议一种方法来做到这一点?你能评论一下我上面描述的这种自制插件方法吗?

添加信息(开始赏金后):

在 MainDB 中,我计划将连接信息存储到所有插件数据库。基本上它是数据库名称,因为我以一种方式设计系统,即使我使用多个 sql server 登录来访问 MainDB,在幕后也只有一个用户(通常是“sa”或另一个具有管理员权限的用户)。

所以基本上如果我需要查询多个数据库,我将使用数据库名称来区分插件,我不需要在数据库表中显式创建名为 PluginID 的文件。

所以它以某种方式工作,在主数据库中我存储插件数据库名称。所以我知道插件的名称,所以如果我想从所有插件中查询所有 GUNS,我会这样做:

所以“技巧”是使用 dbname 来区分插件。现在这项工作,但对我来说似乎有点“脏”。我的问题是“你能想到更好的方法吗?”

0 投票
12 回答
3472 浏览

asp.net - 我们是否应该为每个开发人员提供单独的数据库实例?

开发基于数据库的应用程序的最佳方法是什么?我们可以有两种方法。

  1. 一个供所有开发人员使用的通用数据库。
  2. 为所有开发人员提供单独的数据库。

各自的优缺点是什么?哪一个是更好的方法?

编辑:不止一个开发人员应该更新数据库,我们已经在每台开发人员机器上安装了 SqlExpress 2005。

编辑:我们大多数人都建议使用通用数据库。但是,如果其中一位开发人员修改了代码和数据库架构。他尚未提交代码更改,但架构更改已转到公共数据库。它不会破坏其他开发人员的代码吗?

0 投票
2 回答
5613 浏览

database - 单表继承(Database Inheritance 设计选项)的优缺点以及在什么情况下使用?

今天,我研究了大约2种数据库设计继承方法:

  1. 单表继承
  2. 类表继承

在我的学生看来,单表继承使数据库比其他方法更小,因为它只使用 1 个表。但我读到更有利的方法是根据 Bill Karwin的类表继承。

单表继承的优缺点是什么,应该在什么情况下使用?

0 投票
1 回答
807 浏览

mysql - 数据库内存 :: MySql Innodb 为空字段与非空字段分配多少存储内存 - varchar 或 text

我是数据库新手,不知道mysql如何以及何时分配内存空间。

在 MySql Innodb 中为空字段(未插入字符串)与非空字段分配多少存储内存?

我的问题的其他形式:

在创建表时或在字段内插入数据时,在 MySql Innodb 中为 varchar/text 字段分配内存时?

谢谢,

约瑟夫

0 投票
5 回答
368 浏览

deployment - 代码和数据跟踪/部署

很长一段时间以来,我们一直将数据保存在项目的存储库中。我们只是将所有内容保存在 data/sql 下,每个表都有自己的 create_tablename.sql 和 data_tablename.sql 文件。

我们现在刚刚将我们的第二个项目部署到 Scalr 上,我们已经意识到它有点混乱。

我们的部署方式:

我们有一个“打包”脚本集合,将项目拆分为 3 个存档(数据、代码、静态文件),然后我们将它们存储在 S3 上的 3 个单独的存储桶中。

每当一个角色启动时,它会下载一个文件(取决于角色:数据、nfs 或 web),然后“解包”脚本为每个角色设置所有内容,将数据加载到 mysql,设置 nfs 等.

我们这样做是因为我们不想保存服务器图像,我们总是从 vanilla 实例开始,我们使用各种内部构建的脚本从头开始安装所有东西。启动时间不是问题(我们在 9 分钟内就可以使用农场)。

问题是,每当我们尝试设置新的开发构建时,尝试找到正确的数据库版本是一件很痛苦的事情(在任何时候,我们都有大约 4 个项目的开发构建)。此外,一旦我们投入生产,git 就会开始窒息,因为 sql 文件最终总计大约 500mb。

问题是:

其他人如何管理数据库?我一直在寻找可以轻松地将数据从生产环境中转移到开发环境中的方法,以及将数据从开发环境迁移到生产环境中的方法,但没有发现任何问题。

0 投票
1 回答
210 浏览

database - 具有层次结构的类表继承

我有 3 种数据类型——a)公共列 b)层次结构——并且想知道如何设计数据库。

假设在顶层,有一个讨论。其中有 DiscussionMessages、Files 和 Comments。它们都有共同的字段(UserID、CreateDate、Text),但也有唯一的列(FileName、ContentType 等)。评论可以与任何类型(甚至是其他评论)相关联,并且与文件相关联。

在这里查看一些问题后,我想我想要类表继承——一个基表 (DiscussionParts) 来存储公共元素,然后是每种数据类型的特定表。

DiscussionParts : PartID, DiscussionID, ParentID, PartType (M,F,C), UserID, Text, CreateDate

消息:MessageID、PartID、标题

文件:FileID、PartID、FileName、ContentType

评论: CommentID, PartID, Source

ParentID 列用于跟踪层次结构。DiscussionID 是为了让用户可以在一个简单的查询中搜索他/她的所有讨论文本。

这是具有层次结构的类表继承的推荐设计吗?