relational-database相关内容

MySQL 数据库设计.在 1to1 表中插入行.

将行插入到表中相互引用 1 到 1 的最佳方法是什么? 我的意思是,在 MySQL 5.5 和 InnoDB 表中,我的数据库设计类似于以下 当我们尝试在 table1 和 table2 中插入行时,就会出现问题.由于 MySQL 中没有多表插入,所以我不能插入一行,因为两个表中的外键都是 NOT NULL 字段,应该同时插入到两个表中. 解决这个问题的最佳方法是什么? 我 ..
发布时间:2022-01-09 12:52:52 数据库

如何建立典型的用户 HABTM 角色关系

我对此很陌生,我正在为我的用户身份验证使用 cancan + devise.但是,我不太确定设置典型的用户 HABTM 角色关系意味着什么,也不太了解 HABTM 关系是什么. 谁能很好地解释它或给我指出一个好的教程或示例? 解决方案 HABTM 意味着拥有并属于许多.您基本上需要一个表作为中间人来跟踪多个 ID(称为直通表).当被引用为典型的用户 HABTM 角色关系时,它们实际上 ..

phpMyAdmin - 错误:关系功能被禁用

当我想使用 phpMyAdmin 4.3.8 在设计器模式下创建两个表之间的关系时,它给我一个错误消息:错误:关系功能被禁用!当我用 4.1.4 尝试它时,它工作得很好.我似乎找不到应该在哪里更改设置才能在设计器模式下创建关系.任何的想法?提前致谢! 解决方案 使用 将您的表/数据库引擎转换为 InnoDB ALTER TABLE table_name ENGINE=InnoDB; ..
发布时间:2022-01-05 18:16:17 数据库

在 phpMyAdmin 中添加约束

我觉得我很愚蠢,但我在 phpMyAdmin 界面上找不到任何地方来向外键添加约束,例如级联删除 我在此处和 phpMyAdmin wiki 上寻找过类似的问题,但找不到任何相关信息. 我意识到我可以通过查询界面来做到这一点,但我想知道如何通过图形界面来做到这一点. 解决方案 首先,你的存储引擎应该是 InnoDB.然后选择一个表并转到“结构"选项卡. 在表格下方,您将看 ..
发布时间:2022-01-05 17:38:42 数据库

如何使用 getattr 从模型中获取外键值

我有一个模型 Project 并且我正在使用以下指令获取它的属性 attr = getattr(project, 'id', None) project 是实例,id 是字段,None 是默认返回类型. 我的问题是:如果我想用这个获取外键怎么办? 获取客户名称 project.customer.name满足以上条件如何获取客户名称? 已经试过了 如果可调用(属性):上 ..
发布时间:2022-01-02 09:31:35 Python

Rails -- 如何设置可以属于 3 个不同模型之一的模型

我正在尝试制作一个应用程序,它可以进行类似于您在学校体验的测试. 我有一个模型问题,它可以属于考试、测验或作业. 我应该为“:exam_id, :integer, :null => false; :quiz_id, :integer, :null => false; :assignment_id, :integer, :null => false;"创建字段吗? 问题将属于其中一 ..
发布时间:2022-01-02 09:11:47 其他开发

Entity Framework 数据库映射关系(使用 Seed() 方法创建重复项)

我创建了一个帖子,其中包含一个问题 和 另一个问题.这些可以作为参考,但我认为它们已处理. 我因这些问题而产生的问题以及我(需要或不需要)采取的行动困扰着我,因为我不太了解 EF 的行为和期望. 我有一个 Product、PurchasePrice 和 SalesPrice 实体,我最初的想法是 1 个产品可以有多个 PurchasePrice,但 1 个 PurchasePrice ..

Google BigQuery/Amazon Redshift 使用基于列的关系数据库还是 NoSQL 数据库?

我仍然不太清楚基于列的关系数据库与基于列的 NoSQL 数据库之间的区别. Google BigQuery 支持类似 SQL 的查询,那么它怎么可能是 NoSQL? 我所知道的基于列的关系数据库是 InfoBright、Vertica 和 Sybase IQ. 我所知道的基于列的 NoSQL 数据库是 Cassandra 和 HBase. 以下有关 Redshift 的文章 ..

为什么多值字段在关系数据库中是个坏主意

一直在使用 Mongodb 和 Solr/Lucene,我开始想知道为什么关系数据库的多值字段(通常)被认为是一个坏主意? 我了解关系数据库和规范化的理论基础.然而,在实践中,我遇到了许多用例,我最终使用键值对的元表来补充主表,例如在标记的情况下,我希望我不必进行多个连接查找数据.或者要求突然从每篇文章必须支持一位作者变为多位作者. 那么,拥有多值字段有哪些缺点,或者供应商是否选择不支 ..
发布时间:2021-12-30 08:29:32 其他开发

定义外键有什么好处

