
- 加为好友
- 发送私信
- 在线聊天
|
| 发表于:2008-07-18 21:53:235楼 得分:20 |
呵呵,上年考完了数工,这些内容还有点印象..... 闭包就是由一个属性直接或间接推导出的所有属性的集合,例如: f={a->b,b->c,a->d,e->f} 由a可直接得到b和d,间接得到c,则a的闭包就是{a,b,c,d} 至于最小覆盖,没听过,会不会是指最小依赖集呢???? 2nf是要求所有非主属性完全依赖于码 如有表(学号,姓名,科目,成绩),很明显码是(学号,科目), 但姓名只依赖于学号,与科目无关,也就是部分依赖于码了,所以不是2nf 应分解成(学号,姓名)和(学号,科目,成绩)两个表 3nf是要求不存在非主属性的传递依赖 如有表(身份证号,姓名,地区,邮编) 不用说,码是身份证号,其它的都属于非主属性了 由于每个地区都不自己的邮编,则有 身份证号->地区->邮编 或者 身份证号->邮编->地区 这就是存在传递依赖了,不符合3nf 应分解成(身份证号,姓名,邮编)和(邮编,地区)两个表 bcnf....上面的3nf是没有非主属性传递依赖,而bcnf则更进一步,连主属性也不能有传递依赖了 如有表(零件号,零件名,供应商),零件名不可重复,一个供应商供应多个零件,一个零件也可由多个供应商供应, 候选码为(零件号,供应商)和(零件名,供应商),则表中三个属性都是主键,但有 (零件名,供应商) -> 零件号 -> 零件名 ,有主属性的传递依赖了,不符号bcnf, 应分解成(零件号,零件名)和(零件号,供应商)两个表 | | |
修改
删除
举报
引用
回复
| |