- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件和文件组的设计规则 文件或文件组不能由一个以上的数据库使用。 文件只能是一个文件组的成员。 数据和事务日志信息不能属于同一文件或文件组。 事务日志文件不能属于任何文件组。 页和扩展盘区 数据存储的基本单位是页。在 SQL Server 2000 中,页的大小是 8 KB。这意味着 SQL Server 2000 数据库每兆字节有 128 页 每页的开始部分是 96 字节的页首,用于存储系统信息,如页的类型、页的可用空间量、拥有页的对象的对象 ID 等。 页类型 页类型 内容 数据 包含数据行中除 text、ntext 和 image 数据外的所有数据。 索引 索引项。 文本/图像 text、ntext 和 image 数据。 全局分配映射表、辅助全局分配映射表 有关已分配的扩展盘区的信息。 页的可用空间 有关页上可用空间的信息。 索引分配映射表 有关表或索引所使用的扩展盘区的信息。 大容量更改映射表 有关自上次执行 BACKUP LOG 语句后大容量操作所修改的扩展盘区的信息。 差异更改映射表 有关自上次执行 BACKUP DATABASE 语句后更改的扩展盘区的信息。 数据页 堆集结构 聚集索引 非聚集索引 规范化 数据库的逻辑设计(包括各种表和表间关系)是优化关系数据库的核心。设计好逻辑数据库,可以为优化数据库和应用程序性能打下基础。逻辑数据库设计不好,会损害整个系统的性能。 规范化 规范化逻辑数据库设计包括使用正规的方法来将数据分为多个相关的表。拥有大量窄表(列较少的表)是规范化数据库的特征。而拥有少量宽表(列较多的表)是非规范化数据库的特征。 规范化 规范化的一些益处包括: 排序和索引创建更快。 索引更窄、更精简。 每个表的索引更少,这样将提高 INSERT、UPDATE 和 DELETE 语句的性能。 空值更少,出现不一致性的机会更少,从而提高数据库紧凑性。 获得设计良好的数据库 在关系数据库设计理论中,规范化规则指出了在设计良好的数据库中必须出现或不出现的某些特性。 有几个可帮助获得合理的数据库设计的规则: 获得设计良好的数据库 表应该有一个标识符数据库设计理论的基本原理是:每个表都应有一个唯一的行标识符,可以使用列或列集将任何单个记录同表中的所有其它记录区别开来。每个表都应有一个 ID 列,任何两个记录都不可以共享同一 ID 值。作为表的唯一行标识符的一列或多列是表的主键。 获得设计良好的数据库 表应只能存储单一类型实体的数据试图在表中存储过多的信息会妨碍对表的数据进行有效、可靠的管理。 获得设计良好的数据库 表应避免可为空的列 表中的列可定义为允许空值。空值表示没有值。尽管在个别情况下,允许空值有用,但是最好少用空值,因为空值需要进行特殊的处理,这样会增加数据操作的复杂性。如果某一表中有几个可为空的列,并且列中的几行有空值,则应考虑将这些列置于链接到主表的其它表中。将数据存储在两个独立的表中使主表的设计更为简单,但能够满足存储空值信息的偶尔需要。 获得设计良好的数据库 表不应有重复的值或列 数据完整性 实体完整性 域完整性 引用完整性 用户定义完整性 实体完整性 实体完整性将行定义为特定表的唯一实体。 实体完整性强制表的标识符列或主键的完整性(通过索引、UNIQUE 约束、PRIMARY KEY 约束或 IDENTITY 属性)。 域完整性 域完整性是指给定列的输入有效性。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过 CHECK 约束和规则)或可能值的范围(通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则)。 引用完整性 在输入或删除记录时,引用完整性保持表之间已定义的关系。 这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。 用户定义完整性 用户定义完整性使您得以定义不属于其它任何完整性分类的特定业务规则。 数据安全性 数据库有一种功能是保护数据,防止某些用户查看或更改高度敏感的数据,以及防止所有用户产生代价高昂的错误。 数据库性能 在设计数据库时,必须确保数据库正确地、快速地执行所有重要的功能。有些性能问题可以在数据库进入生成过程后解决,但另外一些性能问题则可能是数据库设计不良造成的,而且只有通过更改数据库的结构和设计才能加以解决。 数据库性能 在设计和实现数据库时,应找出数据库中的大表和数据库要执行的较复杂处理,在设计这些表时,对性能应特别注意。还要考虑访问数据库的用户数增加对性能的影响。 数据库性能 提高性能的设计更改实例包括:如果必须对包含成千上万行的表进行汇总以供每日报表使用,可以向该表添加包含预聚
文档评论(0)