relational-database相关内容

在关系数据库中存储树结构的已知方法有哪些?

有“给你的父母一个FK"方法,即每条记录都指向它的父记录. 这是一个难以阅读的动作,但很容易维护. 然后还有一个“目录结构键"的方法: 0001.0000.0000.0000 主分支 10001.0001.0000.0000 主分支一的子节点等等 超级容易阅读,但很难维护. 其他方式及其优缺点是什么? 解决方案 一如既往:没有最好的解决方案.每个解决方案都会使不同的事情变得更 ..
发布时间:2021-11-20 22:33:30 MySQL

建模产品变体

我一直在尝试对产品变体进行建模,并认为我可能需要使用 EAV.如果没有 EAV,我可能也能做到,但我担心我可能错过了一些东西.这是我的设计: 这就是我想表达的: 一个产品可以有0个或多个产品变体(例如T恤产品可能有尺寸和颜色变体). 一个产品变体可以有1个或多个产品变体选项(例如,尺寸变体可以是小、中、大). 一个 SKU 由 1 个或多个 product variant opti ..
发布时间:2021-11-20 22:22:10 MySQL

关系型数据库设计多用户类型

我有 4 种类型的用户,每一种都有特定的数据,但他们也共享公共数据,例如 username、password .. 我的第一个想法是创建一个带有 user_type 列的主 users 表.然后在查询用户数据时,我可以先选择他们的 user_type,然后根据 output 运行不同的查询来获取“用户类型"特定数据.我不喜欢这个,因为我希望我可以通过一个查询获取所有与用户相关的数据,最好使用 ..
发布时间:2021-11-20 22:10:48 MySQL

MySQL 查询,MAX() + GROUP BY

