referential-integrity相关内容
我已经阅读了一些关于 NHibernate with SQLite 的文章,认为当我需要轻量级数据库处理时它可能是一个非常好的选择. 我已经阅读了以下(和链接),其中讨论了 NHibernate SQLite 方言在创建数据库时如何不支持外键,因为 NHibernate 通过 ALTER TABLE 创建外键.p> 我想知道,如果我通过其他工具创建一个 SQLite 数据库,我能否将 NH
..
我有一个 user 表,其中 userID 作为主键.我有另一个名为 Friends 的表.在 Friends 表中,我有两个用户作为朋友,由 UserID 和 FrndID 列表示,其中 UserID 和FrndID 应该是 user 表中的 userID. 我想强制执行数据完整性.我可以使用这样的东西吗? 添加约束`ufd_users_fk`外键(`userId`,`friendId`
..
在 PostgreSQL 9.3 数据库中,如果我定义表 a 和 b 如下: CREATE TABLE a(i integer);ALTER TABLE a 添加约束 pkey_a PRIMARY KEY (i);创建表 b(j 整数);ALTER TABLE b 添加约束 fkey_ij FOREIGN KEY (j)参考 a (i) 简单匹配ON UPDATE CASCADE ON DELE
..
我有以下数据库架构: members_company1(id, name, ...);members_company2(id, name, ...);个人资料(会员ID,会员类型ID,...);成员类型(id,名称,...)[{ id : 1, name : 'company1', ... },{ id : 2, name : 'company2', ... }]; 因此,每个个人资料都属于来
..
我有一个示例情况:parent 表有一个名为 id 的列,在 child 表中作为外键引用. 删除子行时,如果父行没有被其他子行引用,如何删除父行? 解决方案 在 PostgreSQL 9.1 或更高版本中,您可以使用 数据修改 CTE.这通常不太容易出错.它最小化两个 DELETE 之间的时间范围,其中 竞争条件可能导致并发操作的惊人结果: 与 del_child AS (从孩子
..
我想添加一个约束来检查相关表中的值. 我有 3 张桌子: 创建表 somethink_usr_rel (user_id BIGINT 非空,stomethink_id BIGINT NOT NULL);创建表 usr (id BIGINT 非空,role_id BIGINT NOT NULL);CREATE TABLE 角色 (id BIGINT 非空,输入 BIGINT NOT NULL
..
是否有一个数据库可以为您提供参照完整性的好处,并且能够使用 SQL 类型语言进行查询,同时还允许根据其数据属性以及它们之间的关系来松散地定义实体? 例如采用 RBAC 类型模型,其中您拥有权限、用户、用户组和角色.复杂/灵活的模型可能具有以下规则: 角色可以拥有一个或多个权限,并且一个权限可以属于一个或多个角色 用户可以拥有一个或多个权限,一个权限可以属于一个或多个用户 用户组可以
..
我正在拼凑一个图片网站.基本架构是非常简单的 MySQL,但我在尝试表示与图像相关的可能管理标志(“不适当"、“受版权保护"等)时遇到了一些麻烦.我目前的想法如下: tblImages (imageID INT UNSIGNED NOT NULL AUTO_INCREMENT,...);tblImageFlags (imageFlagID INT UNSIGNED NOT NULL AUTO_I
..
考虑需要在 Cassandra 数据存储中表示的 M:M 关系. 有哪些 M:M 建模选项可用?对于每一个选择,什么时候更喜欢?您在 Cassandra 驱动的项目中做出了哪些 M:M 建模选择? 解决方案 与使用 rdbms 的方式使用连接表不同,您将拥有一个 ColumnFamily,其中包含每个 X 的一行以及与之关联的 Y 列表,然后是一个 CF,其中包含每个 Y 的行和与其
..
我们计划在我们的数据库中引入简单的审计跟踪,为每个需要审计的表使用触发器和单独的历史表. 以表 StudentScore 为例,它很少有外键(例如 StudentID、CourseID)将其链接到相应的父表(Student & Course). Table StudentScore (StudentScoreID, -- PKStudentID ref Student(StudentID)
..
我正在构建一个系统,它是一个中央存储库,用于存储来自许多其他系统的数据.当其他系统数据更新时,需要同步过程来更新中央存储库.将有一个 sync_action 表来标识中央存储库需要与哪个系统同步以及所需的同步类型.有一组不太可能改变的已定义操作.下面是一个精简的系统. 在我看来,我可以通过两种方式来解决这个问题: 选项 1) 有一个 Action 表,其中包含 3 个可用的操作.有一个
..
我有一个与 在 Magento 中创建产品的完整性约束违规 类似的问题(未回答),但我正在创建一个钩子的自定义观察者进入 catalog_product_save_after 事件 - 基于本教程:http://fishpig.co.uk/blog/custom-tabs-magento-product-admin.html 但是,每当保存新产品时,我都会收到此错误: SQLSTATE[2
..
首先,抱歉我的英语不好... 我有四个实体:用户、应用程序、捆绑包和;实体.这是它们的关系(使用级联持久化和删除,见下面的代码): 用户1-n应用 应用 1-n 包 捆绑1-n实体 一切正常.但是一个用户可以有两个他的默认实体,我需要直接访问它们. 所以我在 User 上添加了两个字段,entity1 &entity2,具有 1-1 关系.现在我的应用程序崩溃了: 执
..
我有一个示例情况:parent 表有一个名为 id 的列,在 child 表中作为外键引用. 删除子行时,如果没有其他子行引用,如何删除父行? 解决方案 在 PostgreSQL 9.1 或更高版本中,您可以使用 数据修改 CTE.这通常不太容易出错.它最小化两个 DELETE 之间的时间范围,其中 竞争条件 可能导致并发操作的意外结果: WITH del_child AS (从孩
..
我想添加一个约束来检查相关表中的值. 我有 3 张桌子: 创建表 somethink_usr_rel (user_id BIGINT 非空,stomethink_id BIGINT 非空);创建表 usr (id BIGINT 非空,role_id BIGINT 非空);CREATE TABLE 角色 (id BIGINT 非空,类型 BIGINT NOT NULL); (如果你想让我对
..
如这个问题,我一直在阅读 PoEAA 并想知道是否有可能将参照完整性检查推迟到 MySQL 中提交. 当我想在同一个提交中插入一堆产品和相关产品时,我遇到了这个问题.即使在事务中,当我尝试插入 related_products 连接表时,我也会遇到约束错误. 如果有帮助,我将使用 PHP PDO 进行数据库连接. 如果您能提供任何帮助,我将不胜感激. 解决方案 看起来我的
..
我最近在 Fowler 的 PofEA 中读到,某些数据库引擎允许您将 RI 检查推迟到事务结束.这在 SQL Server 中可行吗? 问题出现在一些场景中,我试图保存包括插入和删除在内的更改,确定执行操作的正确顺序以避免 RI 失败可能会很棘手.我知道在交易结束时 RI 会很好,因此推迟这些检查似乎是理想的. 解决方案 看起来 sql server 不允许这样做,但是您 不是唯一
..
目前,我们几乎没有参照完整性,并且有许多自联接的表(实际上也许最好将其表示为单独的表或联接的视图). 这些表如何相互关联的知识隐含在存储过程的逻辑中,而不是在模式中明确显示.我们正在考虑改变这一点. 第一步是真正理解隐含关系并记录它们. 所以我的问题是... 提取隐含信息的最佳方法是什么,而不是关注每个存储过程.我会考虑任何工具,编写我自己的 SQL 来查询系统表,或者使用
..
如果一个数据库有一对典型的“父子"形式的表,有没有办法强制(不使用触发器)每个父级最多只能有四个子级? 所以我们有一个Parents表: 创建表 dbo.Parents (ParentID char(2) 非空主键/* 雅达雅达雅达 */) 和儿童表: 创建表 dbo.Children (ChildID char(2) 非空主键,ParentID char(2) 非空引用 dbo.Pa
..
我想知道是否可以编写迁移而不是以下原始 SQL 语句: 执行
..