relational-model相关内容

以程序方式将子查询转换为连接

是否有用于将 SQL 子查询转换为连接或反之亦然的通用过程或算法?也就是说,是否有一组印刷操作可以应用于包含子查询的语法正确的 SQL 查询语句,该子查询会导致没有子查询的功能等效语句?如果是这样,它们是什么(即算法是什么),在什么情况下它们不适用? 解决方案 将子查询转换为 JOIN 非常简单: IN子句 FROM TABLE_X xWHERE x.col IN(从 TABLE ..
发布时间:2022-01-23 15:39:27 其他开发

具有 NULL 的唯一键

这个问题需要一些假设背景.让我们考虑一个 employee 表,它包含 name、date_of_birth、title、salary 列, 使用 MySQL 作为 RDBMS.因为如果任何给定的人的姓名和出生日期与另一个人相同,那么根据定义,他们就是同一个人(除非我们有两个名叫亚伯拉罕·林肯的人出生于 1809 年 2 月 12 日的惊人巧合),我们将放置一个name 和 date_of_bir ..
发布时间:2022-01-06 22:48:25 数据库

程序将子查询转换为连接

是否有将 SQL 子查询转换为连接的通用过程或算法,反之亦然?也就是说,是否有一组排版操作可以应用于包含子查询的语法正确的 SQL 查询语句,该语句会生成功能等效的语句而没有子查询?如果是,它们是什么(即算法是什么),它们在什么情况下不适用? 解决方案 将子查询转换为 JOIN 可以非常简单: IN 子句 FROM TABLE_X xWHERE x.col IN (SELECT ..
发布时间:2021-12-17 20:23:40 其他开发

关系设计情景:限制儿童关系

请考虑以下情况。宠物主人可能有多只猫,也可能有多只狗。某些狗与相同所有者的某些猫相关(即他们打架:-)) 以下关系设计不施加这种限制,因为不同所有者的猫和狗可能相关。有没有办法通过关系设计强加这个限制? 解决方案 您需要使用识别关系将所有者的PK迁移到“和钻石形依赖的“底部”: 由于 CatDog.OwnerId 只是一个字段,它不能识别多个所有者每一行,因为它是两种动物的FK ..

子类型的关系数据建模

我正在学习关系模型和数据建模。 我对于子类型的想法有一些困惑。 我知道数据建模是一个迭代过程,有许多不同的方式来建模事物。 但是我不知道如何在不同的选项之间进行选择。 例子 假设我们要模拟粒子(分子,原子,质子,中子,电子,...)。 为简单起见,我们忽略Quark和其他粒子。 由于所有相同类型的粒子都表现相同,因此我们不会对单个粒子建模。 br> 换句 ..

如何设计带有主键和多值属性的表?

我对数据库设计感兴趣,现在正在阅读相应的文献。 通过这本书,我面对一个奇怪的例子,使我感到不确定。 有一个关系 在这个表中,我们有一个复合主键(StudentID,Activity)。但ActivityFee部分依赖于表的键(Activity - > ActivityFee),所以作者建议将这个关系分成两个其他关系: 现在,如果我们来看看STUDENT_ACTIVITY,Activ ..

具有NULL的唯一键

这个问题需要一些假设的背景。让我们考虑有 name ,,date_of_birth 的 , title , salary ,使用MySQL作为RDBMS。因为如果任何一个人与另一个人有相同的名字和出生日期,根据定义,他们是同一个人(除非有巧合,我们有两个人名为亚伯拉罕·林肯出生于1809年2月12日),我们将把一个 name 和 date_of_birth 上的唯一键,表示“不要存储同一个人两次。 ..
发布时间:2017-03-14 04:10:07 数据库

在程序变换子查询到加盟

有一个广义的程序或算法,用于将一个SQL子查询转换成一个连接,或者相反?也就是说,有一组可应用于包含一个子查询,结果在一个功能相当的声明中没有一个子查询语法正确的SQL查询语句的印刷业务?如果是的话,它们是什么(比如,什么是算法),以及在什么情况下,他们不适用? 解决方案 转换一个子查询转换成一个连接可以是pretty的简单: 在条款 从TABLE_X x WHERE x.col IN(S ..
发布时间:2015-11-30 16:28:44 C/C++