Access数据库设计注意事项
- 格式:doc
- 大小:66.00 KB
- 文档页数:12
Access数据库设计技巧数据库设计是构建可靠、高效和可维护的数据库系统的关键步骤。
Microsoft Access作为一种常用的数据库管理系统,为用户提供了强大的工具和功能,以便设计和管理数据库。
本文将介绍一些Access数据库设计的技巧,帮助您更好地利用这个工具。
一、合理规划数据库结构1. 设计数据库之前先明确需求:在开始设计数据库之前,务必明确数据库的需求。
要了解系统中需要存储的数据类型、数据量、数据关系等,以便更准确地设计表和字段。
2. 分析实体和关系:根据需求,将系统中涉及的实体(例如客户、产品)和实体之间的关系进行分析。
了解实体的属性和关系将有助于确定数据库的表和表之间的连接方式。
3. 正规化数据库:正规化是一种设计技巧,旨在消除数据冗余并提高数据库的性能和可维护性。
根据关系数据库理论,将表分解为更小的、更规范的形式,以避免数据重复和逻辑混乱。
二、使用适当的数据类型1. 选择恰当的字段类型:Access提供了多种字段类型,包括文本、数字、日期/时间等。
在选择字段类型时,要根据实际需求进行评估,并选择最适合的字段类型以节省空间和提高性能。
2. 使用关联字段:如果多个表之间存在关联关系,可以使用关联字段来建立表之间的连接。
通过关联字段,可以轻松地进行表之间的查询和分析,提高数据的管理效率。
三、合理设计索引1. 了解索引类型:在Access中,可以创建多种类型的索引,包括主键索引、唯一索引和普通索引等。
了解不同类型的索引特点,有助于更好地设计和管理索引。
2. 创建适当的索引:索引可以提高数据库查询的速度和效率,但同时也会增加数据库的存储空间。
因此,应该根据查询需求和数据库的大小选择创建索引的字段,以权衡查询性能和存储需求。
四、使用查询和表关系1. 利用查询进行数据分析:通过使用查询功能,可以从数据库中提取特定条件的数据,并进行排序、过滤、计算等操作。
根据实际需求,使用查询可以帮助用户更方便地进行数据分析和处理。
Access表单设计和布局在进行Access数据库开发过程中,表单设计和布局是至关重要的一步。
一个好的表单设计可以提高用户的使用体验,使数据的录入、查询和编辑更加方便和高效。
本文将介绍一些关于Access表单设计和布局的技巧和实践经验。
一、表单设计原则在进行表单设计之前,需要明确一些基本原则,以确保我们设计出符合用户需求的高质量表单。
以下是一些需要注意的原则:1. 简洁明了:表单应该尽量简洁,避免过多的冗余信息和复杂的布局。
用户一眼就能看出所需的信息和操作按钮,不需要费力地搜索。
2. 一致性:保持表单设计的一致性,使得整个应用程序的界面统一。
例如,相同类别的字段在各个表单中的位置和样式应该一致,按钮的命名和功能也应保持一致。
3. 易于导航:表单应该具备良好的导航功能,用户可以方便地在各个字段之间进行切换和操作。
适当使用标签、分组和分页等方式,以提高用户的导航效率。
4. 错误处理:在表单设计中应考虑到用户输入错误的情况,并提供相应的错误提示和纠正机制。
例如,在必填字段为空时给出明确的提示,提醒用户进行填写。
二、表单布局技巧1. 控件的布局:在进行表单设计时,需要合理布局各个控件,使其排列有序、美观大方。
可以使用网格或对齐线来进行布局,确保各个控件在水平和垂直方向上的对齐。
2. 分组和标签:对相似功能或相关字段进行分组,使用适当的标签来显示组的名称或字段的描述。
这样可以使表单更具可读性和易用性。
3. 排版风格:可以根据实际需求选择不同的排版风格,如垂直布局、水平布局或栅格布局等。
合理运用空白区域和分割线,使表单看起来更加整洁和有序。
4. 按钮位置:将常用的操作按钮放置在用户操作的主要区域,以便用户快速找到并进行相应操作。
同时,需要注意控制按钮数量,避免过多的按钮导致用户困惑。
5. 字段宽度:根据字段的内容长度和重要性,合理设定字段的宽度。
对于长文本或多行文本字段,可以考虑使用自动调整宽度的方式,以适应不同长度的输入内容。
Access数据库程序设计Access数据库程序设计=====================概述-Access是一种基于Microsoft Windows的关系型数据库管理系统。
它为开发人员提供了一种简便的方式来创建和管理数据库应用程序。
本文档将介绍Access数据库程序设计的一般步骤和注意事项。
设计步骤--设计Access数据库程序通常需要以下步骤:1. 确定需求:确定数据库程序的需求和目标。
要了解用户的需求,进行适当的调查和访谈。
基于需求,设计数据库的结构和功能。
2. 创建数据库:打开Access应用程序,选择“新建数据库”选项。
为数据库选择一个合适的名称,并选择存储位置。
3. 设计表结构:在“创建”选项卡中选择“表格设计”选项,开始设计表结构。
在设计表时,考虑各种实体、属性和关系。
为表选择适当的字段类型,并设置主键和外键关系。
4. 填充数据:打开设计好的表,并填充适当的数据。
根据需求,可以手动输入数据或者通过导入其他数据源的方式填充数据。
5. 设计查询:为了高效地检索和处理数据,需要设计查询。
可以使用查询设计工具创建查询,以实现对数据的过滤、排序、计算和合并等操作。
6. 创建表单和报表:根据用户需求,设计适当的表单和报表。
表单和报表可以提供给用户界面,以便用户可以方便地访问和操作数据库。
7. 编写宏和VBA代码:根据需求,可以编写宏或VBA代码来实现一些定制化的操作。
宏可以在Access中录制,VBA代码可以使用Visual Basic for Applications编写。
8. 测试和调试:在开发完毕后,进行测试和调试。
确保数据库程序的功能和性能都符合需求。
9. 部署和维护:当数据库程序通过测试后,可以部署到生产环境中。
并且需要定期进行维护和更新,以确保数据库的安全性和稳定性。
注意事项--在设计Access数据库程序时,需要注意以下事项:- 遵循设计原则:遵循数据库设计的一般原则,如避免数据冗余、保持数据一致性、确保数据完整性等。
Access数据库设计指南第一章:数据库设计基础知识1.1 数据库设计的重要性数据库设计是建立和管理数据的关键步骤之一。
合理的数据库设计能够提高数据的可靠性、安全性和查询效率,对于系统的运行和维护具有重要意义。
1.2 数据库设计过程数据库设计包括需求分析、概念设计、逻辑设计和物理设计四个阶段。
需求分析阶段明确用户需求,概念设计阶段建立概念模型,逻辑设计阶段建立逻辑模型,物理设计阶段将逻辑模型转化为物理模型并优化数据库性能。
1.3 数据库设计原则数据库设计应遵循一些基本原则,如模块化、灵活性、一致性、可维护性和安全性等。
第二章:Access数据库设计2.1 Access数据库介绍Access是Windows平台上较为常用的关系数据库管理系统,提供了直观的用户界面和强大的数据处理功能。
2.2 数据库设计步骤在Access中进行数据库设计可按照需求分析、数据建模、设计关系模式、建立表格、设置关系和创建查询等步骤进行。
第三章:需求分析与数据建模3.1 需求分析需求分析是数据库设计的第一步,通过与用户沟通和明确需求,分析实体、属性、关系和操作等关键要素。
3.2 数据建模数据建模是根据需求分析结果,将现实世界中的概念转化为数据模型的过程。
常用的数据建模工具有ER图、UML等。
第四章:设计关系模式与建立表格4.1 设计关系模式设计关系模式是将概念模型转化为逻辑模型的过程。
通过标识实体和确定属性、函数依赖等,建立关系模式。
4.2 建立表格根据关系模式设计,创建Access表格,包括定义字段名称、数据类型、大小、约束等。
第五章:设置关系与建立约束5.1 关系的定义与类型通过外键约束实现表与表之间的关系。
一对一关系、一对多关系和多对多关系是常见的关系类型。
5.2 设置关系通过Access中的关系视图,设置表与表之间的关系,例如一对一关系、一对多关系等。
5.3 建立约束为了保证数据的完整性和一致性,可以在表格中设置约束条件,如主键约束、外键约束、唯一性约束、默认值约束等。
使用Access建立数据库数据库是一个组织存储数据的工具,它对于管理和使用大量数据非常重要。
Access是一款由微软开发的关系型数据库管理系统,它提供了一套强大的工具和功能,可以帮助用户轻松建立、管理和查询数据库。
本文将介绍使用Access建立数据库的过程和一些注意事项。
一、数据库设计在开始建立数据库之前,我们首先需要进行数据库设计。
数据库设计是一个非常重要和关键的步骤,它决定了数据库的结构和组织方式。
下面是一个简单的数据库设计流程:1. 定义数据库目的和需求:确定数据库的主要目的和需求,例如,记录学生信息、存储商品销售数据等。
2. 收集和分析数据:收集需要存储在数据库中的数据,并进行数据分析,了解数据之间的关系和连接方式。
3. 设计实体和属性:根据数据分析的结果,设计数据库中的实体(表)和属性(字段),并定义它们之间的关系。
4. 设计表之间的关系:确定各个实体之间的关系,包括一对一、一对多和多对多关系。
5. 设计约束和数据类型:根据需求,设计表的约束条件,例如,主键、外键、唯一性约束等,并选择合适的数据类型来存储数据。
6. 建立表格:根据设计的实体和属性,创建表格,并设置各个字段的属性和数据类型。
二、在数据库设计完成后,我们可以通过以下步骤使用Access建立数据库:1. 打开Access:打开Access软件,点击“新建”或“创建”按钮,进入数据库创建界面。
2. 创建新数据库:选择“文件”菜单,点击“新建”选项,并选择“空白数据库”或“数据库模板”,输入数据库名称,并选择保存的位置。
3. 创建表格:在新创建的数据库中,点击“表格”选项卡,选择“设计视图”或“表格模板”,开始设计和创建表格。
4. 设计表格:在表格设计器中,根据数据库设计的结果,依次输入表名和字段名,并设置字段的属性和数据类型。
根据需要,设置主键、外键和索引等约束条件。
5. 建立关系:如果数据库有多个表格,并且存在关系,可以通过“数据库工具”菜单中的“关系”选项来建立表之间的关系。
Access数据库设计教程一、什么是Access数据库Access数据库是微软公司开发的一套关系型数据库管理系统,可用于创建和管理数据库,适用于个人用户和小型团队。
它提供了直观易用的用户界面和丰富的功能,适合初学者进行数据库设计和管理。
二、数据库设计的基本步骤1. 确定需求:在进行数据库设计之前,首先需要明确数据库的需求。
例如,数据库是用于存储学生信息还是商品销售数据等。
2. 设计表结构:根据需求,设计数据库的表结构。
每个表都应具有一个唯一的标识符,称为主键。
这个主键可以是自增长的数字,也可以是其他唯一的标识符。
3. 定义字段和数据类型:为每个表定义字段和对应的数据类型。
常见的数据类型包括文本、数字、日期/时间、布尔值等。
4. 建立关系:根据实际需求,建立表之间的关系。
常见的关系有一对一关系、一对多关系和多对多关系。
5. 设计查询:根据需求设计查询,用于检索和分析数据库中的数据。
三、Access数据库设计的具体步骤1. 创建新数据库:打开Access,选择“新建空白数据库”,保存数据库文件,并命名。
2. 设计表结构:在“表设计”视图中,定义每个表的字段和数据类型。
例如,可以为学生表设计学生ID、姓名、年龄等字段。
3. 设置主键:在表设计视图中选择一个字段作为主键,并设置为自增长。
这样可以确保每个记录都有唯一的标识符。
4. 建立关系:在表设计视图中,选择“工具”菜单中的“关系”选项,建立表之间的关系。
例如,可以将学生表和课程表通过学生ID字段和课程ID字段建立关联。
5. 设计查询:在“查询设计”视图中创建查询。
可以使用查询来检索特定的数据,计算字段值或创建新的表。
四、Access数据库设计的注意事项1. 合理命名:为表、字段和查询等对象命名时,应使用见名知意的名称。
避免使用过于简单或复杂的名称,以免给后续的数据操作带来困扰。
2. 数据完整性:在设计数据库时,应设置字段的约束条件,确保数据的完整性和一致性。
Access数据库报表设计技巧Access数据库是一种功能强大且广泛使用的关系型数据库管理系统。
在使用Access建立数据库的过程中,报表设计是非常重要的环节。
一个好的报表设计能够使数据更加直观、易于理解和分析。
因此,本文将分享一些Access数据库报表设计的技巧,帮助您提升报表的效果和质量。
1. 明确报表目标在设计报表之前,首先要明确报表的目标和用途。
例如,是要展示销售数据、展示员工绩效还是展示库存信息等。
明确报表的目标有助于您选择合适的数据字段和布局。
2. 选择适当的报表类型Access提供了多种报表类型,如列报表、交叉报表、邮寄标签等。
根据报表目标和需求选择合适的报表类型,以达到最佳的数据展示效果。
3. 导航布局设计良好的导航布局能够提高用户的使用体验。
您可以在报表中添加导航按钮或者使用导航窗格,使用户可以方便地切换和定位到感兴趣的数据。
4. 使用子报表Access允许在主报表中嵌入子报表,这样可以在一张报表中展示多个相关的数据。
例如,在一个销售报表中同时展示各个地区的销售情况。
使用子报表可以减少报表数量,使用户更加方便地浏览和分析数据。
5. 添加图表和图形图表和图形能够直观地展示数据,并使数据更易于理解。
在报表中添加适当的图表和图形,如柱状图、饼状图、折线图等,可以使报表更加生动有趣。
6. 设置条件格式化条件格式化可以根据特定的条件对报表中的数据进行高亮或者不同的格式展示。
这样可以使报表更易于分析和发现异常情况。
例如,您可以通过设置条件格式化来突出显示销售额最高的产品或者库存量最低的物品。
7. 使用参数查询参数查询能够根据用户输入的条件在报表中动态展示相关数据。
通过在报表中使用参数查询,用户可以灵活地筛选和查看感兴趣的数据,提高了报表的灵活性和适用性。
8. 数据排序和分组对报表中的数据进行排序和分组有助于更好地组织和展示数据。
通过对数据字段进行排序,可以使数据按照特定顺序显示,方便用户查看和分析。
如何使用Access进行数据库管理和开发Access是一种常用的关系型数据库管理系统(RDMS),它被广泛应用于各个领域的数据库管理和开发。
本文将介绍如何使用Access进行数据库管理和开发,并按照以下几个章节进行详细阐述。
一、数据库设计和规划在使用Access进行数据库管理和开发之前,首先需要进行数据库设计和规划。
这涉及到确定数据库的目标和需求,明确数据表的结构和关系,以及设计适当的数据字段和索引。
1.1 确定数据库的目标和需求在设计数据库之前,需要明确数据库的目标和需求。
这包括确定数据库的用途,如存储、检索和分析数据的需求,以及数据库的规模和性能要求。
1.2 设计数据表和字段接下来,需要设计适当的数据表和字段。
每个数据表代表一个实体,每个字段代表实体的特征。
在设计数据表时,需要考虑实体之间的关系,并定义适当的主键和外键。
1.3 设计表之间的关系在数据库设计中,表之间的关系是非常重要的。
可以使用Access的关系视图来定义表之间的关联关系,如一对一、一对多和多对多关系。
确保关系的定义符合数据库的需求和实际情况。
二、创建数据库和数据表完成数据库设计和规划后,接下来需要创建数据库和数据表。
Access提供了直观的图形界面,使得创建数据库和数据表变得简单易行。
2.1 创建新的数据库在Access中,可以选择创建新的数据库文件。
可以指定数据库的名称、存储位置和存储格式,并选择适当的加密选项以保护数据库的安全性。
2.2 创建数据表通过数据表设计视图,可以创建新的数据表。
在数据表设计视图中,可以定义表的结构,包括表名、字段名、数据类型、字段长度、字段约束等。
确保数据表的设计符合数据库的规划和需求。
2.3 设定主键和外键在创建数据表时,需要设定主键和外键。
主键用于唯一标识表中的每条记录,而外键用于建立表之间的关联关系。
通过指定主键和外键,可以确保数据的完整性和一致性。
三、数据输入和操作数据库的管理和开发不仅仅涉及创建数据库和数据表,还涉及数据的输入、修改、删除和查询等操作。
Access数据库设计技巧Access数据库设计技巧随着信息技术的发展,数据库管理系统越来越成为企业必备的应用系统。
Access是一款微软公司开发的DBMS(数据库管理系统),具有集成和易用性的优点。
在Access数据库中,设计合理的数据结构非常重要,它不仅直接影响到数据的存储与分析,还关系到系统的性能和安全性。
本文将从几个方面探讨Access数据库设计的技巧。
1.数据表设计数据表是Access数据库中最基本的组成部分,它是存储数据的基本单位。
在数据表设计中,需要考虑以下几点:1.1设计表名表名应该简洁明了,并且能够准确反映出表所存储的数据类型或实体,并且不要使用重复或者与Access保留字相同的名称。
1.2设计字段名字段名应该简单明了,具有一定的描述性,并且能够准确反映该字段的含义。
避免使用过长的字段名,一般不超过30个字符。
如果需要使用缩写词,则应该统一约定和说明。
1.3设计数据类型在设计数据库的数据类型时,应该按照实际需求进行选择。
对于数字类型应该尽量选用紧凑型数据类型,可以提高数据库的效率。
对于字符类型,根据实际情况选择大小写敏感或者大小写不敏感。
1.4设计主键主键是用于唯一标识一条记录的字段。
主键应该简单明了,并且可以唯一标识一条记录。
对于数据表的主键设计,有两种方式:单一主键和复合主键。
单一主键是指使用一个字段作为主键,而复合主键是由两个或多个字段组成的主键。
2.查询设计Access数据库支持多种查询方式,包括表格查询、交叉查询、合并查询、参数查询等,其中表格查询最为常用。
在Access查询设计中需要考虑以下几点:2.1设置查询条件查询条件是筛选数据的关键。
在设置查询条件时,应该根据实际情况进行设置,避免查询条件过于宽泛或者过于狭窄。
同时还需考虑如何利用索引来加速查询。
2.2排序与过滤数据在查询数据时,可能需要对数据进行排序或者过滤,对于大型的数据集,可以考虑使用索引来加速排序。
2.3多表查询如果需要从多个表中查询数据,可以通过设置外键来实现关联查询。
时间:2009-1-10 8:40:07作者:UMVsoft整理摘要:Access数据库设计注意事项正文:老实说很多人不是很注重数据库的设计,今天看到一篇不错的文章,自己记下,如果有需要的人可以看看。
强调:数据库设计看似简单,但是绝对不能轻视!!!一个成功的管理系统,是由:[50% 的业务+ 50% 的软件] 所组成,而50% 的成功软件又有[25% 的数据库+ 25% 的程序] 所组成,数据库设计的好坏是一个关键。
如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。
有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。
不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。
所以我归纳历年来所走的弯路及体会,并在网上找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。
精选了其中的60 个最佳技巧,并把这些技巧编写成了本文,为了方便索引其内容划分为5 个部分:第1 部分- 设计数据库之前这一部分罗列了12 个基本技巧,包括命名规范和明确业务需求等。
第2 部分- 设计数据库表总共24 个指南性技巧,涵盖表内字段设计以及应该避免的常见问题等。
第3 部分- 选择键怎么选择键呢?这里有10 个技巧专门涉及系统生成的主键的正确用法,还有何时以及如何索引字段以获得最佳性能等。
第4 部分- 保证数据完整性讨论如何保持数据库的清晰和健壮,如何把有害数据降低到最小程度。
第5 部分- 各种小技巧不包括在以上4 个部分中的其他技巧,五花八门,有了它们希望你的数据库开发工作会更轻松一些。
第1 部分- 设计数据库之前考察现有环境在设计一个新数据库时,你不但应该仔细研究业务需求而且还要考察现有的系统。
大多数数据库项目都不是从头开始建立的;通常,机构内总会存在用来满足特定需求的现有系统(可能没有实现自动计算)。
显然,现有系统并不完美,否则你就不必再建立新系统了。
但是对旧系统的研究可以让你发现一些可能会忽略的细微问题。
一般来说,考察现有系统对你绝对有好处。
定义标准的对象命名规范一定要定义数据库对象的命名规范。
对数据库表来说,从项目一开始就要确定表名是采用复数还是单数形式。
此外还要给表的别名定义简单规则(比方说,如果表名是一个单词,别名就取单词的前4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成4 个字母长的别名;如果表的名字由 3 个单词组成,你不妨从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成 4 字母长的别名,其余依次类推)对工作用表来说,表名可以加上前缀WORK_ 后面附上采用该表的应用程序的名字。
表内的列[字段]要针对键采用一整套设计规则。
比如,如果键是数字类型,你可以用_N 作为后缀;如果是字符类型则可以采用_C 后缀。
对列[字段]名应该采用标准的前缀和后缀。
再如,假如你的表里有好多“money”字段,你不妨给每个列[字段]增加一个_M 后缀。
还有,日期列[字段]最好以D_ 作为名字打头。
检查表名、报表名和查询名之间的命名规范。
你可能会很快就被这些不同的数据库要素的名称搞糊涂了。
假如你坚持统一地命名这些数据库的不同组成部分,至少你应该在这些对象名字的开头用Table、Query 或者Report 等前缀加以区别。
如果采用了Microsoft access,你可以用qry、rpt、tbl 和mod 等符号来标识对象(比如tbl_Employees)。
我在和SQL Server 打交道的时候还用过tbl 来索引表,但我用sp_company (现在用sp_feft_)标识存储过程,因为在有的时候如果我发现了更好的处理办法往往会保存好几个拷贝。
我在实现SQL Server 2000 时用udf_ (或者类似的标记)标识我编写的函数。
工欲善其事, 必先利其器采用理想的数据库设计工具,比如:SyBase 公司的PowerDesign,她支持PB、VB、Delphe 等语言,通过ODBC 可以连接市面上流行的30 多个数据库,包括dBase、FoxPro、VFP、SQL Server 等,今后有机会我将着重介绍PowerDesign 的使用。
获取数据模式资源手册正在寻求示例模式的人可以阅读《数据模式资源手册》一书,该书由Len Silverston、W. H. Inmon 和Kent Graziano 编写,是一本值得拥有的最佳数据建模图书。
该书包括的章节涵盖多种数据领域,比如人员、机构和工作效能等。
其他的你还可以参考:[1]萨师煊王珊著数据库系统概论(第二版)高等教育出版社1991、[2][美] Steven M.Bobrowski 著oracle 7 与客户/服务器计算技术从入门到精通刘建元等译电子工业出版社,1996、[3]周中元信息系统建模方法(下)电子与信息化1999年第3期,1999畅想未来,但不可忘了过去的教训我发现询问用户如何看待未来需求变化非常有用。
这样做可以达到两个目的:首先,你可以清楚地了解应用设计在哪个地方应该更具灵活性以及如何避免性能瓶颈;其次,你知道发生事先没有确定的需求变更时用户将和你一样感到吃惊。
一定要记住过去的经验教训!我们开发人员还应该通过分享自己的体会和经验互相帮助。
即使用户认为他们再也不需要什么支持了,我们也应该对他们进行这方面的教育,我们都曾经面临过这样的时刻“当初要是这么做了该多好..”。
在物理实践之前进行逻辑设计在深入物理设计之前要先进行逻辑设计。
随着大量的CASE 工具不断涌现出来,你的设计也可以达到相当高的逻辑水准,你通常可以从整体上更好地了解数据库设计所需要的方方面面。
了解你的业务在你百分百地确定系统从客户角度满足其需求之前不要在你的ER(实体关系)模式中加入哪怕一个数据表(怎么,你还没有模式?那请你参看技巧9)。
了解你的企业业务可以在以后的开发阶段节约大量的时间。
一旦你明确了业务需求,你就可以自己做出许多决策了。
一旦你认为你已经明确了业务内容,你最好同客户进行一次系统的交流。
采用客户的术语并且向他们解释你所想到的和你所听到的。
同时还应该用可能、将会和必须等词汇表达出系统的关系基数。
这样你就可以让你的客户纠正你自己的理解然后做好下一步的ER 设计。
创建数据字典和ER 图表一定要花点时间创建ER 图表和数据字典。
其中至少应该包含每个字段的数据类型和在每个表内的主外键。
创建ER 图表和数据字典确实有点费时但对其他开发人员要了解整个设计却是完全必要的。
越早创建越能有助于避免今后面临的可能混乱,从而可以让任何了解数据库的人都明确如何从数据库中获得数据。
有一份诸如ER 图表等最新文档其重要性如何强调都不过分,这对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名。
对SQL 表达式的文档化来说这是完全必要的。
创建模式一张图表胜过千言万语:开发人员不仅要阅读和实现它,而且还要用它来帮助自己和用户对话。
模式有助于提高协作效能,这样在先期的数据库设计中几乎不可能出现大的问题。
模式不必弄的很复杂;甚至可以简单到手写在一张纸上就可以了。
只是要保证其上的逻辑关系今后能产生效益。
从输入输出下手在定义数据库表和字段需求(输入)时,首先应检查现有的或者已经设计出的报表、查询和视图(输出)以决定为了支持这些输出哪些是必要的表和字段。
举个简单的例子:假如客户需要一个报表按照邮政编码排序、分段和求和,你要保证其中包括了单独的邮政编码字段而不要把邮政编码糅进地址字段里。
报表技巧要了解用户通常是如何报告数据的:批处理还是在线提交报表?时间间隔是每天、每周、每月、每个季度还是每年?如果需要的话还可以考虑创建总结表。
系统生成的主键在报表中很难管理。
用户在具有系统生成主键的表内用副键进行检索往往会返回许多重复数据。
这样的检索性能比较低而且容易引起混乱。
理解客户需求看起来这应该是显而易见的事,但需求就是来自客户(这里要从内部和外部客户的角度考虑)。
不要依赖用户写下来的需求,真正的需求在客户的脑袋里。
你要让客户解释其需求,而且随着开发的继续,还要经常询问客户保证其需求仍然在开发的目的之中。
一个不变的真理是:“只有我看见了我才知道我想要的是什么”必然会导致大量的返工,因为数据库没有达到客户从来没有写下来的需求标准。
而更糟的是你对他们需求的解释只属于你自己,而且可能是完全错误的。
第2 部分- 设计表和字段检查各种变化我在设计数据库的时候会考虑到哪些数据字段将来可能会发生变更。
比方说,姓氏就是如此(注意是西方人的姓氏,比如女性结婚后从夫姓等)。
所以,在建立系统存储客户信息时,我倾向于在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止日等字段,这样就可以跟踪这一数据条目的变化。
采用有意义的字段名有一回我参加开发过一个项目,其中有从其他程序员那里继承的程序,那个程序员喜欢用屏幕上显示数据指示用语命名字段,这也不赖,但不幸的是,她还喜欢用一些奇怪的命名法,其命名采用了匈牙利命名和控制序号的组合形式,比如cbo1、txt2、txt2_b 等等。
除非你在使用只面向你的缩写字段名的系统,否则请尽可能地把字段描述的清楚些。
当然,也别做过头了,比如Customer_Shipping_Address_Street_Line_1,虽然很富有说明性,但没人愿意键入这么长的名字,具体尺度就在你的把握中。
采用前缀命名如果多个表里有好多同一类型的字段(比如FirstName),你不妨用特定表的前缀(比如CusLastName)来帮助你标识字段。
时效性数据应包括“最近更新日期/时间”字段。
时间标记对查找数据问题的原因、按日期重新处理/重载数据和清除旧数据特别有用。
标准化和数据驱动数据的标准化不仅方便了自己而且也方便了其他人。
比方说,假如你的用户界面要访问外部数据源(文件、XML 文档、其他数据库等),你不妨把相应的连接和路径信息存储在用户界面支持表里。
还有,如果用户界面执行工作流之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工作流的数据也可以存放在数据库里。
预先安排总需要付出努力,但如果这些过程采用数据驱动而非硬编码的方式,那么策略变更和维护都会方便得多。
事实上,如果过程是数据驱动的,你就可以把相当大的责任推给用户,由用户来维护自己的工作流过程。
标准化不能过头对那些不熟悉标准化一词(normalization)的人而言,标准化可以保证表内的字段都是最基础的要素,而这一措施有助于消除数据库中的数据冗余。
标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。
简单来说,3NF 规定:* 表内的每一个值都只能被表达一次。