问题标签 [relational-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.
java - 关系数据库数组(H2、Java)
关于如何实现数组,我似乎有两种选择,我想知道我应该选择哪一种:
使用 ARRAY 数据类型并(据我了解)有效地将数据对象序列化到数据库中(在我的情况下,它们只是包装的原始类型;不知道另一种方法来完成这项工作)。
为每个数组项使用单独的表和外键映射。
如果你有这方面的经验(尤其是 H2),你会推荐哪个?
sql - 在 PostgreSQL 中表示稀疏数据
在 PostgreSQL 中表示稀疏数据矩阵的最佳方法是什么?我看到的两种明显的方法是:
将数据存储在一个表中,每个可能的功能(可能数百万)都有一个单独的列,但对于未使用的功能,默认值为 NULL。这在概念上非常简单,但我知道对于大多数 RDMS 实现来说,这通常是非常低效的,因为 NULL 值通常会占用一些空间。但是,我读了一篇文章(不幸的是找不到它的链接)声称 PG 不占用 NULL 值的数据,使其更适合存储稀疏数据。
创建单独的“行”和“列”表,以及一个中间表来链接它们并在该行存储列的值。我相信这是更传统的 RDMS 解决方案,但与之相关的复杂性和开销更大。
我还发现了 PostgreDynamic,它声称可以更好地支持稀疏数据,但我不想仅仅为了这个特性而将我的整个数据库服务器切换到 PG 分支。
还有其他解决方案吗?我应该使用哪一个?
django - django模型:如何在模型中拥有可变数量的外键?
例如,模型简历包含可变数量的模型项目,
我的模型和它们之间的关系应该是什么来实现这一点?
提前致谢。
database-design - 为什么要用多列作为主键(复合主键)
此示例取自w3schools。
我的理解是这两个列一起 (P_Id
和LastName
) 代表表的主键Persons
。这个对吗?
- 为什么有人要使用多列而不是单列作为主键?
- 在给定表中可以将多少列一起用作主键?
c# - C# 将大量数据从 CSV 导入数据库
将大量数据从 CSV(300 万+行)加载到数据库的最有效方法是什么。
- 数据需要格式化(如姓名列需要拆分成名字和姓氏等)
- 我需要尽可能有效地做到这一点,即时间限制
我是否支持使用 C# 应用程序逐行读取、转换和加载数据的选项?这是理想的,如果不是,我有什么选择?我应该使用多线程吗?
mysql - 存储日期我火车时间表MYSQL
我在 MYSQL 中创建了一个火车时刻表数据库。每天有数千条路线。但除了少数例外,大多数路线在每个工作日都是相似的,但在周末会有所不同。
此时我基本上每天午夜更新我的 SQL 表,以获取接下来 24 小时的出发时间。然而,这非常不方便。所以我需要一种将日期存储在表格中的方法,这样我就不必每天都这样做了。
我尝试创建一个单独的表,在其中存储每个路由号的日期(路由号每天都会重置),但这使我的查询变得如此缓慢以至于无法使用。这是否意味着我必须将出发和到达时间存储为日期时间?在这种情况下,包含路由的主表将有几百万个条目。
还是有其他方法?
我的路由表如下所示:
php - 如何从 phpMyadmin 中的一个表中获取 ID 并将其添加到插入时的另一个表字段
我正在尝试将一个表中的 id 添加到另一个表以提供与表的关系。我正在从表单中插入数据的许多表上执行此操作。示例:人员拥有和项目,因此项目具有项目和人员 ID 来链接两者,但是在某些情况下,我有可选表,所以有时这些表的 ID 将添加到项目表中,有时它会保留为空,请参阅上一个关于这个。在我看来,执行一个 select 语句从其他表中获取 id,然后更新刚刚插入的字段似乎不是最好的方法。有人对如何做到这一点有更好的想法吗?谢谢。
database - 占用磁盘空间较少的数据库
我正在寻找解决方案来存储大量信息,消耗更少的磁盘空间。
信息结构很简单,查询也很简单。我查看了诸如 Apache Cassandra 和关系数据库之类的解决方案,但找不到提到磁盘使用情况的比较。
任何关于此的想法都会很棒。
php - “多对多”关系的同义词(关系数据库)
“多对多”关系的同义词是什么?我已经完成了一个对象关系映射器的编写,但我仍然对如何命名添加该关系的函数感到困惑。
addParent() 和 addChild() 对于多对一/一对多和 addSuperclass() 对于一对一继承似乎很合乎逻辑,但是对于面向对象的程序员来说 addManyToMany() 听起来很不直观。addSibling() 或 addCousin() 也没有任何意义。
有什么建议么?在您将此视为非编程问题之前,请记住一致的命名方案和封装对于编程来说是不可或缺的:)