在使用处理关系的 MVC 框架时定义外键有什么好处? 我正在使用一个带有框架的关系数据库,该框架允许带有关系的模型定义.因为外键是通过模型定义的,所以外键似乎是多余的.在管理开发中的应用程序的数据库时,编辑/删除使用外键的表很麻烦. 完全放弃使用外键是否有任何好处? 解决方案 带有约束的外键(在某些数据库引擎中)为您提供低级别(数据库级别)的数据完整性.这意味着您无法物理创建不 ..

(数据库设计 - 产品属性):产品属性数据库设计有什么更好的选择?

我刚开始接触数据库设计.cms的产品属性数据库设计有什么更好的选择?(请建议其他选择). 选项 1:1 张桌子 产品{ID产品名称颜色价格属性名称1属性值1属性名称2属性值2属性名称3属性值3} 选项 2:3 张桌子 产品{ID产品名称颜色价格}属性{ID名称价值}产品属性{产品编号属性 ID} 解决方案 您在数据库设计中犯了一个常见错误,将名称存储在一列中,将值存储在另一列中.这 ..

3NF 和 BCNF 有什么区别?

有人可以向我解释 3NF 和 BCNF 之间的区别吗?如果您还可以提供一些示例,那就太好了.谢谢. 解决方案 3NF 和 BCNF 的区别很微妙. 3NF 定义 如果关系在 2NF 中并且没有非主属性传递依赖于主键,则该关系在 3NF 中.换句话说,如果对于 R 中的每个函数依赖 X ⟶ A,至少满足以下条件之一,则关系 R 是 3NF: X 是 R 中的键或超键 ..

在 SQL Server 数据库中使用单行配置表.馊主意?

在开发购物车应用程序时,我发现我需要根据管理员的偏好和要求保存设置和配置.此信息可以是公司信息、运输帐户 ID、PayPal API 密钥、通知首选项等中的任何信息. 在关系数据库系统中创建一个表来存储单行似乎非常不合适. 存储这些信息的合适方式是什么? 注意:我的 DBMS 是 SQL Server 2008,编程层是用 ASP.NET(在 C# 中)实现的. 解决方案 ..

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

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

候选键有什么意义?

我对数据库管理还很陌生,这个问题似乎永远不会超过一句话回答.所有其他 SO 答案都说“候选键是最小的超级键."这对我来说毫无意义. 候选键应该指定数据库记录的唯一性,对吗?主键是候选键.如果主键已经指定了唯一性,那么添加更多候选键有什么意义? 我看到过如下示例记录: 员工(ID、姓名、电话号码) 其中 ID 是主键,PhoneNumber 是候选键.据我所知,ID足以指定员 ..

自然键与代理键 innodb 外键

一个问题: 我有两张桌子: 产品身份证号码名称 VARCHAR(64)一些文字其他 INT完全布尔 和 成分身份证号码名称 VARCHAR(64)描述文本 现在我也有一个链接表 Products_Ingredientsproduct_id INT成分_id INT 对于我的多对多关系. 现在,产品和成分都将拥有独特的名称.所以我可以使用名称作为自然键……但这会是一个好主意吗 ..

ER图中3个实体之间的关系 - 三元足够还是还需要2个二元?

我正在尝试为我的项目管理软件绘制 ER 图描述如下.它包含以下实体: 项目 - 软件项目 任务 - 可以分解为多个任务的软件项目 员工 - 属于该软件的员工 还有: 一个项目可以分为多个任务.(任务可以由管理员用户创建,管理员可以将这些任务分配给选定的项目.这里只将任务分配给项目,而不是将员工分配给项目.) 员工可以分配到项目中. (可以给员工分配项目,这里只给员工分 ..

复式记账的关系数据模型

假设有一家银行、一家大型商店等,希望正确地为内部帐户和跟踪客户帐户进行会计处理.与其实施满足当前简单而狭隘的要​​求,这将是“家酿":结果证明这些只是当前简单要求的临时拐杖,并且在出现新要求时很难或不可能扩展. 据我所知,复式记账是一种行之有效的方法,可满足所有会计和审计要求,包括目前未考虑的要求.如果实施,它将: 消除随着时间的推移会发生的增量增强,以及费用, 未来不需要增强. ..

带有股票期权的库存管理

我正在尝试创建一个库存管理模式,我可以在其中跟踪与产品相关的各种选项的库存.一个产品可能有任意数量的选项,但在本例中,我将使用“尺寸"和“颜色"选项. 我想出了三个表格: 创建表 shop_options (option_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,option_name VARCHAR(40) 非空,主键(option_id)) ..
发布时间:2021-12-26 21:01:20 数据库

关于传感器/读取/警报数据库设计的意见

我最近问了几个关于数据库设计的问题,可能太多了;-) 但是我相信我正在慢慢地用我的设计触及问题的核心,并且正在慢慢地将其归结.关于“警报"如何存储在数据库中,我仍在努力做出一些决定. 在这个系统中,警报是一个必须被确认、采取行动等的实体. 最初我将读数与这样的警报相关联(非常精简):- [位置]位置 ID[传感器]传感器 ID位置 ID上限值下限值[传感器读数]传感器读取 ID价值地 ..
发布时间:2021-12-26 20:57:31 其他开发