愚蠢的 SQL 问题.我有一个像这样的表('pid'是自动递增的主列) CREATE TABLE theTable (`pid` INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,`timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,`cost` INT UNSIGNED NOT NULL,`rid` INT 不为空,) 引 ..
发布时间:2021-11-20 22:10:30 MySQL

如何在 MySQL 中创建关系

在课堂上,我们都在“学习"数据库,每个人都在使用 Access.对此感到厌烦,我正在尝试做其他课程正在做的事情,但是使用 MySQL 的原始 SQL 命令而不是使用 Access. 我已经成功创建了数据库和表,但现在如何在两个表之间建立关系? 如果我有两个这样的表: 创建表账户(account_id INT NOT NULL AUTO_INCREMENT,customer_id IN ..
发布时间:2021-11-20 22:01:19 MySQL

SQL:创建具有 2 个不同 auto_increment 的关系表

我有 2 个表,它们都有自己的自动递增 ID,它们当然是主键. 当我想创建第三个表来建立这两个表之间的关系时,总是出错. 第一个是关于你只能有 1 个自动递增的列,当我从那 2 个中删除 auto_increment 语句时发生第二个,因此 sql 不允许我将它们设为外键,因为类型匹配失败. 有没有一种方法可以在不丢失自动增量功能的情况下创建关系表? 另一种可能(但不是首选 ..
发布时间:2021-11-20 21:48:34 MySQL

什么时候需要在数据库中添加一个表来查找值

只是寻找一些关于何时使用查找值表的一般方向/最佳实践.假设我有一个包含交易/付款的表格,其中包含以下列: 交易 transaction_id order_id amount_paid 付款状态 付款类型 好的,可以说 payment_type 可以是 3 个选项之一(“信用卡"、“直接信用卡"或“国际汇款").目前,对于每个表行,此 payment_type 字段都存储为 ..
发布时间:2021-11-17 03:06:57 其他开发

使用 AngularFire,是否可以创建关系式数据库?或者访问 UniqueIDs?

我看到 这篇文章Firebase 的博客解释了使用其平台创建关系数据对象的最佳方式.我正在努力将这些概念转化为 AngularFire,以及它们与 AngularJS 平台的集成. 具体来说,我试图显示两个链接的数据集,这些数据集有一个单向指针引用,类似于他们在他们的帖子中在这个例子中描述它的方式: var commentsRef = new Firebase("https://aweso ..
发布时间:2021-11-09 01:06:14 其他开发

如何以干净的方式创建由 ForeignKey 与 RoomDB 相关的行和子项?

这个问题与我的最后一个问题有某种关系,因为它是同一个项目,但现在我正在尝试又向前迈进了一步. 所以,在我之前的问题中,我只有一张桌子;这次我有两个表:新的第二个表应该包含第一个表的行的相关属性,在 OneToMany 关系中.因此,我在第二个表中存储了一个外键,该表将存储第一个表相关行的行 ID(显然). 问题是这样的:目的是使用相同的形式同时创建两个寄存器(父和子),并且 Paren ..
发布时间:2021-11-02 23:21:31 Informix

自然连接必须在共享主键上吗?

假设我执行了 A 自然连接 B,其中: A 的架构是:(aID),其中 (aID) 是主键. B的schema是:(aID,bID),其中(aID,bID)是复合主键. 在这种情况下会执行自然连接吗?还是 A 必须同时拥有 aID 和 bID 才能工作? 解决方案 NATURAL JOIN 返回行,其中每个公共输入表列名称各一份副本,每个输入表唯一的列名称各一份副本.它返回一 ..
发布时间:2021-07-07 18:59:06 其他开发

facebook 是否满足第二规范化形式?

根据第二规范化形式“所有非键属性的功能都完全依赖于主键".这意味着所有非键属性都不能依赖于主键的子集.在 Facebook 中,我们可以通过 email_id、user_name 或 mobile_number 登录(因此 email_id、user_name 或 mobile_number 是主键).使用这些方法中的任何一种登录后,我们就可以访问整个帐户.我的问题是“非键属性是否部分依赖于主键的 ..
发布时间:2021-07-07 18:59:03 其他开发

Yii2 RESTful 关系数据

我在获取 Yii2 RESTful API 返回关系数据时遇到了一些问题.通过前端查看时,我可以正常工作,但我试图通过 API 获取相同的数据,但它的工作方式不同. 表格 country - PK 是population_id population - 外键是 country.population_id 我收到此错误: { "success": false, "data": ..
发布时间:2021-07-07 18:59:00 其他开发

子类型或单独的表?

我有以下实体:书籍、作者和商店. 他们每个人都可以有一个评论部分.我应该将评论存储在单独的表中还是有子类型/超类型设计?如果我使用单独的表格在技术上是错误的吗?因为无论哪种方式,它可能需要相同的工作量,或者如果任何子类型的超类型层次结构发生变化,子类型设计可能需要更多的工作. 解决方案 超类型和子类型解决了这个问题“这些东西并不完全相同,但也并非完全不同." 超类型/子类型设计 ..
发布时间:2021-07-07 18:58:54 其他开发

在 yii 中显示 Cgridview

如何在 Cgridview 中显示记录? tbl_book:ID标题作者tbl_in_out:ID书号约会日期输入 我创建了一个关系,tbl_in_out 中的 book_id 属于 tbl_book 中的 id.我想要做的是使用tbl_book中的相应数据查询tbl_in_out中的记录并将其显示在CGridview中(对不起,英语不好).请帮忙! 解决方案 基本网格视图: //以 ..
发布时间:2021-07-07 18:58:50 其他开发

基于项目的角色的数据库设计

假设我有一个包含以下实体的项目: 用户 项目 因此,用户通过多对多关系与项目相关.因此,让我们假设连接表名为 user_projects,其中包含 user_id 和 project_id. 因此,问题在于用户根据其角色具有不同的访问权限(权限)(因此我需要以某种方式将 Role 实体实现到我的数据库架构中) 在项目中,我对如何在我的数据库中实现这个有点困惑.请记住,用户在注册 ..
发布时间:2021-07-07 18:58:47 其他开发

Mysql子表表示父表中关系键的替代值

不太确定标题解释了它.. 这是我的问题.我有一张代表产品的表.这些产品是按月订阅的一部分,这些产品组合在一个盒子中.在结账时,一些产品也可以作为“插件"单独添加到订单中.例如,订阅 A 附带一个装有产品 1、2、3、3 的盒子,但您可以根据需要添加任意数量的额外 3 和 4,因为它们也是插件. 我表示这些数据的解决方案是有一个 products 表,然后是一个 products_add ..
发布时间:2021-07-07 18:58:43 其他开发

从模式创建 ERD?

我被告知要根据以下内容创建 ERD 图 学院记录每个学生的姓名、学号、社会保障号码、地址、电话、出生日期和性别.– 每个程序都由程序代码、名称、描述、持续时间描述(年数)、级别和成本.– 每个模块都有一个模块代码、名称、描述、持续时间(周数),级别(入门、中级、高级).– Grade 存储学号、模块代码和字母等级(A、B、C、D、E、F).每个项目都招收学生.然后学生注册模块.在结束时一个模块的 ..
发布时间:2021-07-07 18:58:39 其他开发

Yii:如何使用另一个模型数据填充 Select 输入?

我正在玩一个小应用程序以学习使用 Yii. 我创建了一个带有 2 个模型/表的小型 web 应用程序:项目和任务.(一对多关系,在模型类中正确配置). 我现在正在尝试自定义“任务/创建"视图,将文本输入字段替换为一个提供可用项目列表的选择框. 我打开了表单视图并尝试了这个: labelEx($model,'project_id');?> ..
发布时间:2021-07-07 18:58:35 其他开发

END 事务和 COMMIT 事务的区别

我正在尝试使用 java 模拟数据库恢复子系统.但是,我有以下问题. 每当发出开始事务时,是否总是需要结束事务?(就像下面的例子) b1 --- 开始交易 1r1(X) --- 使用 txn 1 读取项目 Xe1 --- 结束交易 1 根据上面的示例,我没有发布 Commit 交易声明.那么,我的交易会成功还是失败?如果上面的例子如下, b1 --- 开始交易 1r1(X) --- 使 ..
发布时间:2021-07-07 18:58:32 其他开发