当使用下列文件结构时,可能会遇到什么问题?
| 课号 | 课程名 | 编号 | 姓名 | 职称 | 课酬率 | 课时 | 电话号码 |
|---|---|---|---|---|---|---|---|
| 101 | 高等数学 | 1001 | 李晓平 | 教授 | 30 | 54 | 62553245 |
| 101 | 高等数学 | 1005 | 刘宇亭 | 副教授 | 25 | 68 | 62391123 |
| 102 | 线性代数 | 1008 | 郭海山 | 讲师 | 20 | 48 | 62555568 |
| 201 | 英语 | 1004 | 姜英华 | 讲师 | 20 | 80 | 64463245 |
| 201 | 英语 | 1007 | 于利萍 | 副教授 | 25 | 80 | 65457812 |
| 304 | 数据库 | 1011 | 沙明华 | 讲师 | 20 | 64 | 68345568 |
| 306 | 操作系统 | 1021 | 董丽清 | 教授 | 30 | 64 | 62341123 |
答:
在这个文件结构中,把教师的信息放到课程文件中,这引起了数据冗余(如教师姓名、职称、电话号码),会带来数据异常和数据不一致。最好是在课程文件中只包含教师的编号(它是惟一标识教师的属性),教师的信息另外单独作为文件存放。
譬如一个教师开设 5 门课程,在表中就要出现 5 个元组,其职称和电话号码就要重复出现5次,这就是数据冗余,进而会引起异常和不一致。当职称、电话号码修改时,就要修改 5 处,稍不谨慎,就会漏掉修改,引起值不一致(但这种情况在上述表中未表现出来)。
1.假设在上述表格中所显示的教师数据在其他文件中没有。如果删掉课程 “101",将会遇到什么问题?
答:
显然,会丢失李晓平、刘宇亭两位老师的职称、电话等信息(如他们都不教其他课程)
博客讨论了特定文件结构将教师信息放于课程文件中带来的数据冗余、异常和不一致问题,如教师信息重复,修改时易遗漏致值不一致。还指出若删除课程“101”,在特定条件下会丢失部分教师职称、电话等信息。
9002

被折叠的 条评论
为什么被折叠?



