问题描述
让我们假设一个函数依赖:R(A,B,C,D) & FDs{ A->B,A->C,(B,C)->D }
A
可以识别任何元组。将 A
定义为主键,我们可以实现 A
和其他之间的依赖关系。但是 B
和 C
的组合也可以唯一标识 D
。
CREATE TABLE `test` (
`A` INT NOT NULL,`B` VARCHAR(100) NOT NULL,`C` VARCHAR(100) NOT NULL,`D` VARCHAR(100) NOT NULL,PRIMARY KEY (`A`)
);
此 SQL 仅包含 A
和其他之间的依赖关系。但是这个 SQL 并没有说 B,C
也可以唯一标识 D
。
是否可以在 MySQL 中使用单个表定义 B,C
和 D
之间的依赖关系?
我认为一种方法是使用另一张桌子。 R(A,C) & FDs{ A->B,A->C }
的一张桌子。 R(B,D) & FDs{ (B,C)->D }
的另一个表。但是,我想使用单个表。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)