发布网友 发布时间:2022-03-28 17:54
共1个回答
热心网友 时间:2022-03-28 19:23
第四个正规化形式(第四范式)1.在一个多对多的关系中, 独立的实体不能存放在同一个表格中由于它仅应用于多对多的关系,因此大多数的开发者可以忽略这条规定。不过在某些情况下,它是非常 实用的,这个例子就是这样,我们通过将相同的实体分离出来,并且将关系移到它们自己的表格中,从而改进了urls表格。为了令你更容易 明白,我们举个具体的例子,以下将用一个SQL语句选择出所有属于joe的urls:SELECT name, url FROM users, urls, url_relations WHERE url_relations.relatedUserId = 1 AND users.userId = 1 AND urls.urlId = url_relations.relatedUrlId如果我 们想要遍历每个人的个人信息和url信息,我们可以这样做:SELECT name, url FROM users, urls, url_relations WHERE users.userId = url_relations.relatedUserId AND urls.urlId = url_relations.relatedUrlId第五级正规化形式 (第五范式)还有一级正规化的形式,它并不常见,有点深奥,并且在大部分的情况下都是不必要的。它的原则是:1.原来的表格必须可以通过由它分离 出去的表格重新构建使用这个规定的好处是,你可以确保不会在分离的表格中引入多余的列,所有你创建的表格结构都与它们的实际需要一 样大。应用这条规定是一个好习惯,不过除非你要处理一个非常大型的数据,否则你将不需要用到它。你可能想知道这些方法是从哪来的, 前面三个正规化的规定是1972年,Dr. E.F. Codd在他的论文进一步正规化数据库的关系模型中提出的,其余的规定是经过后来的集合理论和关系数学家理论化的。 评论:正所谓物级必反,将表格分得过细有时并不好,因为这样需要将各表进行各种的关联,这会令查询时变得复杂,而且效率也可能降低,这些正规化的规定可以 参考,在实际应用时,要根据项目的大小,必要时可以进行一些测试,以设计出更合理的表格结构。