relational-database相关内容

查找与关系 Microsoft Access

我正在开发基于 Microsoft Access 2013 的信息系统.客户的需求之一是通过使用具有可用值的组合框来简化数据输入过程. 例如,客户端要求让用户从组合框中选择代理名称,而不是输入 agentID,与其他类似字段的逻辑相同. 简而言之: 我需要尽可能避免需要输入值 ID 并让用户从组合框中选择它们. Microsoft Access 有一个内置的查找向导,允许用户将 ..

你觉得你的主键怎么样?

在我的团队进行了一次相当活跃的讨论中,我想到了大多数人喜欢什么作为主键.我们有以下几组- Int/BigInt 自动增量是足够好的主键. 应该至少有 3 列组成主键. Id、GUID 和人类可读的行标识符都应该区别对待. PK 的最佳方法是什么?如果你能证明你的观点,那就太棒了.有没有比上面更好的方法? 编辑:任何人都有一个简单的示例/算法来为缩放良好的行生成人类可读的标识符 ..

建模和归一化时如何处理空值?

我是 SQL 新手(仍在学习),我必须为场地创建一个数据库.客户预订的活动房间.问题是客户并不总是提供他们的姓名、电子邮件和电话号码.大多数情况下,要么是姓名和电子邮件,要么是姓名和电话.很少是全部 3,但它发生了.我需要将这些存储在各自的属性中(姓名、电子邮件、电话).但是他们给我他们的信息的方式,我有很多空值.我可以用这些空值做什么?有人告诉我最好不要有空值.之后我还需要规范化我的表格.请提出 ..

NoSQL 的用例

NoSQL 最近在我们的行业中引起了很多关注.我真的很感兴趣人们的想法是关于它在关系数据库存储上使用的最佳用例.什么应该触发开发人员认为特定数据集更适合 NoSQL 解决方案.我对 MongoDB 和 CouchDB 因为他们似乎在 PHP 开发方面获得了最多的报道,这也是我的重点. 解决方案 MongoDB 站点上提到了一些很棒的用例 - 无论如何都适用于 MongoDB.给出的示例是实 ..
发布时间:2021-12-05 18:29:25 其他开发

如何使用关系代数找到 MAX?

使用数据库,如何使用关系代数求 MAX? 解决方案 假设你有一个关系 A,有一个单一的属性 'a'(减少一个更复杂的关系,这是关系代数中的一个简单任务,我肯定你已经到了这一步),所以现在你想在 A 中找到最大值. 一种方法是找到 A 与其自身的叉积,确保重命名 'a' 以便您的新关系具有具有不同名称的属性.例如: (将'a'重命名为'a1') X (将'a'重命名为'a2') ..
发布时间:2021-12-05 12:40:39 其他开发

我什么时候应该使用一对一的关系?

抱歉问那个菜鸟问题,但是否真的需要使用与数据库中的表的一对一关系?您可以在一张表中实现所有必要的字段.即使数据变得非常大,您也可以在 SELECT 语句中枚举您需要的列名,而不是使用 SELECT *.你什么时候真的需要这种分离? 解决方案 1 to 0..1 “1 到 0..1"超类和子类之间的“所有类在单独的表中"被用作“单独表中的所有类"的一部分.实现继承的策略. “1 ..
发布时间:2021-12-05 12:29:42 其他开发

3NF和BCNF的简单区别(必须能解释给一个8岁的孩子)

我已阅读报价:数据取决于密钥[1NF],整个密钥[2NF],除了密钥[3NF]什么都没有. 但是,我无法理解所谓的 3.5NF 或 BCNF.这是我的理解: BCNF 比 3NF 更严格 表中任何 FD 的左侧必须是超键(或至少是候选键) 那么为什么有些 3NF 表不在 BCNF 中呢?我的意思是,3NF 引用明确表示“只有键",这意味着所有属性都仅依赖于主键.主键毕竟是一个候 ..

空的 SQL 表是否有超键?每个 SQL 表都有一个吗?

我知道超键在 SQL 中的含义,但我有以下问题: 空的 SQL 表是否总是有一个超级键? 每个 SQL 表是否总是有一个超级键? 解决方案 TL;DR是一个RM(数据关系模型)术语.SQL 中没有标准用法.SQL 表的超键可以合理地非正式地称为列集,您可以声明 primary key 或 unique not null,加上 {}最多一行(虽然你不能声明它).“合理地非正式"因为 ..
发布时间:2021-12-05 12:23:55 其他开发

NoSql 与关系数据库

最近 NoSQL 获得了极大的欢迎. NoSQL 与传统的 RDBMS 相比有哪些优势? 解决方案 并非所有数据都是关系数据.对于这些情况,NoSQL 会有所帮助. 话虽如此,NoSQL 代表“不仅是 SQL".它并不是要敲打 SQL 或取代它. SQL 有几个非常大的优点: 强大的数学基础. 声明式语法. 结构化查询语言 (SQL) 中的一种著名语言. ..

Laravel - Eloquent “Has"、“With"、“WhereHas"- 他们的意思是什么?

我发现这些方法背后的概念和含义有点令人困惑,是否有人可以向我解释 has 和 with 之间的区别是,在示例的上下文中(如果可能)? 解决方案 With with() 用于快速加载.这基本上意味着,沿着主模型,Laravel 将预加载您指定的关系.如果您有一组模型并且想要为所有模型加载关系,这将特别有用.因为使用预先加载,您只会运行一个额外的数据库查询,而不是为集合中的每个模型运行一 ..
发布时间:2021-12-03 18:17:07 其他开发

SQL 中的连接顺序重要吗?

不考虑性能,我会从下面的查询 A 和 B 得到相同的结果吗?C 和 D 怎么样? -- A选择 *从左加入 b在左连接 c在 --乙选择 *从左连接 c在左连接 b在 - C选择 *从 a 连接 b在加入c在 -- D选择 *从连接 c在加入乙在 ..
发布时间:2021-12-01 20:00:42 其他开发

是否有任何经验法则可以根据人类可读的描述构造 SQL 查询?

每当我们面前有查询的任何描述时,我们都会尝试应用启发式和头脑风暴来构建查询. 是否有任何系统的分步或数学方法可以根据给定的人类可读描述构造 SQL 查询? 例如,如何确定 SQL 查询是否需要连接而不是子查询,是否需要 group by,是否需要 IN 子句等.... 例如,任何学习过数字电子学的人都会知道卡诺图或昆麦克劳斯基方法等方法.这些是一些简化数字逻辑的系统方法. ..

在关系数据库中存储分层数据有哪些选项?

好的概述 一般来说,您要在快速读取时间(例如嵌套集)或快速写入时间(邻接列表)之间做出决定.通常,您最终会得到以下最适合您需求的选项组合.以下提供了一些深入阅读: 一个嵌套间隔与邻接列表的比较:我发现的邻接列表、物化路径、嵌套集和嵌套间隔的最佳比较. 分层数据模型:幻灯片很好地解释了权衡和示例用法 在 MySQL 中表示层次结构:非常好的嵌套集概述特别是 RDBMS 中的分层数据 ..
发布时间:2021-12-01 19:15:47 其他开发

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

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

建模产品变体

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

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

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

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 中创建关系

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