1、第1章 数据库基础知识,1.1 数据库基础知识,1.1.1 数据管理技术发展过程 1.1.2 数据库系统 1.1.3 数据模型,1.1.1 数据管理技术发展过程,数据管理技术的发展,与计算机硬件(主要是外部存储器)、系统软件及计算机应用的范围有着密切的联系。数据管理技术的发展经历了以下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库系统阶段。,1人工管理阶段,这一时期的数据管理技术具有如下特点:(1)数据管理由应用程序完成(2)数据不能共享(3)数据缺乏独立性(4)数据不能保存,(3)数据缺乏独立性,2文件系统阶段,这一时期的数据管理技术具有如下特点:(1)数据管理由文件管理系
2、统完成 (2)数据共享性差、冗余度大 (3)数据独立性差 (4)数据可长期保存,(3)数据缺乏独立性,3数据库系统阶段,这一时期的数据管理技术具有如下特点:(1)数据结构化(2)数据共享程度高(3)数据独立性强(4)数据冗余度小(5)加强对数据的保护,(3)数据缺乏独立性,4高级数据库系统阶段,这一时期的数据库技术又有了很大的发展,表现如下:(1)数据库方法(2)商用数据库系统的运行(3)关系方法的理论研究,1.1.2 数据库系统,数据库系统(DataBase System,DBS)是指拥有数据库技术支持的计算机系统。它可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。
3、数据库系统由计算机系统(硬件和基本软件)、数据库、数据库管理系统、数据库应用系统和有关人员(数据库管理员、应用设计人员、最终用户)组成。,1数据,描述事物的物理符号序列称为数据(Data) 。 描述事物的物理符号可以是用来表示长度、体积、重量之类的数字数值,也可以是人名或地名、图形、图像、动画、影像、声音等非数值数据。,2数据库,数据库(DataBase,DB),顾名思义,是存放数据的仓库。是长期存放在计算机内,有组织的、大量的、可共享的数据集合 。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为多个用户、多个应用程序共享。,3数据库管理系统
4、,数据库管理系统(DataBase Management System,DBMS)是位于用户与操作系统(OS)之间的数据管理软件。其主要功能包括以下几个方面:(1)数据定义功能(2)数据操纵功能(3)数据库的运行管理 (4)数据库的建立和维护功能,4数据库应用系统,数据库应用系统是为特定应用开发的数据库应用软件。数据库管理系统为数据的定义、存储、查询和修改提供支持,而数据库应用系统是对数据库中的数据进行处理和加工的软件,它面向特定应用。 一般在不引起混淆的情况下常常把数据库系统简称为数据库,1.1.3 数据模型,模型是现实世界特征的模拟和抽象。要将现实世界转变为机器能够识别的形式,必须经过两次
5、抽象,即使用某种概念模型为客观事物建立概念级的模型,将现实世界抽象为信息世界,然后再把概念模型转变为计算机上某一DBMS支持的数据模型,将信息世界转变为机器世界。,1实体的概念,(1)实体(Entity)客观存在并可相互区别的事物称为实体。 (2)属性(Attribute)实体所具有的某一特性称为属性。,(3)数据缺乏独立性,(3)关键字(Keyword) 如果某个属性或属性组合能够唯一地标识出实体集中的各个实体,可以选作关键字,也称为码。 (4)联系(Relationship) 实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。,1E-R模型,E-R模型有三要素:实体、属性和实
6、体间的联系。(1)实体:用矩形表示,框内标注实体名称。(2)属性:用椭圆表示,并用连线与实体或联系连接起来。(3)实体间的联系:用菱形框表示,框内标注联系名称,并用连线将菱形框分别与有关实体相连。,实体间的联系按联系方式可分为以下三种类型: 一对一联系 一对多联系 多对多联系,3数据模型,常用的数据模型有3种:层次模型、网状模型和关系模型。,1.2 关系数据库概念,1.2.1 关系模型 1.2.2 关系运算,1.2.1 关系模型,关系模型由关系数据结构、关系操作集合和完整性规则三部分组成。,1数据结构,(1)关系 在关系模型中,一个关系就是一张二维表,每个关系有一个关系名。在数据库中,一个关系
7、存储为一个数据表。 (2)属性 表(关系)中的列称为属性,每一列有一个属性名,对应数据表中的一个字段。 (3)域 一个属性的取值范围是该属性的域。,(4)元组 表中的行称为元组,每一行是一个元组,对应数据表中的一个具体记录,元组的各分量分别对应于关系的各个属性。 (5)候选码 如果表中的某个属性或属性组能唯一地标识一个元组,称该属性或属性组为候选码(候选关键字)。 (6)主码 若一个表中有多个候选码,可以指定其中一个为主码(主关键字)。,(7)外码 如果表中的一个属性(字段)不是本表的主码或候选码,而是另外一个表的主码或候选码,这个属性(字段)称为外码(外部关键字)。 (8)关系模式 一个关系
8、的关系名及其全部属性名的集合简称为关系模式,也就是对关系的描述,一般表示为 关系名(属性名1,属性名2,属性名n),2关系操作集合,在关系模型中,以功能强大的关系操作集合对存储在该关系中的数据进行操纵。关系模型查询操作包括:选择(Select)、投影(Project)、联接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等;更新操作包括:增加(Insert)、删除(Delete)、修(Update)等。,3完整性规则,关系模型的完整性规则是对关系的某种约束条件。关系模型有三类完整性约束:实体完整性、参照完整性和用户定义完整性。,(1
9、)实体完整性 每个关系都有一个主关键字,每个元组主关键字的值应是唯一的。主关键字的值不能为空,否则,无从识别元组,这就是实体完整性约束。,(2)参照完整性 在关系模型中,实体之间的联系是用关系来描述的,因而存在关系与关系之间的引用。这种引用可通过外部关键字来实现。参照完整性规则是对关系外部关键字的规定,要求外部关键字取值必须是客观存在的,即不允许在一个关系中引用另一个关系里不存在的元组。,(3)用户定义完整性 由用户根据实际情况,对数据库中数据所作的规定称为用户定义完整性规则,也称为域完整性规则。通过这些规则限制数据库只接受符合完整性约束条件的数据值,从而保证数据库的数据合理可靠。,1.2.2
10、 关系运算,在关系数据库中,关系运算有三种:选择、投影和联接。1选择 选择运算是在关系中选择满足某些条件的元组。也就是说,选择运算是在二维表中选择满足指定条件的行。,2投影 投影运算是从关系模式中指定若干个属性组成新的关系。即在关系中选择某些属性列。 3联接 联接运算将两个关系模式通过公共的属性名拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。,1.3 数据库设计基础,1.3.1 数据库设计的规范化 1.3.2 数据库设计的步骤,1.3.1 数据库设计的规范化,设R是一个关系模式,如果R中的每个属性都是不可再分的最小数据项,则称R满足第一范式或R是第一范式,第一范式简记为1NF
11、。,1第一范式(1NF),2第二范式(2NF),如果关系模式R是第一范式,且所有非主属性都完全依赖于其主关键字,则称R满足第二范式或R是第二范式,第二范式简记为2NF。,3第三范式(3NF),假设关系中有A、B、C三个属性,传递依赖是指关系中B属性依赖于主关键字段A,而C属性依赖于B属性,称字段C传递依赖于A。如果关系模式R是第二范式,且所有非主属性对任何主关键字都不存在传递依赖,则称R满足第三范式或R是第三范式,第三范式简记为3NF。,1.3.2 数据库设计的步骤,1需求分析 2确定所需表 3确定所需字段 4确定关键字 5确定表间联系,1.4 Access数据管理系统概述,1.4.1 Acc
12、ess的基本特点 1.4.2 Access的基本对象 1.4.3 Access的操作窗口,1.4.1 Access的基本特点,1存储文件单一 2支持长文件名及名称自动更正3兼容多种数据库格式4具有Web网页发布功能5可应用于客户机/服务器方式6操作使用方便,1.4.2 Access的基本对象,1表,课程表,2查询,学生选课成绩查询结果,学生选课成绩查询结果,学生选课成绩查询结果,查询是通过设置某些条件,从表中获取所需要的数据。按照指定规则,查询可以从一个表、一组相关表和其他查询中抽取全部或部分数据,并将其集中起来,形成一个集合供用户查看。将查询保存为一个数据库对象后,可以在任何时候查询数据库的
13、内容 。,3窗体,窗体示例,窗体是Access数据库对象中最具灵活性的一个对象,是数据库和用户的一个联系界面,用于显示包含在表或查询中的数据和操作数据库中的数据。在窗体上摆放各种控件,如文本框、列表框、复选框、按钮等,分别用于显示和编辑某个字段的内容,也可以通过单击、双击等操作,调用与之联系的宏或模块(VBA程序),完成较为复杂的操作。,4报表,报表可以按照指定的样式将多个表或查询中的数据显示(打印)出来。报表中包含了指定数据的详细列表。报表也可以进行统计计算,如求和、求最大值、求平均值等。报表与窗体类似,也是通过各种控件来显示数据的,报表的设计方法也与窗体大致相同。,5页,数据访问页示例,页
14、(或称为数据访问页)可以实现数据库与Internet(或Intranet)的相互访问。数据访问页就是Internet网页,将数据库中的数据编辑成网页形式,可以发布到Internet上,提供给Internet上的用户共享。也就是说,网上用户可以通过浏览器来查询和编辑数据库的内容。,6宏,宏是若干个操作的组合,用来简化一些经常性的操作。用户可以设计一个宏来控制系统的操作,当执行这个宏时,就会按这个宏的定义依次执行相应的操作。宏可以打开并执行查询、打开表、打开窗体、打印、显示报表、修改数据及统计信息、修改记录、修改表中的数据、插入记录、删除记录、关闭表等操作。,7模块,模块是用VBA语言编写的程序段,它以Visual Basic为内置的数据库程序语言。对于数据库的一些较为复杂或高级的应用功能,需要使用VBA代码编程实现。通过在数据库中添加VBA代码,可以创建出自定义菜单、工具栏和具有其他功能的数据库应用系统。,1.4.3 Access的操作窗口,1Access主窗口,2数据库窗口,3表设计视图窗口,4查询设计视图窗口,5窗体设计视图窗口,6报表设计视图窗口,7宏设计窗口,8代码窗口,