首页 > 试题广场 >

假设当前使用一个手工操作的学生文档,其文档的内容如下表所示:

[问答题]

假设当前使用一个手工操作的学生文档,其文档的内容如下表所示:

学生 学生姓名 课程号 课程名 分数 教师姓名 教师办公室

95345 周小利 C124 微机原理 82 王大明 赛南 312

A256 数据库原理 86 李明 赛南 317

95236 范庆国 B223 信息系统 75 宋江 格南 224

A452 会计学 90 唐文 格北 415

……… ………      …        ………          ………

如果将这个学生文档定义为一个关系:

R(学号,学生姓名,课程号,课程名,分数,教师姓名,教师办公室)

试回答下列问题:

1. 写出R的基本函数依赖集;

2. 找出R的主码;

3. R最高达到第几范式?为什么?

4. 如果R不属于3NF范式,将R分解成3NF模式集。




1、F={学号->学生姓名,课程号->课程名,(学号,课程号)->分数,(学号,课程号)->教师姓名,教师姓名->教师办公室}。考虑到教师和课程之间可能是多对多的关系,其他依赖直接舍弃。
2、(学号,课程号)
3、R最高到达第一范式,因为它没有消除非主属性对码的部分函数依赖。比如说学生姓名和课程名对(学号,课程号)都是部分函数依赖。
4、S(学号,学生姓名),C(课程号,课程名),T(教师姓名,教师办公室),SC(号,课程号,分数,教师姓名)
编辑于 2023-01-27 21:46:09 回复(0)

我觉得是这样:

1.学号→学生姓名,课程号→课程名,教师姓名→教师办公室,(学号,课程号)→(分数,教师姓名),因为一个课程可以有多位老师

2.主码为学号,课程号

3.最多能达到 1NF,因为含有部分 FD

4.\rho={SC(学号,课程号,成绩,教师姓名),C(课程号,课程名),T(教师姓名,教师办公室),S(学号,学生姓名)}

发表于 2021-03-19 19:25:51 回复(0)
1.学号➡学生姓名,课程号➡课程名,课程号→教师姓名,教师姓名→教师办公室,(学号,课程号)→分数
2.主码为学号,课程号
3.最多能达到1NF,因为含有传递依赖课程号→教师姓名➡教师办公室, 部分函数依赖(学号,课程号)➡课程名
4.S-C(学号,课程号,成绩)C(课程号,课程名,教师姓名)T(教师姓名,教师办公室)
编辑于 2020-04-05 22:05:49 回复(1)