数据库标准化本领[Access防范]
本文“数据库标准化本领[Access防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
简介
在计划数据库时,最重要的步骤是要确保数据精确分布到数据库的表中.利用精确的数据构造,可以极大地简化利用程序的其他内容(查询、窗体、报表、代码等).精确举行表计划的正式名称是"数据库标准化".
本文扼要介绍数据库标准化的基本概念和一些需求注意并力求避免的常见问题.
理解您的数据
在计划表之前,应明确您打算若何处理数据,还要理解随着时间的推移数据会发生什么样的改变.您所做的假定将会影响终究的计划.
您需求什么样的数据?
计划利用程序时,关键要理解计划的终究后果,以便确保您预备好全部必须的数据并知道其根源.比方,报表的外观、每个数据的根源以及所需的全部数据能否都存在.对项目丧失最大的莫过于在项目后期发现重要报表贫乏数据.
知道需求什么样的数据后,就必须肯定数据的根源.数据能否从其他数据源中导入?数据能否需求清理或考证?用户能否需求输入数据?
明确所需数据的范例和根源是数据库计划的第一步.
您打算若何处理这些数据?
用户能否需求编辑这些数据?假如需求,应若何显示数据以便于用户理解和编辑?有没有考证法则和相关的查找表?要求对编辑和删除保存备份的数据输入有没有相关联的考核问题?需求为用户显示哪些择要信息?能否需求生成导出文件?理解这些信息后,便可以想象字段之间是若何彼此关联的了.
数据之间若何彼此关联?
将数据分组放入相关字段(比方与客户相关的信息、与发票相关的信息等),每个字段组都代表要成立的表.然后考虑若何将这些表彼此关联.比方,哪些表具有一对多关系(比方,一个客户大概持有多张发票)?哪些表具有一对一关系(这种情形下,普通会考虑将其组合到一个表中)?
随着时间的推移数据会发生什么样的改变?
计划表之后,常常会由于没有考虑时间的影响而招致今后呈现严重问题.很多表计划在当时利用时效果非常好,但是,常常会因为用户改正数据、增添数据以及随时间的推移而崩溃.开辟人员常常会发现需求重新计划表的构造来适应这些改变.表的构造发生改变时,全部相关的内容(查询、窗体、报表、代码等)也必须随之更新.理解并猜测数据会随时间推移发生哪些改变,可以实现更好的计划,削减问题的发生.
学习若何利用查询
理解若何解析和管理数据一样很重要.您应当深化理解查询的工作原理,理解若何利用查询在多个表之间链接数据,若何利用查询对数据举行分组和汇总,以及如安在不需求以标准化格局显示数据时利用穿插表查询.
好的数据计划的终究目标就是要均衡两个需求:既要随着时间的推移有效地存储数据,又要轻松地检索和解析数据.理解查询的功效对精确计划表很有帮忙.
数据库标准化概念
这部份介绍数据库标准化所触及的基本概念,而不是对数据库标准化举行理论性的探究.如安在您的实际情形中利用这些概念大概会随着利用程序需求的差别而有所改变.这部份的目的是理解这些基本概念、按照实际需求利用它们,并理解偏离这些概念将会呈现哪些问题.
将唯一信息存储在一个地方
大部份数据库开辟人员都理解数据库标准化的基本概念.抱负情形下,您但愿将相同的数据存储在同一个地方,并在需求引用时利用 ID 来举行引用.因此,假如某些信息发生了改变,则可以在一个地方举行更改,而整个程序中的呼应信息也会随之更改.
比方,客户表会存储每个客户的记录,包含姓名、地址、电话号码、电子邮件地址以及其他特点信息.客户表中大概包含唯一的 CustomerID 字段(普通是 Autonumber 字段),这个字段即该表的主键字段,其他表利用它来引用该客户.因此,发票表可以只引用客户的 ID 值,而不是在每张发票中存储客户的全部信息(因为同一个客户大概会持有多张发票),这样操纵客户的 ID 值便可从客户表中查找客户的具体信息.利用 Access 中功效强盛的窗体(利用组合框和子窗体),可以轻松地完成这项工作.假如需求改正客户信息(比方新增电话号码),只需在客户表中改正,利用程序中引用该信息的任何其他部份城市随之自动更新.
利用精确标准化的数据库,通过简单的编辑便可轻松处理数据随时间推移而发生的更改.利用未精确标准化的数据库,普通需求操纵编程或查询来更改多条记录或多个表.这不但会增添工作量,还会增添由于未精确履行代码或查询而招致数据不一致的大概性.
记录是免费的,而新字段非常高贵
抱负的数据库应当只需求随着时间的推移增添新的记录,数据库表应当可以保存大量记录.但是,假如您发现需求增添更多字段,则大概会碰到计划问题.
电子表格专家常常会碰到上述问题,因为他们习惯于按照计划电子表格的方法计划数据库.计划常常随时间改变的字段(比方,年、季度、产品和贩卖人员)需求在将来增添新字段.而精确的计划应当是转换信息并将随时间改变的数据放在一个字段内,这样便可以增添更多记录.比方,只需成立"年"字段,然后在该字段中输入各记录像应的年份值便可,无需为每年成立一个单独的字段.
增添额外的字段大概会产生问题,因为表构造的改变会对利用程序的其他部份产生影响.在表中增添更多字段时,依靠该表的对象和代码也需求更新.比方,查询需求获得额外的字段,窗体需求显示这些字段,而报表则需求包含这些字段,等等.但是,假如数据已经标准化,则现有对象会自动检索新数据,并精确计算或显示这些数据.查询功效特别强盛,因为它答应您按"年"字段举行分组,以逐年显示择要(不管表中包含哪些年份).
但是,数据标准化并不意味着不能显示或利用随时间而改变或依靠时间的字段.需求浏览或显示这类信息的开辟人员普通可以利用穿插表查询来到达这一目的.假如您不熟习穿插表查询,应当学习若何利用它们.固然它们与表有所差别(特别是用户无法编辑穿插表查询的后果),但它们的确可以用于在数据表中显示信息(最多可以到达 255 个字段).假如要在报表中利用它们,则会越发复杂,因为报表需求包含额外的或不断改变的字段名.这就是为什么大大都报表将数据作为独立的分组(而不是独立的列)显示的缘由.关于那些别无挑选的情形,您必须花时间去办理这个问题.但愿全部人都可以理解这种决领悟随着时间的改变对其他资源产生的影响.
这就是为什么增添记录是免费的(这是数据库的宏大上风)而增添字段是如此高贵的缘由.假如数据库计划精确,则可以适应各种各样的改变.
以上是“数据库标准化本领[Access防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |