<b>数据库尺度化底子</b>[Access防范]
本文“<b>数据库尺度化底子</b>[Access防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
尺度化是在数据库中组织数据的进程.此中包含,按照计划法则成立表并在这些表间成立关系;通过撤消冗余度与不一致相关性,该计划法则可以同时保护数据并增添数据的机动性.
冗余数据会浪费磁盘空间并带来保护问题.假如必须更改同时放在几个位置的一个数据,则必须按同一种方法更改全部位置的数据.假如该数据只保存在 Customers 表中而非数据库中的别的位置,更改客户地址要简单得多.
什么是"不一致相关性"?固然在 Customers 表中查找部份客户的地址关于用户来说很直观,但是关于在此查找拜候该客户的雇员的薪水来说大概没有意义.雇员的薪水与雇员本身有关大概说取决于雇员本身,因此应在"雇员"表中举行查看.由于查找数据的途径有大概丧失或破坏掉,不一致相关性会使得数据难于拜候.
有一些法则用于数据库尺度化.每个法则称为"通例表单(范式)".假如遵守了第一条法则,则数据库是"第一通例表单(范式)".假如遵守了前三条法则,则数据库是"第三通例表单(范式)".固然尺度化大概有别的等级,但关于大大都利用程序而言,普通认为第三通例表单(范式)是必须的最高档级.
由于有很多通例法则与标准,实际情形并不老是要求完好符合.普通说来,尺度化需求别的表,并且一些客户认为这对比麻烦.假如您决意不遵守尺度化前三个法则之一,请确保利用程序会预见大概发生的任何问题,如冗余数据与不一致相关性问题.
下面的阐明中包含一些示例.
第一通例表单(第一范式)
1.去掉各个表中的反复组.
2.为每组关联数据成立独立的数据.
3.利用主关键字肯定每组关联数据.
请勿在一个表中利用多个字段保存类似数据.比方,要跟踪大概来自两个大概资源的清单项,清单记录大概包含 Vendor Code 1 和 Vendor Code 2 的字段.
增添第三方供应商时会呈现什么情形?增添字段并不能办理问题;增添字段需求改正程序和表,并且无法很好地适应供应商个数不断改变的情形.反而,将全部供应商信息放在称为 Vendors 的独立表中,然后利用项目编号关键字将清单链接到供应商,或利用供应商朝码关键字将供应商链接到清单.
第二通例表单(第二范式)
1.为利用到多个记录的多组数值成立独立表.
2.利用外部关键字将这些表关联起来.
记录不该取决于表主关键字(若有必要,可以是组合关键字)之外的任何干键字.比方,在计帐系统中考虑利用客户地址.除 Customers 表需求该地址外,Orders、Shipping、Invoices、Accounts Receivable 与 Collections 表也需求该地址.在上述每个表中并非将客户地址作为独立条目举行保存的,而是将其保存在一个位置,即保存在 Customers 表或独立的 Addresses 表中.
第三通例表单(第三范式)
去掉了不取决于关键字的字段.
在记录中而不是记录的关键字部份的数值并不包含在表中.普通来说,在任什么时刻候,字段组的内容大概实用于表中的多个记录,可以考虑在一个独立表中存放这些字段.
比方,在 Employee Recruitment 表中,大概包含应聘者的大学名称和地址.但是,您需求一个完好的大学列表以便于举行分组邮寄.假如大学信息保存在 Candidates 表中,没有当前的应聘者无论若何无法列出这些大学.成立独立的 Universities 表并利用大学代码关键字将其链接至 Candidates 表.
例外情形:遵守第三通例表单(这在理论上是必要的)不一定老是实际有效的.假如您有一个 Customers 表且要去掉全部大概的字段内相关性,则必须对城市、邮政编码、贩卖代表、客户类别以及任何别的大概在多个字段中反复的因素成立独立的表.理论上讲,尺度化是值得投资的.但是,很多小的表大概会使性能降低或超越翻开文件与内存的本领.
仅将第三通例表单利用于不断改变的数据的办法大概越发机动.假如还保存了一些相关的字段,则需求将利用程序计划为当对一个数据举行更改时,需求用户确认全部的相关字段.
以上是“<b>数据库尺度化底子</b>[Access防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |