【发布时间】:2011-10-07 05:18:48
【问题描述】:
我正在学习数据库课程,我有几个关于计算问题的问题。非常感谢任何见解。
首先,我听说“没有算法”可以将关系转换为既无损又保留依赖关系的 BCNF。这样做的原因是,对于某些关系,BCNF 中不存在具有所需属性的关系。我发现这具有误导性,因为您可以说没有算法可以使用相同的逻辑找到二次方程的两个实解。当然你不能......但是对于规范化问题,我认为应该可以确定是否存在具有两个属性(决策问题)的 BCNF 转换,如果决策问题发出“是”,那么算法计算等效的 BCNF 表示。我的想法是对的,还是我说的有错?
我的第二个问题是关于子查询的。是否可以在没有子查询的情况下重写 SQL 中涉及子查询的任何查询?我知道这不是很好的公式化......我想让我们坚持基本的 SQL(大多数/所有系统共享的)并将子查询限制为选择从属于顶级语句的语句(允许顶级集合操作) .
【问题讨论】:
标签: sql database normalization