问题标签 [table-structure]

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 投票
0 回答
119 浏览

mysql - MySQL Keywords as column name

Scenario I have a MYSQL table with a column called text. I've only recently realized that TEXT is in fact a MYSQL keyword, but I haven't had any problems using that column name.

Background I've already noticed from the MYSQL documentation that there is a difference between reserved words and keywords: reserved words are more restrictive in that they need to be quoted with back ticks if you want to use them as identifiers. This question is about keywords, not reserved words.

Question Are there any problems that could come up with having a keyword such as text or type as a column name?

  • If yes, in which scenario?
  • If not, why do we even care that they are keywords? Is there any difference at all to a custom name?
0 投票
1 回答
92 浏览

php - Laravel 多对多表结构的正确方法

我有一个多对多的关系。可以说我有很多用户可以在很多组中,反之亦然。

我不想制作包含以下列的表格

group_user

id / name / user_id / group_id

由于我只有 3 组初级、中级和高级,我不想为他们制作另一张单独的桌子。我的想法是采用以下方法:

  1. 使用以下数据在同一张表 group_user 中创建 3 条记录

id / name / user_id / group_id

1 / 初中 / null / null

2/中间/空/空

3 / 高级 / null / null

所以现在当我想插入一个 group_id 时,我将使用我刚刚使用 NULL user_id 和 group_id 创建的这 3 个 ID。

我的记录将如下所示:

id / name / user_id / group_id

4 / NULL / 125 / 1 -> 在同一个表中的 Junior 组的 id。

5 / NULL / 125 / 3 -> 同一张表中的 Senior group 的 id。

0 投票
1 回答
92 浏览

sql - 如何从 sql 数据库中检索表结构?

所以基本上我想要一个 SQL 命令,它返回表中的每一列以及该列中的数据类型以及是否可以为空。

0 投票
1 回答
72 浏览

html - 为什么表格标题和数据在 HTML 中放在同一行?

我正在学习 HTML 表格。我有这个例子:

我不明白为什么表头(Horse)和数据(Mare)放在同一行,然后另一个数据(Stallion)放在另一行,例如

当我将第一个数据标签 (Mare) 移动到第二行时,我得到三列行。

那么,构造这样的表格背后的直觉是什么?不能用别的方法吗?

0 投票
1 回答
275 浏览

sql - 如何将商店营业时间存储在 SQL 数据库中?

我正在为商店(实际上是餐馆)开发一个应用程序,需要为其设计 PostgreSQL 数据结构。

例如,餐厅的营业时间可能为周一至周五 7:30 至 17:00 以及次日 20:30 至 1:00。

每个工作日存储的数据类似于['Monday', true, 450, 1050, 1230, 1500 ],为真 ===“它确实在星期一开放”,450,开放时间是午夜过后 450 分钟(见这里),即在 7:30h,在 17 点关闭: 30 小时,20:30 重新开放,凌晨 1 点关闭(在我的祖国西班牙,分时段和午夜后的关闭时间一点也不稀奇)。当然,我可以省略前两个元素,'Monday' 和 'true',但它们可能会使前端开发更容易(例如,参见数据输入模型)。

我已经确定了至少四种在 PostgreSQL 数据库中存储数据的可行选项:

1) 'restaurants' 表中具有 jsonb 数据类型的列 'opening_hours'

[

['星期一',真,450、1050、1230、1500]

...

['星期天',假,0,0,0,0]

]

2) 表“餐厅”中每小时一列

我可能会省略上面显示的前两个元素('Monday' 和 'true')。这将在我的表中添加 7 x 4 = 28 列:

  • 打开Mon1
  • 关闭Mon1
  • 打开Mon2
  • 关闭Mon2
  • 打开星期二1
  • ...

3) 新表“opening_hours”

使用外键 'restaurant_id' 引用表 'restaurants' 中的 'id',与 2) 的设计相同。

4) 所有 7 个工作日的数据类别列

例如,列“open1”将采用“0450-0450-0450-0450-0450-0000-0000”的形式,就像这里一样。因此,我会像选项 1) 那样汇总数据,但我看不出后者比前一个选项有任何真正的优势。

