描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302474487丛书名: 实战从入门到精通(视频教学版)
《实战从入门到精通》系列图书是专门为职场办公初学者量身定做的一套学习用书,整套书涵盖办公、网页设计等方面。整套书具有以下特点:
前沿科技
无论是Office办公,还是Dreamweaver CC、Photoshop CC,我们都精选较为前沿或者用户群*的领域推进,帮助大家认识和了解*动态
作者团队
组织国家重点实验室和资深应用专家联手编著该套图书,融合丰富的教学经验与优秀的管理理念
学习型案例设计
以技术的实际应用过程为主线,全程采用图解和同步多媒体结合的教学方式,生动、直观、全面地剖析使用过程中的各种应用技能,降低难度提升学习效率
本书以零基础讲解为宗旨,用实例引导读者深入学习,采取“数据库基础→数据库基本操作→界面设计→编程技术→高级应用→项目实战”的讲解模式,深入浅出地讲解Access的各项技术及实战技能。
本书第1篇“数据库基础”主要讲解初识Access 2016和出色的数据库设计;第2篇“数据库的基本操作”主要讲解操作数据库、数据表的基本操作、数据库查询操作;第3篇“界面设计”主要讲解设计窗体、使用控件和窗体操作、使用Access报表展示数据;第4篇“编程技术”主要讲解使用宏、VBA编程语言、处理错误与异常;第5篇“高级应用”主要讲解将Access与SharePoint搭配应用、数据的导入和导出、数据库安全及优化;第6篇“项目实战”主要讲解Access项目开发实战,包括开发进销存管理系统和人事管理系统;第7篇“王牌资源”在DVD光盘中赠送了丰富的资源,包括Access案例素材和结果文件、教学幻灯片、本书精品教学视频、10个完整的ASP Access网站案例源码、60个完整的各行业Access数据库系统模板、Access 2016快捷键大全、窗体和控件常用属性速查手册、Access常用函数速查手册、数据库工程师面试技巧、Access常见错误及解决方案、Access数据库经验及技巧大汇总等。另外,光盘中还包含20多个小时99个全程同步视频教学录像。
本书适合任何想学习Access 2016的人员,无论您是否从事计算机相关行业,无论您是否接触过Access 2016,通过学习均可快速掌握Access的管理方法和技巧。
前言
“实战从入门到精通(视频教学版)”系列图书是专门为数据库和网站开发初学者量身定做的一套学习用书,整套书涵盖网站开发、数据库设计等方面,并具有以下特点。
前沿科技
无论是网站建设、数据库设计还是HTML5、CSS3,我们都精选较为前沿或者用户群的领域推进,帮助读者认识和了解动态。
权威的作者团队
组织国家重点实验室和资深应用专家联手编著该套图书,融合丰富的教学经验与优秀的管理理念。
学习型案例设计
以技术的实际应用过程为主线,全程采用图解和同步多媒体结合的教学方式,生动、直观、全面地剖析使用过程中的各种应用技能,降低难度、提升学习效率。
为什么要写这样一本书
Microsoft Access在很多地方得到广泛使用,例如小型企业、大公司部门等。使用Access可以对大量数据进行数据分析、开发行业系统软件和开发小型网站等,它是目前中小型企业应用多的数据库。本书针对 Access 2016技术的初学者,全面讲解Access 2016数据库的知识和技巧,以提高其职业化能力,从而帮助公司解决需求问题。
本书特色
零基础、入门级的讲解
无论您是否从事计算机相关行业,无论您是否接触过Access 2016数据库,都能从本书中找到起点。
超多、实用、专业的范例和项目
本书在编排上紧密结合学习Access 2016数据库技术的先后过程,从Access 2016数据库的基本操作开始,带领读者逐步深入地学习各种应用技巧,侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让读者读起来简明轻松,操作起来有章可循。
随时检测自己的学习成果
每章首页中,均提供了学习目标,以指导读者重点学习及学后检查。
细致入微、贴心提示
本书在各章讲解过程中使用了“注意”“提示”“技巧”等小栏目,使读者更清楚地了解相关操作、理解相关概念,并轻松掌握各种操作技巧。
高手甜点
本书中加入了“大神解惑”的内容,主要是讲述项目实战中的经验,使读者能快速提升项目操作能力,成为一名数据库设计高手。
专业创作团队和技术支持
本书由千谷网络科技实训中心提供技术支持。您在学习过程中遇到任何问题,可加入QQ群(221376441)进行提问,专业人员会在线答疑。
“Access 2016数据库”学习途径
本书以学习“Access 2016数据库”的制作流程来分配章节,从初的数据库基本概念开始,讲解了Access 2016数据库的基本操作、界面设计、编程技术和高级应用等。此外,在后的项目实战环节特意补充了人事管理系统开发实战,以便更进一步提高读者的实战技能。
超值光盘
20小时全程同步教学录像
涵盖本书所有知识点,详细讲解每个实例及项目的过程和技术关键点;使读者比看书更轻松地掌握书中所有的Access 2016数据库设计知识,而且扩展的讲解部分可以使读者得到比书中更多的收获。
超多容量王牌资源大放送
赠送大量王牌资源,包括Access案例素材和结果文件、教学幻灯片、本书精品教学视频、10个完整的ASP Access网站案例源码、60个完整的各行业Access数据库系统模板、Access 2016快捷键大全、窗体和控件常用属性速查手册、Access常用函数速查手册、数据库工程师面试技巧、Access常见错误及解决方案、Access数据库设计经验及技巧大汇总等。
读者对象
没有任何Access 2016基础的初学者
有一定的Access 2016基础,想精通Access 2016的人员
有一定的Access 2016基础,没有项目经验的人员
正在进行毕业设计的学生
大专院校及培训学校的老师和学生
创作团队
本书由刘玉红和李园主编,参加编写的人员还有蒲娟、刘玉萍、周佳、付红、郭广新、侯永岗、王攀登、刘海松、孙若淞、王月娇、包慧利、陈伟光、胡同夫、梁云梁和周浩浩。在编写过程中,我们尽所能地将好的讲解呈现给读者,但难免有疏漏和不妥之处,敬请不吝指正。若您在学习中遇到困难或疑问,有任何建议,可写信至信箱[email protected]。
编 者
第2章 出色的数据库设计
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂。因此,的设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程。通过本章的学习,读者需要熟悉如何设计出色的数据库,尽量避免因前期的考虑不周而造成的不必要操作。
本章要点(已掌握的在方框中打钩)
了解数据库的基本概念
了解关系型数据库
熟悉数据的规范性
掌握数据库的设计步骤和方法
2.1 数据库的基本概念
在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。对于大量的数据信息,如果使用手工方式进行管理,不仅效率低下,而且错误不断。这时就需要用到数据库,通常把它做成一个存储数据的仓库。例如,在一个学校,需要管理成千上万名学生的信息,这些信息组成一个数据库——学生信息管理数据库。其中,每个学生的姓名、家庭住址、电话、入学时间、学号等信息都是这个数据库中的数据。同时,在这个数据库中还可以随时添加或修改学生的信息。
由此可知,数据库可以被定义为数据的集合以及针对数据进行各种基本操作的对象集合,也被称为Database,简称DB。作为存储数据的仓库,数据库中的数据需按一定的规则存放,以便用户对数据进行访问或修改。
一个Access数据库是由表、查询、窗体、报表、宏和模块等数据库对象构成的,这些对象都被存储于一个扩展名为.accdb的单独文件中。其中,表作为主要的数据存储仓库来使用,而查询、窗体或报表则提供了数据的访问途径,用户可以添加或提取数据,并通过有效的方法呈现出数据。另外,大多数开发人员还需向窗体或报表中添加宏或VBA代码,使应用程序功能更加全面。
2.2 关系型数据库
Access 2016是一种关系型数据库管理系统,而关系型数据库即建立在关系模型基础上的数据库。关系模型是目前流行的数据库模型,它的数据结构简单清晰,是一个二维表的集合,每个表格就是一个关系。这意味着在Access 2016数据库中,一个表中的数据与另一个表中的数据是有关系的。
2.2.1 为什么创建多个表
一些初级用户在数据库中创建表时,总是希望创建一个能够包含全部信息的巨型表。例如,创建一个图书馆的图书管理表,其中包含了图书信息(图书编号、书名、作者、出版社、单价等)、图书类别信息(类别名称、可借天数、超期罚款等)及每本图书的借阅信息(借阅ID、学号、借阅日期、归还日期等),随着图书馆不断购入新的图书,该表中的数据会迅速增加,并且包含了许多无法管理的数据。
由此可知,创建这种巨型表后,会非常难以维护。随着数据的不断增加,系统效率随之降低,容易出现数据输入错误,同时会出现大量重复数据或空白数据。例如,若一本书有多次借阅信息,在记录不同的借阅信息时,该条信息前面的图书信息和图书类别信息将会大量重复。
为了解决以上问题,可以创建多个包含少量信息的表,每个表中都有一个主题,表中的字段都是围绕该主题所创建的。创建多个表并建立各个表之间的表关系后,同样可以将这些表当成一个表使用,但并不会出现上述问题。
2.2.2 使用多个表
上一节介绍了为什么需要在数据库中创建多个表,本节将介绍如何使用这些表。例如,在“图书管理”数据库中建立了两个表:“图书类别信息”表和“图书信息”表。其中,“类别编号”字段为“图书类别信息”表的主键,需在“图书信息”表中添加该字段作为其外键,通过该字段,创建这两个表的关系,将它们关联起来。
创建关系后,可以将这两个表当成一个表看待,方便用户查看某一类别下的所有图书信息,而不必重复查看每个表的记录。同样地,在每次购入新书时,只需更新“图书信息”表的内容。
由以上例子可以看出,由于特定主题的所有信息都在一个表内,所以将数据分布到数据库中的多个表内可以使系统变得更易于维护;创建了关系后又很方便地将它们相互关联起来,这样既节省了数据的存储空间,又减少了数据的冗余,使数据组织非常条理化。
2.3 数据的规范化
在设计数据库时,确保数据被正确存储到表中是其中重要的步骤。使用良好的表结构,极大地方便了应用程序的其他设计内容,如窗体、报表等。其中,将数据正确存储在多个表中的过程被称为对数据进行规范化。在系统设计中应用数据规范化规则是数据库设计成功的保证。
通常情况下,规范化分为五个阶段。大多数数据库设计都要求使用前三个阶段,而其中阶段是基础和常用的。对于大部分数据库设计而言,满足阶段已经足够。
规范化规则又被称为范式,规范化的个阶段被称为范式,以此类推。范式要求数据表符合以下规则:表中的每个元素都只能包含一个值,并且表中不能包含重复的数据。
第二范式的规则为:将不直接依赖于表主键的数据都移到另一个表中。通俗来讲,是指拒绝巨型表,创建多个表,使每个表都有其特定的主题。
第三范式的规则为:要求删除所有可以从本表其他字段或数据库其他表中获得数据的字段,即表中不应包含计算得来的数据。
以上三个范式其实就是设计表和字段时应遵循的原则。在设计表和字段小节中将详细介绍,这里不再赘述。
2.4 数据库的设计步骤和方法
设计数据库的目的实质上是设计出的数据库模式,使之能够有效地存储数据,满足用户的实际需求。在初始设计数据库时,难免会发生错误或遗漏数据,完成初步设计后,利用示例数据对其进行测试,在Access中很容易对原设计方案进行修改,可是在输入大量数据之后,再想修改就比较困难。正因如此,在开发完整的数据库系统前,应确保设计方案的合理性。
2.4.1 总体设计
创建数据库之前,个步骤是确定数据库的用途,专业术语称为“需求分析”,即开发者需要确定希望从数据库中得到什么信息。例如,学生信息管理是学校管理工作中的主要环节之一,涉及学生基本信息管理、住宿管理、成绩管理、课程管理等方面。随着每年新学期的开始,学生的信息也在不断地变化。为了提高学生管理的效率,可以创建一个“学生信息管理”数据库。
在创建此数据库之前,需要确定其完成的功能,包括以下几点。
能输入和修改学生的基本信息,如学号、姓名、性别、出生日期、专业等。
能输入和修改学生每学期的课程信息,如课程名称、授课老师、上课时间等。
能输入和修改学生各学期各门课程的成绩信息,如学期名称、课程名称、相应成绩、是否及格等。
能输入和修改学生的住宿信息,如宿舍号、宿舍电话、宿舍人数等。
能够查询学生的平均成绩、好成绩、差成绩等信息。
生成标签报表,打印每个学生的基本信息。
设置登录名和密码登录系统,查询以上信息。
从以上的例子可以看出,在确定数据库的用途时,希望数据库提供的一系列信息也随之显示出来。由此,可以确定在数据库中存储哪些事件,以及每个事件属于哪个主题。这些事件与数据库中的字段相对应,事件所属的主题则与表相对应。
当然,构建系统所需要的大多数信息都来源于终的用户,这意味着开发者可以和他们进行交流探讨以了解得更加全面。同时,在实际创建数据库之前,开发者不妨先在纸面上草拟一些希望数据库生成的报表,或者收集当前用来记录数据的表格,还可以参考某个设计得很好且与当前要设计的数据库相似的数据库,从而确保设计出合理的方案。
2.4.2 设计表
这是数据库设计过程中重要的一个环节,也是难处理的一个步骤。因为表对象是整个数据库的基础,也是查询、窗体和报表对象的基础。表结构设计的好坏会直接影响数据库的性能。一个良好的数据表设计应该具备以下几点。
表不应包含备份信息,表之间不应包含重复信息,从而减少冗余数据;否则不仅会浪费空间,还会增加出错可能性。
每个表应该只包含关于一个主题的信息。
由此可知,开发者可以将信息划分为各个独立的主题,每个主题都可以被设计成为数据库的一个表。例如,在“学生信息管理”数据库中可以划分为学生、课程、成绩等,因此可以设计“学生信息”表、“班级”表、“成绩”表、“课程”表、“宿舍”表等,如图2-1所示。
图2-1 “学生信息管理”数据库中的表
2.4.3 设计字段
每个表中都应包含同一主题的信息,即表中的字段应围绕这个主题而创建。在设计表中字段时,应注意以下几点。
字段应涉及所有需要的信息。
以小的逻辑部分存储信息。例如,学生姓名通常分为两个字段存储,即“名字”和
“姓氏”。
不要创建相互类似的字段。例如,在“供应商”表中,如果创建了“产品1”和“产品2”字段,就很难查找所有提供某一特定产品的供应商。
不应包含派生或计算得到的数据。例如,如果有“单价”和“数量”字段,就不要额外再创建一个“总价”字段存储这两个字段值的乘数。该数据完全可以通过建立查询来实现。
明确有性的字段。
为了连接保存在不同数据表中的信息,Access数据库中的每个数据表必须设置主键字段。例如,在“学生信息”表中设计“学号”“姓名”“性别”“出生日期”“籍贯”等字段,其中,设置“学号”字段为主键,如图2-2所示。
图2-2 “学生信息”表中的字段
2.4.4 设计关系
Access数据库中的数据被保存在不同的表中,因此必须要有一些方法能够连接这些数据,使之作为一个整体使用,建立表间的关系即可解决此问题。
例如,在“学生信息管理”数据库中,想要查看一个学生的基本信息及其所住宿舍的信息,一个学生只能有一个宿舍,而一个宿舍可以有多位学生,在“宿舍”表和“学生信息”表之间建立一对多关系后,就可以把这两个表中的数据结合在一起查询了,如图2-3所示。
图2-3 “学生信息管理”数据库中的表关系
数据库表关系要求关系中所涉及的两个表内有的字段,如果表中没有的字段,则数据库引擎无法正确链接并提取相关的数据。这时就需要向表中添加一个额外的字段,让该字段作为与其他表形成关系的点。
2.4.5 优化设计
在设计完需要的表、字段和关系后,应该检查设计并尽量找出任何可能存在的不足,因为改变当前数据库的设计要比改变已经输入数据的表容易得多。
开发者应在每个表中输入充足的示例数据,以方便检查设计。可以创建各种查询,从得到的结果来检查数据库中的关系,还可以创建窗体和报表的草稿,检查显示的数据是否符合期望,从中查找不需要的重复数据,并对其修改。
另外,许多表结构在当时使用效果非常好,但常常会因为用户修改或添加数据而崩溃。在用户使用过程中,开发人员会发现经常需要重新设计表的结构来适应这些变化;并且表结构发生变化时,所有相关的内容也会发生变化。因此,预测这些变化可以减少问题的发生。
2.4.6 创建窗体
经过优化设计后,如果当前的表结构符合期望,就可以在表中添加所有的数据了,然后是设计窗体。在Access数据库系统中,开发者和使用者往往是分离的,而窗体设计更多地需要站在使用者的角度。因此,设计一个操作方便、外观美观的界面在数据库设计中占有相当重要的地位。
窗体以表或查询为数据源。设计窗体之前,若当前存在的表不满足需求,开发者还需创建查询来作为数据源。
设计窗体时需要在屏幕上放置以下三类对象。
标签和文本框控件,方便输入数据。
其他特殊控件,如按钮、列表框、复选框等。
美化窗体效果的图表对象,如颜色、线条、矩形等。
设计窗体时,将上述控件放置在窗体中的相应位置,并设置对应的事件属性,即设置对应的宏,至此,一个简单的数据库系统就设计完成了。若要完成更复杂的功能,设计相应的VBA模块对象即可。
2.5 大神解惑
小白:什么是良好的数据库设计原则?
大神:为了获得一个良好的数据库设计,必须遵循如下一些基本原则。
⑴
避免重复数据。
⑵
确保信息的正确性和完整性。
小白:当前数据库系统所支持的主要数据模型有哪些?
大神:数据库系统的一个核心问题是数据模型。根据组织数据库中数据的结构类型的不同,数据库系统所支持的主要数据模型有层次模型、网状模型和关系模型等。其中,层次模型和网状模型被统称为非关系模型,它们在早期开发数据库中使用。
在非关系模型中,实体用结点表示,每个结点代表一个实体,实体间的联系用结点之间的连线表示。其中,层次模型利用树型结构来表示各类实体及实体间的联系,它要求只有一个结点没有父结点,除此之外的其他结点都只能有一个父结点,这使得层次数据库系统只能处理一对多的实体关系;而网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,但因此变得复杂且数据独立性较差。
关系模型的数据结构简单清晰,无论是实体还是实体之间的联系都用关系(二维表)来表示,具有更高的数据独立性,简化了程序员的工作和数据库开发建立的工作。
评论
还没有评论。