问题标签 [database]

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 投票
3 回答
689 浏览

mysql - 大于 char 但小于 blob

Char's 很棒,因为它们是固定大小的,因此可以提供更快的桌子。但是,它们限制为 255 个字符。我想保存 500 个字符,但 blob 是可变长度的,这不是我想要的。

有什么方法可以在 MySQL 中使用 500 个字符的固定长度字段,还是我必须使用 2 个字符字段?

0 投票
3 回答
1537 浏览

.net - 如何使用 ADO.NET DataSet 和 DataAdapter 将树结构持久保存到具有自动递增 ID 的数据库表中

我有一个表示树结构的自引用角色表

我正在使用 ADO.NET DataTable 和 DataAdapter 将值加载并保存到该表中。如果我只创建现有行的子级,则此方法有效。如果我创建一个子行,然后创建该子行的子行,然后更新,DataTable 生成的临时 ID 值将进入 ParentID 列。我有以下数据关系集:

当我在 DataTable 中创建新的子行时,我调用 SetParentRow 方法

当我在 DataAdapter 上调用 Update 时,是否需要做一些特别的事情才能使 ID 生成递归传播?

0 投票
9 回答
4368 浏览

sql - 继承数据库?

有没有办法在数据库中使用继承(特别是在 SQL Server 2005 中)?

假设我有几个像CreatedOnCreatedBy这样的字段,我想将其添加到我的所有实体上。我正在寻找一种替代方法,而不是将这些字段添加到每个表中。

0 投票
7 回答
31847 浏览

mysql - 使用 MS Access 作为 MySQL 数据库后端的前端的问题?

两个用户想要共享同一个数据库,最初是用 MS Access 编写的,而不会因单个 MDB 文件而相互冲突。

我使用它的迁移工具包(顺便说一句,它运行良好)将表从一个简单的 MS Access 数据库移动到 MySQL ,并设置 Access 以通过 ODBC 链接到这些表。

到目前为止,我遇到了以下问题:

  • 您不能在没有主键的情况下在表中插入/更新/删除行(这并不奇怪)。
  • MS Access 中的自动编号字段必须是主键,否则它们最终会成为 MySQL 中的整数列(natch,为什么不是 PK?)
  • 这些表被迁移到 MySQL 的 InnoDB 表类型,但访问关系没有成为 MySQL 外键约束。

一旦数据库在使用中,我可以期待任何其他问题吗?特别是当两个用户都在同一张桌子上工作时?

0 投票
15 回答
25857 浏览

database - 您对使用 UUID 作为数据库行标识符有何看法,尤其是在 Web 应用程序中?

为了简单和(假设的)速度,我一直更喜欢使用长整数作为数据库中的主键。但是当对对象实例使用REST或类似 Rails 的 URL 方案时,我最终会得到这样的 URL:

然后假设还有 ID 为 782、781、...、2 和 1 的用户。假设有问题的 Web 应用程序足够安全,可以防止人们在未经授权的情况下输入其他号码查看其他用户,a简单的顺序分配的代理键也“泄露”了实例的总数(比这个更早),在这种情况下是用户,这可能是特权信息。(例如,我是 stackoverflow 中的用户 #726。)

UUID / GUID会是更好的解决方案吗?然后我可以像这样设置 URL:

不完全简洁,但显示的有关用户的隐含信息较少。当然,它带有“通过默默无闻的安全”的味道,这不能替代适当的安全性,但它似乎至少更安全一点。

这种好处是否值得为 Web 可寻址对象实例实现 UUID 的成本和复杂性?我认为我仍然想使用整数列作为数据库 PK 来加速连接。

还有 UUID 的数据库内表示的问题。我知道 MySQL 将它们存储为 36 个字符的字符串。Postgres 似乎有更有效的内部表示(128 位?),但我自己没有尝试过。有人对此有经验吗?


更新:对于那些询问仅在 URL 中使用用户名(例如http://example.com/user/yukondude)的人来说,这对于具有唯一名称的对象实例来说工作得很好,但是无数的网络呢?真正只能通过数字识别的应用程序对象?订单、交易、发票、重复的图像名称、stackoverflow 问题……

0 投票
5 回答
851 浏览

database - 对具有低完整性的表进行规范化

我收到了一张大约有 18000 行的桌子。每条记录都描述了一个客户的位置。问题是,当这个人创建表时,他们没有添加“公司名称”字段,只有“位置名称”,一个公司可以有很多位置。

例如,以下是一些描述同一客户的记录:

位置表

我的目标是让它看起来像:

位置表

公司表

没有“公司”表,我必须从代​​表多个位置的最具描述性或最佳位置名称生成公司名称列表。

目前我在想我需要生成一个相似的位置名称列表,然后手动浏览该列表。

任何关于我如何解决这个问题的建议都值得赞赏。

@Neall,感谢您的发言,但不幸的是,每个位置名称都是不同的,没有重复的位置名称,只有相似。因此,在您的语句“repcount”的结果中,每一行都是 1。

@yukondude,您的第 4 步是我问题的核心。

0 投票
4 回答
2760 浏览

sql - 将 mysql 数据库转换为 sqlite 数据库的最佳方法是什么?

我目前有一个相对较小(4 或 5 个表,5000 行)的 MySQL 数据库,我想将其转换为 sqlite 数据库。由于我可能不得不不止一次地这样做,如果有人能推荐任何有用的工具,或者至少是任何易于复制的方法,我将不胜感激。

(我对所涉及的数据库/机器拥有完全的管理员访问权限。)

0 投票
4 回答
5919 浏览

sql-server - 以兼容级别 80 运行 SQL Server 2005 数据库是否会对性能产生负面影响?

我们的软件必须能够在 SQL Server 2000 和 2005 上运行。为了简化开发,我们以兼容级别 80 运行 SQL Server 2005 数据库。但是,在某些情况下,SQL 2005 上的数据库性能似乎比 SQL 2000 上慢(我们尚未使用基准确认这一点)。将兼容级别升级到 90 会提高 SQL 2005 服务器的性能吗?

0 投票
7 回答
3297 浏览

sql - 在 SQL Server 中删除一组表

有没有一种简单的方法可以在 SQL Server 中删除一组相互关联的表?理想情况下,我想避免担心他们被丢弃的顺序,因为我知道整个团队都会在流程结束时消失。

0 投票
7 回答
1635 浏览

database - 没有 Linq 时像 Linq 一样查询

我有一个我目前正在处理的项目,但它目前只支持 .net 框架 2.0。我喜欢 linq,但由于框架版本的原因,我无法使用它。我想要的不是事物的 ORM 方面,而是 Linq 的“可查询性”(甚至是一个词吗?)。

到目前为止,最接近的是llblgen,但如果有更轻的重量可以为我做查询,那就更好了。

我还查看了NHibernate,它看起来可以接近我想要的,但它的学习曲线非常陡峭,并且映射文件不会让我过于兴奋。

如果有人知道可以为我提供与 Linq 类似的查询界面(或者更好的是,如何让 Linq 在 .net 2.0 框架上工作),我真的很想听听。