A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  首先,所有的数据库表都是有冗余的,但我们操作的时候要尽量减少冗余量。如果有人跟你说他的数据库没有冗余,你方可不必去信。
   对数据库表结构的分解的最终目的是:是表的功能单一化。也就是不要将多个功能的项放在一张表里。
   第一范式:要求对于表中的所有信息,如果减少一项那么表的信息就不完整
   第二范式:要求每个属性值必须要完全函数依赖于码,如果不满足的话,就需要分解。
   第三范式:要求不存在传递关系:比如说学号跟系,系的地址放在一张表中的话就会出现传递关系:学号到系,系到系的地址。
   B  C范式:抽象地讲就是所有的因素都含一个键。即是说:由键可以确定所有的元素,而如果存在部分超键(在表中有可以通过它来确定其他属性)如:一张订单表中订单号可以决定订单中如客户号,物品流水号。但是这张表中还含有客户的一些其他信息,订单中物品的一些信息,由于物品流水号就能确定物品 的信息,客户号就能确定客户的信息,那么,就称物品流水号、客户号,订单号是超键。怎样解决这个问题,需要用迭代的方法去解决。即先是把物品信息和物品流水号整合起来一张表,放到原表中,再去按上面的分析将客户..整合。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马