WEB开发网
开发学院数据库MySQL Schema的优化和索引 - 范式和非范式 阅读

Schema的优化和索引 - 范式和非范式

 2009-09-02 00:00:00 来源:WEB开发网   
核心提示:有很多方法来展现给定的数据,从完全范式到完全的非范式以及介于两者之间,Schema的优化和索引 - 范式和非范式,在符合范式的数据库中,每个事实展现一次并且仅仅展现一次而已,DEPARTMENT的信息也同样的被删除了,为了避免这个问题,相反的,在非范式的数据库

有很多方法来展现给定的数据。从完全范式到完全的非范式以及介于两者之间。在符合范式的数据库中,每个事实展现一次并且仅仅展现一次而已。相反的,在非范式的数据库,信息重复或者存储在很多的地方。

如果你不熟悉范式,你应该加强学习了。关于范式,你可以通过一些书和网上资源来学习。在这里,我们主要介绍这一章中你应该明白的知识。让我们看看经典的例子,那就是employee,departments,和department heads.

EMPLOYEE             DEPARTMENT                  HEAD
Jones                      Accounting                       Jones
Smith                      Engineering                     Smith
Brown                     Accounting                       Jones
Green                     Engineering                      Smith

这种设计问题在于当数据更改的时候,这数据模型就会变得不正常了。如果Brown接管了Accounting部门,我们必须更新多条语句来反映出这个改变,并且这些更新可能还使数据的状态不一致。如果Jones行的HEAD和Brown行的HEAD不同的话,没有方法知道到底那个HEAD是正确的。就像那句老话一样:一个人有两块表,就不会知道准确的时间。更进一步的说,没有员工的时候就不能展现DEPARTMENT.如果我们删除了全部员工,DEPARTMENT的信息也同样的被删除了。为了避免这个问题,我们把这个表分为EMPLOYEE和DEPARTMENT两个实体。结果为两张表:

EMPLOYEE_NAME        DEPARTMENT
Jones                           Accounting
Smith                           Engineering
Brown                          Accounting
Green                           Engineering



DEPARTMENT                 HEAD
Accounting                     Jones
Engineering                   Smith

1 2 3 4 5 6  下一页

Tags:Schema 优化 索引

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接