问题标签 [relation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - sql alchemy 过滤连接模型属性的结果
我有一个模型 X 和一个模型 Y。
Y 包含一个对 X.id 的外键引用,其中一个相关 X 条目的实例可通过属性 x 获得。
X 也有一个布尔属性“发布”。
在 Y 上执行查询,我如何将结果过滤到 x.publish 为 True 的结果;
我试过做这样的事情:
但这不起作用,我收到一条错误消息,说关键字不能是表达式。我查看了 sql alchemy 文档以寻找解决方案,但我似乎找不到我要找的东西。有什么建议么?
database - 关系数据库中的 BCNF/3NF
如何判断关系 R 是否在 BCNF 和 3NF 中?
我正在阅读一本教科书,它告诉我您正在查看 3 个主要属性,但我无法理解他们在说什么,或者至少在给定关系时应用他们所说的FD的。
3 个属性:给定关系 R 与属性 A,以及 X 是 R 的属性子集,对于 F 中的每个 FD X⟶A,以下陈述之一为真:
- A ∈ X; 也就是说,它是一个平凡的 FD(ε 表示“在 X 中找到”)
- X 是一个超级键
- A 是 R 的某个键的一部分
前两个对应于 BCNF,3NF 包括第三个。
relational-database - 具有功能依赖关系的候选密钥识别
我无法理解如何识别功能依赖项中的键。我一直在看例子,例如:
给定关系 ABCD,找出不包括
这给出了键 C 和 A。我认为解决这个问题的方式是 BC 和 D 都依赖于 A 和 C,而 AB 依赖于 CD,这意味着它们三个都是键,但是由于 CD 是超级键(C 是一个子集也是一个键),CD 不被视为最小超键。
然而,在另一个例子中,
这里唯一的关键显然是 BE。为什么这是真的,任何人都可以澄清寻找解决这些问题的关键的步骤吗?
谢谢。
database - DB对象关系可视化
我不是 DBA 的专家,所以我会尝试用我想象的方式解释我想要什么。
我有带有网络设备的 Oracle DB。每个设备都有具有父设备/端口的端口
我想要一些工具,它会自动创建这个设备关系的可视化地图。将基于此关系创建“网络地图”。
如果这个工具有一些输出准备好用于网络发布,或者来自乞讨的基于网络的工具,那就更好了。此外,如果它会在我添加新关系/对象后立即自动更新“图片”
从远处看,它看起来像 Gource http://youtu.be/E5xPMW5fg48 但不完全是我需要的
希望能得到一些建议。提前致谢!
UPD:找到另一个工具:Gephi
ruby-on-rails - ruby on rails,如何实现关系
我被这个应用程序卡住了)我有 3 个模型 - 用户、照片和喜欢 用户将登录、查看照片并将它们标记为“喜欢”或“不喜欢”。这是我的 DB 架构,忽略了一些无关紧要的字段:
这里的模型:
一张照片将有每个用户一个标记。即用户不能“喜欢”照片两次或更多次。
我希望用户在重新登录后能够看到他们给出了估计的照片。
现在,我使用以下语句选择照片:@photos = Photo.limit(30).offset(0) 然后在模板中:<%= photo.likes.where("user_id=#{current_user.id}") %>在此之后,我有 30 多个 SQL 查询,或者换句话说,有 N+1 个问题。
避免该问题的一种选择是在选择照片时包括喜欢。
但这将包括所有用户对照片的所有喜欢,并对应用程序的性能产生不利影响。另外,我必须为当前用户提取记录。
第二种选择是创建动态关系
对于这个选项,我必须将 current_user.id 从控制器传递到模型,这对我来说看起来不正确。
请帮助解决这个问题
mysql - 删除条目而不删除相关条目mysql innoDB
我有一个数据库,用户有不同的项目。一个用户可以有多个项目,但一个项目只能有一个用户。
如果我要删除用户而不删除他的项目,我会遇到问题。除非我先删除项目,否则 MySql 不会让我删除用户。
有没有办法可以删除用户并保留项目?
jpa - JPA OneToMany 关系不会自动填充?
我在 Task 和 TaskError 之间有一个简单的 OneToMany 关系。
任务映射 TaskErrors:
TaskErrors 应该在任务被删除时被删除,因此 orphanRemoval。
TaskError 连接到一个任务:
当我使用以下代码添加 TaskError 时,Task 中的 TaskErrors 列表未更新:
因此,数据库包含 TaskError 的一行,而 Task 中的 TaskErrors 列表未填充。显然,当我删除任务时,它给出了一个错误: MySQLIntegrityConstraintViolationException: Cannot delete or update a parent row
我个人是否需要在 Task 中填充 TaskError 列表?有没有办法让这个列表自动填充?taskErrorDAO.create(taskError) 之后的 em.flush 没有帮助。
database - 函数依赖微不足道
如果您在 LHS 和 RHS 上有一些东西,如果这是 RHS 上的唯一符号,它是否被认为是微不足道的?例如:
ABC -> C
你能像这样分解它吗:
其中 {} 是空集。或者这是无效的?
这会使这条规则变得毫无用处,可以简单地放弃它吗?
c# - 如何从表 GroupUser 中打印出与 linq 的关系
我有两张桌子,一张叫Users
,一张叫Groups
。我还有一个GroupUsers
从 Groups 和 Users 中调用 PK 的关系表。
我可以将用户 1 添加到组 2 中:
但是如何从GroupUsers
表中选择关系?我想使用 LINQ 打印出属于某个组的所有用户。
mapping - 将 onDelete 与 Doctrine 2 一起使用
我无法让 onDelete 在 Doctrine2 中工作(使用 YAML 映射)。
我在Product
课堂上尝试了这种关系:
但这不起作用..
编辑:
我已经ON DELETE: CASCADE
在数据库中手动设置
doctrine:mapping:import
使用,导入 YAML 映射
清空数据库
从模式中更新了它,doctrine:schema:update
并且在外键中没有ON DELETE
。所以看起来即使是 Doctrine 也不知道该怎么做,哈哈。