referential-integrity相关内容

SQLite 与 NHibernate 结合是否支持参照完整性/外键?

我已经阅读了一些关于 NHibernate with SQLite 的文章,认为当我需要轻量级数据库处理时它可能是一个非常好的选择. 我已经阅读了以下(和链接),其中讨论了 NHibernate SQLite 方言在创建数据库时如何不支持外键,因为 NHibernate 通过 ALTER TABLE 创建外键.p> 我想知道,如果我通过其他工具创建一个 SQLite 数据库,我能否将 NH ..
发布时间:2022-01-20 12:53:57 数据库

mysql 一个表中的多个外键指向同一个主键

我有一个 user 表,其中 userID 作为主键.我有另一个名为 Friends 的表.在 Friends 表中,我有两个用户作为朋友,由 UserID 和 FrndID 列表示,其中 UserID 和FrndID 应该是 user 表中的 userID. 我想强制执行数据完整性.我可以使用这样的东西吗? 添加约束`ufd_users_fk`外键(`userId`,`friendId` ..
发布时间:2022-01-20 12:41:52 数据库

如果没有任何其他子项引用,则删除父项

我有一个示例情况:parent 表有一个名为 id 的列,在 child 表中作为外键引用. 删除子行时,如果父行没有被其他子行引用,如何删除父行? 解决方案 在 PostgreSQL 9.1 或更高版本中,您可以使用 数据修改 CTE.这通常不太容易出错.它最小化两个 DELETE 之间的时间范围,其中 竞争条件可能导致并发操作的惊人结果: 与 del_child AS (从孩子 ..

具有参照完整性(删除级联)的 NoSQL/RDBMS 混合?

是否有一个数据库可以为您提供参照完整性的好处,并且能够使用 SQL 类型语言进行查询,同时还允许根据其数据属性以及它们之间的关系来松散地定义实体? 例如采用 RBAC 类型模型,其中您拥有权限、用户、用户组和角色.复杂/灵活的模型可能具有以下规则: 角色可以拥有一个或多个权限,并且一个权限可以属于一个或多个角色 用户可以拥有一个或多个权限,一个权限可以属于一个或多个用户 用户组可以 ..

MySQL外键允许NULL吗?

我正在拼凑一个图片网站.基本架构是非常简单的 MySQL,但我在尝试表示与图像相关的可能管理标志(“不适当"、“受版权保护"等)时遇到了一些麻烦.我目前的想法如下: tblImages (imageID INT UNSIGNED NOT NULL AUTO_INCREMENT,...);tblImageFlags (imageFlagID INT UNSIGNED NOT NULL AUTO_I ..
发布时间:2022-01-06 22:42:14 数据库

在 Cassandra 中建模 M:M 关系的替代方法是什么?

考虑需要在 Cassandra 数据存储中表示的 M:M 关系. 有哪些 M:M 建模选项可用?对于每一个选择,什么时候更喜欢?您在 Cassandra 驱动的项目中做出了哪些 M:M 建模选择? 解决方案 与使用 rdbms 的方式使用连接表不同,您将拥有一个 ColumnFamily,其中包含每个 X 的一行以及与之关联的 Y 列表,然后是一个 CF,其中包含每个 Y 的行和与其 ..
发布时间:2021-12-31 18:10:25 其他开发

外键与完整性检查约束

我正在构建一个系统,它是一个中央存储库,用于存储来自许多其他系统的数据.当其他系统数据更新时,需要同步过程来更新中央存储库.将有一个 sync_action 表来标识中央存储库需要与哪个系统同步以及所需的同步类型.有一组不太可能改变的已定义操作.下面是一个精简的系统. 在我看来,我可以通过两种方式来解决这个问题: 选项 1) 有一个 Action 表,其中包含 3 个可用的操作.有一个 ..
发布时间:2021-12-26 21:14:05 其他开发

(doctrine2 + symfony2) 级联删除:违反完整性约束 1451

首先,抱歉我的英语不好... 我有四个实体:用户、应用程序、捆绑包和;实体.这是它们的关系(使用级联持久化和删除,见下面的代码): 用户1-n应用 应用 1-n 包 捆绑1-n实体 一切正常.但是一个用户可以有两个他的默认实体,我需要直接访问它们. 所以我在 User 上添加了两个字段,entity1 &entity2,具有 1-1 关系.现在我的应用程序崩溃了: 执 ..
发布时间:2021-12-10 11:27:57 其他开发

如果没有被任何其他子项引用,则删除父项

我有一个示例情况:parent 表有一个名为 id 的列,在 child 表中作为外键引用. 删除子行时,如果没有其他子行引用,如何删除父行? 解决方案 在 PostgreSQL 9.1 或更高版本中,您可以使用 数据修改 CTE.这通常不太容易出错.它最小化两个 DELETE 之间的时间范围,其中 竞争条件 可能导致并发操作的意外结果: WITH del_child AS (从孩 ..

在 MySQL 中,我可以将参照完整性检查推迟到提交吗

如这个问题,我一直在阅读 PoEAA 并想知道是否有可能将参照完整性检查推迟到 MySQL 中提交. 当我想在同一个提交中插入一堆产品和相关产品时,我遇到了这个问题.即使在事务中,当我尝试插入 related_products 连接表时,我也会遇到约束错误. 如果有帮助,我将使用 PHP PDO 进行数据库连接. 如果您能提供任何帮助,我将不胜感激. 解决方案 看起来我的 ..
发布时间:2021-11-20 22:36:48 数据库

是否可以将参照完整性检查推迟到 SQL Server 中的事务结束?

我最近在 Fowler 的 PofEA 中读到,某些数据库引擎允许您将 RI 检查推迟到事务结束.这在 SQL Server 中可行吗? 问题出现在一些场景中,我试图保存包括插入和删除在内的更改,确定执行操作的正确顺序以避免 RI 失败可能会很棘手.我知道在交易结束时 RI 会很好,因此推迟这些检查似乎是理想的. 解决方案 看起来 sql server 不允许这样做,但是您 不是唯一 ..
发布时间:2021-09-09 19:07:56 数据库

SQL Server 关系隐藏在存储过程而不是架构中

目前,我们几乎没有参照完整性,并且有许多自联接的表(实际上也许最好将其表示为单独的表或联接的视图). 这些表如何相互关联的知识隐含在存储过程的逻辑中,而不是在模式中明确显示.我们正在考虑改变这一点. 第一步是真正理解隐含关系并记录它们. 所以我的问题是... 提取隐含信息的最佳方法是什么,而不是关注每个存储过程.我会考虑任何工具,编写我自己的 SQL 来查询系统表,或者使用 ..
发布时间:2021-08-30 19:37:08 数据库

强制执行最大子行数

如果一个数据库有一对典型的“父子"形式的表,有没有办法强制(不使用触发器)每个父级最多只能有四个子级? 所以我们有一个Parents表: 创建表 dbo.Parents (ParentID char(2) 非空主键/* 雅达雅达雅达 */) 和儿童表: 创建表 dbo.Children (ChildID char(2) 非空主键,ParentID char(2) 非空引用 dbo.Pa ..
发布时间:2021-08-25 19:24:01 数据库