目前,选项 1 足以满足我想要实现的业务逻辑:以与 Google 类似的方式显示营业时间,所以我认为没有任何理由足以支持 2)或 3)超过 1),但当然我可能会错过未来发展的可能性。

什么数据结构遵循最佳实践?还有比这些更好的选择吗?

0 投票
0 回答
120 浏览

mysql - mysql信息_schema.tables的create_time、update_time

Mysqlinformation_schema.tables表显示所有表的状态。Mysql 文档在这里

我删除了一user_point_history列表(已经存在),然后更改了user_point_history的create_time 和 update_time。information_schema.tables

  • create_time -> 现在
  • 更新时间->空

在此处输入图像描述

如何知道表结构的变化历史?

我必须在mysql上进行一些设置吗?我想知道何时创建或更改表。

0 投票
0 回答
52 浏览

mysql - mysql转储文件缺少表结构和数据

我在 mysql 中运行以下命令来转储数据库:

生成的转储文件只包含变量,没有表结构和数据。

我的同事在同一台主机上运行相同的命令,但他的转储文件完全不同。它包含与我的文件相同的 SET 变量,但还包括:

我正在阅读 my.cnf 文件,我在 /etc/ 中确实有该文件,但该文件中的任何内容都与我的同事不同。我对我们如何拥有如此不同的转储文件感到非常困惑——在同一主机上使用相同的 my.cnf 文件运行相同的命令。

任何关于下一步做什么/尝试的方向都值得赞赏。这是我所得到的。它可能不是 my.cnf 文件吗?基于权限?

我不想尝试新命令,因为这需要在与 mysql 集成的 Perl 中重新编写一堆单元测试。我的目标是找出是什么导致我的转储文件专门遗漏了结构和数据。

0 投票
1 回答
36 浏览

postgresql - PostgreSQL 查询和表结构提高性能

我有一张daily_data表来保存商店的条目、销售额、营业时间(可以是 100 种类型)。我的计划是计算许多商店(可以是 1000 家商店)的转化率、条目/小时、销售额/小时……。
它可以是 1 天、2 天或月、年的数据。

id_pos 日期 数据类型 价值
1 2021-11-01 1 100
1 2021-11-01 2 20
1 2021-11-01 3 8
2 2021-11-02 1 50
2 2021-11-02 2 10
2 2021-11-02 3 8
... ... ... ...

data_type列说明:

  1. 条目
  2. 销售量
  3. 小时

* id_pos : 店铺位置 ID

我的查询:

执行上述查询后,我处理编码结果以计算转换(销售额/条目)、每小时销售额、每小时条目数,...(处理具有许多异常情况的公式)。

问题:
这种结构对于小数据就足够了,但是当我有 10-20 百万行时,查询性能就不好了!
所以我的计划是创建一个新的“total_data”表,以保存转换数据、每小时条目、每小时销售额(执行上述查询后)。通过这种方式,我可以直接选择最终数据,而无需在编码中处理任何公式。

id_pos 日期开始 日期结束 数据类型 价值
1 2021-11-01 2021-11-30 转换 10
1 2021-11-01 2021-11-30 条目/小时 20.1
1 2021-11-01 2021-11-30 销售额/小时 5.1
2 2021-11-01 2021-11-30 转换 22
2 2021-11-01 2021-11-30 条目/小时 6.2
2 2021-11-01 2021-11-30 销售额/小时 6.5

但问题是日期范围,它可以是 2021-11-02 到 2021-11-05 或数千个案例。如何制作正确的“data_total”表?

0 投票
1 回答
38 浏览

sql - 广泛的数据字典和 ER 图

这是一个作业的问题。有人能帮帮我吗?

标准

  1. 包含适当数据项和每个数据项的所有相关详细信息的广泛数据字典。
  2. 包含适当表和使用的约束的广泛 ER 图。数据字典中的所有数据项都反映在表中。

给定数据字典

为赋值给出的数据字典

最后我的问题

  1. 当已经有数据字典时,我应该创建一个广泛的数据字典吗?
  2. 这是我在下面所做的正确吗? 表结构

ER图