database-design相关内容

创建分层定义的数据集的扁平表/视图

我有一个包含分层数据的表格.此层次结构中目前有大约 8 个级别. 我真的很喜欢数据的结构方式,但是当我需要知道级别 8 的记录是否是级别 1 的记录的子级时,性能很差. 我有 PL/SQL 存储函数,它们为我执行这些查找,每个函数都有一个 select * from tbl start with ... connect by... 语句.当我查询少量记录时,这很好用,但我现在需要一次查 ..

MySQL:如何做到行级安全(如 Oracle 的 Virtual Private Database)?

假设我有销售各种产品的供应商.因此,在基本层面上,我将拥有以下表格:vendor、product、vendor_product. 如果 vendor-1 将 Widget 1 添加到 product 表,我只希望 vendor-1 看到该信息(因为该信息由供应商“拥有"-1).供应商 2 也是如此.假设 vendor-2 添加了 Widget 2,只有 vendor-2 应该看到该信息. ..
发布时间:2021-12-26 21:17:24 数据库

MySQL基于外键的第二个自增字段

我多次遇到这个问题,但还没有找到解决这个问题的“MySQL 方法"——我有一个包含用户和报告的数据库强>.每个报告都有一个id,我将其作为报告编号显示给我的用户. 主要的抱怨是用户对为什么报告从他们的系统中丢失感到困惑.实际情况并非如此.实际上,他们意识到了他们的 ID 之间的差距,并假设这些是缺失的报告,而实际上,这只是因为另一个用户填补了这个自动递增的差距. 我需要知道是否有办法在 ..
发布时间:2021-12-26 21:17:16 数据库

识别传递依赖

我正在处理一个表,该表具有一个复合主键,该主键由 1NF 形式的两个属性(总共 10 个)组成. 在我的情况下,全功能依赖涉及依赖我的主键中的两个属性. 部分依赖依赖于主键中的任一属性. 传递依赖涉及函数依赖中的两个或多个非键属性,其中一个非键属性依赖于我的主键中的一个键属性. 从表中提取传递依赖,似乎在规范化之后这样做,但我的任务要求我们在绘制依赖关系图之前识别所有函数依赖(之后 ..
发布时间:2021-12-26 21:16:57 其他开发

如何维护跨数据库的外键约束?

我知道,我知道,将两个相关的表放在不同的数据库上并不是最好的设计实践.但无论如何,假设我必须绝对地去做.而且我必须将以前位于数据库中的两个与外键相关的表分解为两个数据库,位于两个不同的服务器上,但我仍然想维护数据库正直.这样做的最佳方法是什么? 编辑:我正在使用 MySQL 和 Symfony 解决方案 我想不出任何方法可以用标准 MySQL 做到这一点. 您可以为 MySQL ..
发布时间:2021-12-26 21:16:46 数据库

在多个表中搜索并在结果行中显示表名

我如何构建一个 SQL 语句来运行多个平面不相关的表,并用选择的结果和结果来自的表的名称来显示结果. 场景是这样的,我有几个表,每个表都有相同的列名.这是我从外部接收到的数据,并按原样存储在不同的表中. 相同的表看起来像: 表一:pid、parent_name、student_name、student_number、class_name、columnN表 2:pid、previous ..
发布时间:2021-12-26 21:16:15 其他开发

在数据库中存储多项选择值

假设我让用户检查她说的语言并将其存储在数据库中.重要的旁注,我不会在 db 中搜索任何这些值,因为我将有一些单独的搜索引擎进行搜索.现在,存储这些值的显而易见的方法是创建一个表,如 用户语言(用户 ID nvarchar(50),LookupLanguageID int) 但该站点将是高负载,我们正在尽可能地消除任何开销,因此为了避免在 UI 上显示结果时与主成员表连接,我想在主表中为用户存储 ..
发布时间:2021-12-26 21:16:06 其他开发

在表上引入 FOREIGN KEY 约束可能会导致循环或多个级联路径导致 Database.SetInitializer 不起作用?

我的代码优先数据库运行良好.如果我对数据库上下文进行了更改,则下次启动应用程序时数据库将更新.但是后来我向数据库中添加了一些模型,并在重新启动应用程序时出现此错误: 在表 'OrderDetails' 上引入 FOREIGN KEY 约束 'FK_OrderDetails_Orders_OrderId' 可能会导致循环或多个级联路径.指定 ON DELETE NO ACTION 或 ON U ..

强制执行具有完整性约束的“子集"关系的最佳方法是什么

例如,给定 3 个表: 腹足类 蜗牛 蛞蝓 并假设我们要强制执行 'gastropod' 中的每一行在 'snail' 或 'slug' 中都有一个对应的行(但不能同时存在) 'slug' 中的每一行在 'gastropod' 中都有一个对应的行 'snail' 中的每一行在'gastropod' 中都有一个对应的行 设置架构以强制执行这些约束的最佳方法是什么? ..
发布时间:2021-12-26 21:15:51 数据库

规范化数据库对资源有什么影响?

当从一个相对非规范化的形式中取出一个数据库并对其进行规范化时,如果有的话,资源利用率可能会发生什么变化? 例如,规范化通常意味着从更少的表中创建更多的表,这意味着数据库现在拥有更多的表,但其中许多表非常小,从而使经常使用的表更好地适应内存. 更多的表也意味着(可能)需要更多的联接来获取被抽象出来的数据,因此人们会期望系统需要执行的更多联接产生某种影响. > 那么,规范化未规范化的数 ..
发布时间:2021-12-26 21:15:47 其他开发

在 MySQL 中存储时区偏移的数据类型/结构

在 MySQL 中存储时区偏移量的正确数据类型/结构是什么?我只想存储数值(城市和国家显然存储在其他列中). 示例: -5:00 瓜亚基尔,ECU -4:30 加拉加斯,威尼斯 0:00 某个城市 2:00 波恩,德国 解决方案 你应该使用 TIME.这是任务的正确数据类型:您有格式和 计算 可用.此外,根据文档, TIME 也应该被用作两个时刻之间差异的结果,这实际上是 ..
发布时间:2021-12-26 21:15:37 数据库

postgresql:md5 消息摘要的数据类型?

我想使用某个字符串的 MD5 消息摘要作为表的主键.我应该为这样的字段使用什么数据类型?我应该为该字段编写哪些 select 和 insert 语句? 解决方案 作为 bytea 的 md5 哈希将仅使用 16 个字节而不是 32 个字节用于六进制表示: create table t (d bytea);插入 t (d) 值(摘要('my_string','md5')),(解码(md5( ..
发布时间:2021-12-26 21:15:30 其他开发

检查 PostgreSQL 中的统计目标

我已经搜索过,但找不到任何简单直接的答案.如何检查 ANALYZE 使用的当前统计目标? 解决方案 统计目标的设置按列存储在目录表中 pg_attribute.你可以这样设置: ALTER TABLE myschama.mytable ALTER mycolumn SET STATISTICS 127; 然后像这样检查: SELECT attstattargetFROM pg_att ..
发布时间:2021-12-26 21:15:22 其他开发

如何将空值传递给外键字段?

我有两张桌子: 大学: university_id(p.k) |大学名称 和用户: uid |姓名 |大学_id(f.k) 如何在用户表中保持university_id NULL? 我只写了 1 个查询,我的查询是: INSERT INTO user (name, university_id) VALUES ($name, $university_id); 这里 $univ ..
发布时间:2021-12-26 21:15:16 数据库

在 MySQL 中存储多对多关系的最佳方式?

假设我有一个包含“posts"和“tags"表的简单数据库.帖子可以有多个标签,标签可以属于多个帖子. 构建数据库的最佳方式是什么?我想过使用列表/序列化: 标签idx tag_id, str tag_name帖子idx post_id、str 标题、列表 tag_ids 或者有另一个带有关联的表.问题是使用这个我什至不知道如何构建查询以在收到帖子时提取关联的标签名称. 帖子idx p ..
发布时间:2021-12-26 21:15:10 数据库

查询与查看

我想知道查询和视图在性能方面的区别是什么.如果视图成本很高,除了查询之外,我还能做什么来提高性能? 解决方案 在简单的情况下,视图和即席查询在性能方面几乎相同.如此之多以至于当您使用视图编程时,您应该将其视为视图定义的文本被剪切并粘贴到您的父查询中. HLGEM 在他的回答中指出,某些版本的 SQL Server 允许您“索引"视图——在这种情况下,SQL Server 在幕后维护作 ..
发布时间:2021-12-26 21:14:59 其他开发

MySQL 日期时间索引不起作用

表结构: +-------------+---------+------+-----+---------+----+|领域 |类型 |空 |钥匙 |默认 |额外 |+-------------+----------+------+-----+---------+----------------+|身份证 |整数(11) |否 |PRI |空 |自动增量||总计 |整数(11) |是 ||空 || ..
发布时间:2021-12-26 21:14:43 数据库