问题标签 [database-table]

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 投票
10 回答
105978 浏览

sql-server - 向 Microsoft SQL Server 中的特定序号位置添加新表列

是否可以在 Microsoft SQL Server 的特定序号位置向表中添加列?

例如,我们的表在每个表定义的“末尾”总是有 CreatedOn、CreatedBy、LastModifiedOn、LastModifiedBy 列?我希望新列显示在这些列上方的 SSMS 中。

如果我正在编写所有数据库更改的脚本,有没有办法在表的末尾保留这个顺序?

仅供参考,我并不想就是否应该这样做进行一场激烈的战争。如果您想了解一个快速退化的线程,这里有一个很好的:

http://www.developersdex.com/sql/message.asp?p=581&r=5014513

0 投票
5 回答
55672 浏览

sql-server - 如何减少因数据类型更改而增长的 SQL Server 表的大小

我在 SQL Server 2005 上有一个大小约为 4gb 的表。

(约 1700 万条记录)

我将其中一个字段从数据类型更改char(30)char(60)(总共有 25 个字段,其中大部分是char(10)所以字符空间的数量加起来约为 300)

这导致表的大小加倍(超过 9GB)

然后我将其更改char(60)varchar(60)然后运行一个函数以从数据中删除额外的空格(以便将字段中数据的平均长度减少到大约 15)

这并没有减少表的大小。缩小数据库也无济于事。

除了实际重新创建表结构并复制数据(即 1700 万条记录!)之外,是否有一种不那么激烈的方法可以再次减小大小?

0 投票
14 回答
20817 浏览

mysql - 有什么理由担心表格中的列顺序吗?

我知道您可以使用 FIRST 和 AFTER 更改 MySQL 中的列顺序,但是您为什么要打扰呢?既然好的查询在插入数据时会显式命名列,那么真的有任何理由关心您的列在表中的顺序吗?

0 投票
4 回答
28041 浏览

mysql - MySQL 错误 1 ​​(HY000) 无法创建文件 Errcode 2

我在为我的 ruby​​ on rails 应用程序创建表时遇到问题。这让我疯狂!当我尝试创建表时返回以下内容:

错误1(HY000):无法创建/写入文件'/usr/local/mysql/data/test_development/users.MYI'(错误代码:2)

值得一提的是,我是个新手,顺便说一句。

0 投票
13 回答
199517 浏览

sql - Facebook 数据库设计?

我一直想知道 Facebook 是如何设计朋友 <-> 用户关系的。

我认为用户表是这样的:

我用用户数据(我假设通过用户电子邮件连接的性别、年龄等)计算表格。

它如何将所有朋友与该用户联系起来?

像这样的东西?

可能不是。因为用户数量是未知的,并且会扩大。

0 投票
8 回答
87731 浏览

mysql - 哪个更高效:多个 MySQL 表还是一个大表?

我将各种用户详细信息存储在我的 MySQL 数据库中。最初它是在各种表中设置的,这意味着数据与 UserIds 相关联,并通过有时复杂的调用输出以根据需要显示和操作数据。建立一个新系统,将所有这些表格组合成一个相关内容的大表格几乎是有意义的。

  • 这会是帮助还是阻碍?
  • 调用、更新或搜索/操作时的速度考虑?

这是我的一些表结构的示例:

  • users - UserId、用户名、电子邮件、加密密码、注册日期、ip
  • user_details - cookie 数据、姓名、地址、联系方式、隶属关系、人口统计数据
  • user_activity - 投稿、上次在线、上次查看
  • user_settings - 个人资料显示设置
  • user_interests - 广告目标变量
  • user_levels - 访问权限
  • user_stats - 命中、统计

编辑:到目前为止,我已经对所有答案投了赞成票,它们都具有基本上回答我的问题的元素。

大多数表具有 1:1 的关系,这是对它们进行非规范化的主要原因。

如果表格跨越 100 多列,而这些单元格中的大部分可能保持为空,是否会出现问题?

0 投票
3 回答
69 浏览

database - 如何规范每周参与和每周问题之间的关联?

我正在实施一个竞赛系统,用户必须在其中选择多个问题的正确答案。每周都有一组新问题。我正在尝试找到将用户参与存储在数据库中的正确方法。现在我有以下数据模型:

我想出的唯一解决方案是添加一个将参与与问题相关联的答案表,如下图所示:

我不链接这个解决方案非常好,因为它允许参与者回答来自不同周的问题。将 WeekId 添加到答案中没有帮助。

表示此信息的正确方法是什么?

0 投票
5 回答
125911 浏览

mysql - 在 MySQL 中创建表变量

我需要一个表变量来存储MySQL过程中表中的特定行。例如声明@tb table (id int,name varchar(200))

这可能吗?如果是怎么办?

0 投票
9 回答
321 浏览

database-design - 如何存储可以同时结构化或非结构化的数据?

我有一个包含下表的数据库:

其中该字段MEDICAL_EXAMINATIONS包含对患者进行的检查的自由文本描述。

最近,决定可以以自由文本(一如既往)或结构化方式(按检查名称、日期、结果等划分)报告体检。

所以我想改变模式如下(用星号标记的字段组成键):

但我发现这个解决方案有点令人不安,因为我将相同的信息(体检)存储在两个表中。在这种情况下,“选择患者进行的所有体检”的查询结果就不是那么“优雅”了。

我真的不知道如何表达我的问题,但这种情况对我来说似乎很奇怪。我想知道问题是否源于规范(我无法更改),或者是否有更好的方法来模拟数据的“两个版本”。

0 投票
6 回答
311800 浏览

sql - PostgreSQL 如果不存在则创建表

在 MySQL 脚本中,您可以编写:

... 其他的东西 ...

然后您可以多次运行脚本而无需重新创建表。

你如何在 PostgreSQL 中做到这一点?