最佳解决方案 - 三元或二元关系

2023-11-30

我正在尝试完成我的一门课程的一个问题,它围绕哪种关系是最佳解决方案 - 二元或三元。

关系示例

enter image description here

所以它是一个视频商店,具有三个实体——视频、会员和休闲。

会员和临时工可以借用视频,并记录借用日期。

三元关系是否是最合适的解决方案,因为会员和随意借用视频之间没有区别?


What您认为“借用”菱形代表的是三元(3 个实体)关系吗?它介于会员客户、视频、临时客户和贷款日期之间。 “会员在 LOANDATE 上从 CASUAL 借用了视频”? “视频是LOANDATE出生的休闲打卡会员”? “会员借用的 VIDEO 在 LOANDATE 到期,而 CASUAL 为空,或者 CASUAL 借用的 VIDEO 在 LOANDATE 到期,会员为空”?对于每个左右二元“借用”关系也是如此。

(我正在使用一个谓词(按列参数化的语句模板)来表达表的“含义”。当你插入一行时,你会得到一个主张(陈述)。每个表(基础或查询结果)都保存使其谓词成为真命题的行。选择关系运算符(连接、联合等)来交替地使用所需查询谓词的逻辑非终结符(AND、OR 等)来表达和计算谓词表达式。 )

该图有一个菱形。它必须代表 MEMBER、VIDEO 和 CASUAL 实体以及 LOANDATE 之间的关系。除了 AND 或其他较小借词的组合之外,似乎很难为三元借词想出一个明智的借词,不是吗?如果您想不出一个,那么这不是一个描述您情况的图表。我也想不出一个仅限于这三种实体的三元组。而二进制文件很容易理解。

PS我唯一的警告是:我给出的第三个选项实际上是数据库表中体现的典型关系。但这不仅仅是模型实体上的关系。它还涉及“空”值。如果我们考虑价值观之间的关系identify实体或不存在,那么我们就可以使用 null 来建立这种关系。

Borrows:
    "MEMBER borrowed VIDEO due on LOANDATE and CASUAL is null
    or CASUAL borrowed VIDEO due on LOANDATE and MEMBER is null"
MEMBER  VIDEO   CASUAL   LOANDATE
=================================
  1       a      null    1/1/2000
  2       b      null    1/2/2000
 null     c    1234567   2/3/2000

不知道你们老师的用意是什么?但我怀疑他们没想到你会涉及 null。

