relational-database相关内容

复合主键:好还是坏?

虽然可以使用复合主键,但对于下面的情况,这真的是一种不好的做法吗?关于 Stackoveflow 的共识在这个问题上似乎是双向的. 为什么? 我想将订单的付款存储在单独的表中.原因是,一个订单可以有许多项目,这些项目以多对多关系的形式在单独的表中处理.现在,如果我的付款表不使用复合主键,我将丢失我唯一的 PaymentID: [PaymentId] INT IDENTITY(1,1) ..
发布时间:2021-12-26 20:56:23 其他开发

用户反馈系统的正确数据库模型(一个有趣的案例)

我正在使用 PHP 和 Yii 框架开发应用程序.我一直在考虑最适合给定功能的数据库结构,这就是我想出的.然而,我并不是 100% 肯定应该这样做,所以我决定询问社区. 应用说明: 注册用户可以参加活动.每个事件都可以有一个无限数量的用户,称为“活动的参与者"). 活动结束后,每个参与者都可以留下关于同一活动的其他每个参与者的反馈. 数据库结构: 由于每个事件都可以有无限 ..

仍然对识别与非识别关系感到困惑

因此,我一直在阅读有关在我的数据库设计中识别与非识别关系的信息,并且关于 SO 的许多答案似乎与我相矛盾.这是我正在研究的两个问题: 识别和非识别关系有什么区别 难以确定身份或非身份关系 查看每个问题的最佳答案,我似乎对什么是识别关系有两种不同的想法. 第一个问题的回答说,识别关系“描述了子表中某行的存在依赖于父表中的行的情况."给出的一个例子是,“一个作者可以写很多书(1 对 ..

主键中允许 NULL - 为什么以及在哪个 DBMS 中?

关于我的问题"为什么要使用'notTSQL 中的 null 主键´?"... 正如我从其他讨论中了解到的,一些 RDBMS(例如 SQLite、MySQL)允许“unique"主键为NULL. 为什么允许这样做以及它有什么用处? 背景:我认为,了解不同 DBMS 中基本概念、方法及其实现的差异对与同事和数据库专业人员的交流很有帮助. 注意事项 MySQL 得到修复并返 ..

可以支持特殊属性的数据库模式

我需要存储一组实体,其中有几个专门的版本.它们有一些共同的属性,但专门的属性包含特定于该实体的属性. 解决方案 数据存储是一个关系型 DBMS,这里不做讨论:-) 具体来说,它是 Microsoft SQL Server 2005. 我可以轻松地为通用属性创建一个表,然后为每个专用版本创建一个表.但是,很可能以后必须将新实体添加到解决方案中,而且我不想同时维护对象模型和数据库架构 ..
发布时间:2021-12-26 20:50:55 其他开发

Sql - 间接外键

我有一些关于数据库设计的问题. 有这个名字吗? 这是好的做法吗? 是否有任何性能方面的考虑? 我有一个用于存储关系的通用表结构. 最近我重构了一些东西以使用这种通用结构而不是直接的 Fk 列,但现在我不确定这是否真的是最好的主意. 原始架构: +------------------+ +---------------------+ +----------------- ..
发布时间:2021-12-26 20:46:54 其他开发

Laravel/Eloquent : hasManyThrough WHERE

在 Eloquent 的文档中,据说我可以将所需关系的键传递给 hasManyThrough. 假设我有名为 Country、User、Post 的模型.通过用户模型,国家模型可能有许多帖子.也就是说,我可以直接调用: $this->hasManyThrough('Post', 'User', 'country_id', 'user_id'); 到目前为止一切正常!但是我如何才能只为 i ..
发布时间:2021-12-26 11:32:48 PHP

无法让 Laravel 助理工作

我不太确定我是否理解 associate 方法在 Laravel 中.我理解这个想法,但我似乎无法让它发挥作用. 使用这个(蒸馏)代码: 类用户{公共功能客户(){返回 $this->hasOne('Customer');}}类客户{公共函数用户(){返回 $this->belongsTo('User');}}$user = 新用户($data);$customer = new Custo ..
发布时间:2021-12-26 11:29:49 PHP

在 Core Data 中设置父子关系

我正在尝试在 Core Data 中建立关系.我有一个树列表,每棵树都有一个水果列表.所以我有一个 Tree 实体和一个 Fruit 实体. 在代码中,我想在表格视图中列出树.当您单击一棵树时,它应该会显示该树上生长的水果列表. 我如何建立这种关系?我需要给 Fruit 一个名为 tree 的属性吗?以及如何在代码中设置关系,例如,当我创建一个 Fruit 时,我如何将它与给定的 Tr ..
发布时间:2021-12-23 13:56:23 移动开发

存储过程是否在 Postgres 的数据库事务中运行?

如果存储过程在中间失败,那么从 SP 开始的那个点的更改是否会隐式回滚,或者我们是否必须编写任何显式代码以确保 SP 仅在数据库事务中运行? 解决方案 严格来说,Postgres 没有 存储过程,在版本 11 之前的 ISO/IEC 标准中定义.该术语经常被错误地用于指代 函数,它们提供了许多相同的功能(以及更多),因为其他 RDBMS 提供了“存储过程".主要区别在于事务处理. “ ..

我可以在数据库多对多字段中使用计数器来减少查找吗?

我正在尝试找出访问存储在连接对象中的数据的最快方法.下面的示例与我的问题类似,但上下文不同,因为我处理的实际数据集的关系有些不直观. 我们有 3 个类:User、Product 和 Rating.用户与 Product 具有多对多关系,Rating 作为连接/“通过"类. Rating 对象存储几个问题的答案,这些问题是 1-5 范围内的整数评分(示例问题:Product 的质量如何, ..

这个(规范化的)数据库结构是否允许我按照我的意图按标签进行搜索?

我正在尝试建立一个包含以下三个表的规范化 MySQL 数据库.第一个表包含可以由各种标签描述的项目列表.第三个表包含用于描述第一个表中的项目的各种标签.中间的表将其他两个表相互关联.在每个表的情况下,id 是一个自动递增的主键(每个都用作中间表中的外键) +---------------+---------------------+---------------+|表 1 |表 2 |表 3 | ..
发布时间:2021-12-17 20:59:00 数据库

自然连接中元组的最大和最小数量

我遇到了一个这样的问题 考虑以下与学生有关的关系模式 数据库:学生(rollno、姓名、地址) 报名(rollno, courseno, coursename) 主键显示为下划线.元组的数量Student 和 Enroll 表分别为 120 和 8.什么是最大值和可以出现在 (Student * Enroll) 中的最小元组数,其中“*"表示自然连接? 我在 Intern ..
发布时间:2021-12-17 20:48:27 其他开发

交叉连接有什么用途?

交叉连接对两个集合的元组执行笛卡尔积. SELECT *从表 1交叉连接表2 什么情况下这种 SQL 操作特别有用? 解决方案 如果您想完全填充一个“网格",例如特定服装的尺寸和颜色信息: 选择尺寸,颜色从尺寸交叉连接颜色 也许你想要一个包含一天中每一分钟一行的表,并且你想用它来验证一个过程是否每分钟都执行过,所以你可能会跨越三个表: 选择小时,分钟从小时交叉连接分钟 或者你有 ..
发布时间:2021-12-17 20:27:37 其他开发

如何在 MySQL 数据库中存储一对多关系?

我正在制作一个网站,我需要在我的数据库中存储随机数量的数据. 例如,用户 john 可能有一个电话号码,而 jack 可能有 3 个. 我需要能够为每个用户存储无限数量的值. 解决方案 您为电话号码创建一个单独的表(即 1:M 关系). 创建表`users`(`id` int unsigned not null auto_increment,`name` varchar(10 ..
发布时间:2021-12-17 20:23:49 数据库

数据库设计:3种类型的用户,单独的还是一张表?

我有 3 种类型的用户: 管理员 供应商 员工 每种用户类型将具有不同的用户界面并访问不同类型的数据.他们唯一的相似之处是他们使用的是一个 Web 应用程序,但他们访问的内容完全不同.是将它们全部放在一个用户表中(如 tbl_users)还是创建 tbl_admins、tbl_suppliers、tbl_employees 更好? 解决方案 在设计表格时您需要考虑的不一定是 ..