PPS回复“二元关系是否会出现会员和休闲者可以同时借用同一个视频的问题?”我不确定你在想什么。但该关系仅包含从其语句模板生成真实语句的行。它描述了情况。它不能导致情况以某种方式发展。 “业务规则”(和物理!)限制了出现的情况。但您确实需要记录足够的信息来运营业务。 DBMS 可以获悉不可能的数据库状态,因此可以拒绝它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最佳解决方案 - 三元或二元关系 的相关文章

  • 数据库设计 - 类别和子类别[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我需要在类似于黄金页面的东西上实现分类和子分类 假设我有下表 类别表 CategoryId Title 10 Home 20 Business
  • 将 SQL 转储导入 PostgreSQL 数据库

    我们正在切换主机 旧主机提供了我们站点 PostgreSQL 数据库的 SQL 转储 现在 我尝试在本地 WAMP 服务器上进行设置来测试这一点 唯一的问题是我不知道如何在我设置的 PostgreSQL 9 中导入这个数据库 我尝试了 pg
  • 为什么将 LIKE 与 TIMESTAMPS 一起使用在 DB2 中不起作用

    我使用时遇到问题LIKE结构在DB2 例如 select from TEST where TIME LIKE 2012 03 04 FYI TIME is TIMESTAMP数据类型 为什么使用LIKE with TIMESTAMPS不工作
  • 在 SQL 数据库中存储自定义字段的首选方式是什么?

    我的朋友正在开发一款供不同独立医疗单位使用的产品 该数据库存储了在不同时间进行的大量测量数据 例如体温 血压等 让我们假设它们保存在一个名为的表中exams有柱子temperature pressure等 以及id patient id a
  • 在哪里可以找到 neo4j 快速教程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PHP中通过Hive/Thrift查询数据库不起作用

    我正在尝试通过 PHP 中的 Hive Thrift 查询数据库 但是 我不断收到错误 TSocket timed out reading 4 bytes from XYZ 我正在使用来自的代码 https cwiki apache org
  • 将 Wamp 服务器升级到 MySQL 8.0.15

    因此 我最近在几个月前安装了 WampServer 并预装了 mySQL 5 7 但我想利用 mySQL 8 附带的 NoSQL 功能 为了更新它 我下载了最新的MySQL版本 将文件夹解压到wamp64的bin目录中 然后 我从 5 7
  • 如何让MySQL数据库完全在内存中运行?

    我注意到我的数据库服务器支持内存数据库引擎 我想让一个已经运行 InnoDB 的数据库完全在内存中运行以提高性能 我怎么做 我探索了 PHPMyAdmin 但找不到 更改引擎 功能 假设您了解注释中提到的使用 MEMORY 引擎的后果 并且
  • 支付系统的数据库设计

    我有四个表如下 FEES fees id interest amount total amount status id is recurring recurring status from date to date payment id F
  • 通用 Oracle 数据收集存储

    我正在设计一个新的实验室数据库 我想将所有测试的原始结果存储在一起 在某些情况下 结果是单个值 然而 结果有时是原始波形或信号 下面哪种情况是理想的 以及为什么 或提供您自己的理想选择 选项 1 将每个单独的数据点存储为单独的结果行 距 t
  • 如何让MySQL数据库完全在内存中运行?

    我注意到我的数据库服务器支持内存数据库引擎 我想让一个已经运行 InnoDB 的数据库完全在内存中运行以提高性能 我怎么做 我探索了 PHPMyAdmin 但找不到 更改引擎 功能 假设您了解注释中提到的使用 MEMORY 引擎的后果 并且
  • 全静态方法和应用单例模式有什么区别?

    我正在创建一个数据库来存储有关我的网站用户的信息 我正在使用 stuts2 因此使用 Java EE 技术 对于数据库 我将创建一个 DBManager 我应该在这里应用单例模式还是将其所有方法设为静态 我将使用这个 DBManager 进
  • SQL Server:比较两个表中的列

    我最近完成了从某些应用程序的旧版本到当前版本的迁移 在迁移数据库时遇到了一些问题 我需要一个可以帮助我比较两个表中的列的查询 我的意思不是行中的数据 我需要比较列本身来弄清楚我错过了表结构的哪些变化 看一下红门 SQL 比较 http ww
  • wikidata 获取带有项目标签和值的所有属性

    我的问题是如何从 wikidata 最好是通过 SPARQL 提取在网页上呈现的所有属性及其各自的标签 以Google https www wikidata org wiki Q95维基数据上的条目 对于属性 P414 证券交易所 或 P1
  • Hibernate统计打印HQL:null

    我是使用休眠的新手 我打开了统计信息 与普通的 HQL 查询一起 我得到了许多这样的统计信息 INFO Statistics HQL null time 1724ms rows blah 有人可以以任何方式帮助我为什么null查询大约需要
  • 何时关闭 Android 上的数据库连接?每次操作完成后或应用程序退出后

    我有一个 Android 应用程序 经常访问本地 sqlite3 数据库 出于性能考虑 所以我始终保持连接打开 但我的一位朋友建议我在每次操作时打开 关闭连接 1 你们对这两种方法有何看法 缺点 优点 2 我做了一些测试 发现数据库连接没有
  • 有什么方法可以使用 LISTEN 和 NOTIFY (或 Node JS)实时监控 Postgresql 查询变化?

    所以我有一个自定义的 Postgresql 查询 它检索指定经度纬度半径内的所有行 如下所示 SELECT earth distance ll to earth 1 2 ll to earth lat lng as distance met
  • 在 MySQL 中使用 BLOB 或 VARBINARY 加密数据?

    我正在开发一个 PHP 应用程序 它通过文本区域接受用户输入 它将加密存储在数据库中 使用 AES ENCRYPT 我应该使用 BLOB 还是 VARBINARY 字段 这两种类型的字段都会对性能产生影响吗 BLOB 和 VARBINARY
  • 数据库(database/database.sqlite)不存在。来自工匠修补匠的数据库作品

    我在中创建了database sqlite文件database文件夹 我的 env文件内容是 DB CONNECTION sqlite DB HOST 127 0 0 1 DB PORT 3306 DB DATABASE absolute
  • 当 Firebase 数据库中的值发生更改时创建推送通知

    我想在 firebase 数据库中的值发生更改时向用户发送推送通知 这是我的数据库 Battles 00000111 062B3333 4046 4FB4 AA37 C2B05853E497 BattleProgress Player1 l

随机推荐

  • #include <文件名> 和#include“文件名”有什么区别?

    在尖括号和引号中使用尖括号和引号有什么区别include指示 include
  • Pandas 混合类型到整数

    给定以下数据框 import pandas as pd df pd DataFrame A A B C D C 1 12 8 df A C 0 A 1 1 B 12 2 C 3 D 8 我想删除 的所有实例并将其余的转换为整数 我的实际数据
  • OpenModelica 建模库仑摩擦:翻译错误,优化后模块 findZeroCrossings(模拟)失败

    我正在尝试在 Modelica 中模拟库仑摩擦力 基本概念是检查表面之间的相对速度是否小于常数 并且试图使表面相互滑动的外力是否小于最大静摩擦力 法线力 静摩擦系数 则摩擦力等于负值的外部剪切力 否则 摩擦力等于滑动方向相反方向的动摩擦力
  • 未删除令牌类型 Int 或 Long 的 Android 处理程序回调 (*Kotlin)

    我执行了这段代码Kotlinandroid 项目 它将记录这两条消息 如果我改变token to Char or String它只会打印一条消息 这是想要的行为 android 中的 java 项目中的相同用例可以正常工作 val hand
  • 在 Swift 3 中声明“NSMapTable StrongObject”

    我怎样才能声明NSMapTable在斯威夫特 3 中 为什么苹果的这个例子不起作用 let activeLines NSMapTable strongToStrongObjectsMapTable Xcode 建议更改为 let activ
  • 如何在更新面板回发后执行 JavaScript 回调?

    我使用 jQuery 提示插件在用户将鼠标悬停在页面的某些元素上时显示帮助提示 我需要在使用 css 选择器加载页面后注册插件事件 问题是我正在使用 ASP NET 更新面板 并且在第一次回发后 提示停止工作 因为更新面板替换了页面内容 但
  • 为什么我的警报消息和背景颜色更改没有同时执行?

    我试图让我的最终警报消息 恭喜 和 HTML 背景颜色更改同时发生 颜色发生变化after我单击已显示的警报消息的 确定 按钮 我哪里出错了 诚然 存在类似的问题 尽管我没有从建议的解决方案中得到任何指示 let myColors red
  • 追加到嵌套列表

    我正在使用嵌套列表来查找我创建的字典中的值 然后我想将找到的值附加到列表中 我不知道如何编码的问题是如何将附加的值保留在同一嵌套列表结构中 这是代码 其中最后一行我将值附加到空列表中 Creating a dictionary of FID
  • python 字典组列表

    如何将字典中的相似键分组到列表中 如果我有 data quantity 2 type Vip quantity 23 type Vip quantity 2 type Regular quantity 2 type Regular quan
  • MS Graph Bearer Token 能否用于访问 Office REST API?

    我们已使用 Microsoft Graph 在 Net Core 2 0 应用程序中实现身份验证 以针对 Azure AD 进行身份验证 效果很好 我们的目标是使用 Microsoft Graph 来访问 Office 365 数据 不幸的
  • 在一行中分配多个变量

    我正在尝试制作斐波那契数列 但我不明白为什么会这样 def fibonacci n f1 0 f2 1 i 1 while i lt n print f2 f1 f2 f2 f1 f2 i 1 return f3 返回 1 2 4 8 而
  • ConstraintLayout中的动态circleRadius

    在我的应用程序中 我有以下布局 它使用新的圆形定位其内在的属性ConstraintLayout 我认为它非常好 因为它不为任何视图尺寸使用固定的 dp 值 除了circleRadius 这正是我的问题 我的circleRadius也应该是动
  • 我如何使用 php 和 css 使图像显示在这样的行中?

    我想知道如何显示如图中所示的图像 我知道我必须使用 while 循环检索图像 但是像这样显示它们是困难的一点 谢谢 也许这个 ul li class image img src li li class image img src li li
  • 如何在 PySpark 中使用 .contains() 按单个或多个子字符串进行过滤?

    这是一个简单的问题 我认为 但我不确定回答它的最佳方法 我需要根据 Spark Dataframe 中包含字符串的列中是否存在 子字符串 进行过滤 目前我正在执行以下操作 使用过滤 contains data 1 ABC 2 DEF 3 D
  • Rust 对临时值的不可变和可变引用是如何删除的?

    首先 我知道有很多类似的问题 并且我读过很多讨论 但我仍然无法理解我的情况是怎么回事 struct Test x u32 fn main let mut t mut Test x 0 println t x t mut Test x 1 p
  • JavaFX 和 maven:NullPointerException:需要位置

    我一直在尝试使用 JavaFX 设置 Maven 尽管我对 Maven 和 JavaFX 没有经验 但我没想到它会是一个如此大的挑战 我的 Java 知识相当扎实 包括 Swing 没想到设置起来会这么困难 我从 IntelliJ 13 0
  • Jquery-ui 库不会由 Google CDN 从 Google 站点“插入 html 框”加载/提供服务

    在过去的 3 个月里 我一直在努力使用 Google 网站的 插入 html 框 来让 CDN 为 Jquery 用户界面库 jqueryui 提供服务 但没有取得任何成功 我使用了以下代码及其变体 没有任何主题 但没有效果 jquery
  • 何时以及如何通过 PHP 使用多个 MySQL 查询 (PDO)

    除了最大限度地减少代码之外 在一个语句中使用多个 MySQL 查询还有什么好处 如何使用 PHP 最好是 PDO 执行 检索和显示在一条语句中发送的多个 MySQL 查询的结果 mysql query 不支持多个查询 但是 有一些解决方法
  • Visual Studio 2015没有cl.exe

    我下载了 Visual C 和 Visual Studio 但找不到cl exe编译我的 C 文件 安装路径为 C Program Files x86 Microsoft Visual Studio 14 0 VC bin 在哪里可以找到编
  • 最佳解决方案 - 三元或二元关系

    我正在尝试完成我的一门课程的一个问题 它围绕哪种关系是最佳解决方案 二元或三元 关系示例 所以它是一个视频商店 具有三个实体 视频 会员和休闲 会员和临时工可以借用视频 并记录借用日期 三元关系是否是最合适的解决方案 因为会员和随意借用视频