计算机基础第一讲-数据库基础知识.ppt
第1章 数据库基础知识,2,1.1 数据库的概念,3,1.1 数据库的概念,1.1.1 数据和数据管理,信息:指现实世界中事物的存在方式或运动状态的反映。,数据:是描述现实世界事物的符号记录形式,是利用物理符号记录下来的可以识别的信息。,1,信息和数据,4,1.1 数据库的概念,1.1.1 数据和数据管理,物理符号包括:数字、文字、图形、图像、声音、其它特殊符号。,信息和数据的关系,数据是信息的符号表示或载体,信息是数据的内涵,是对数据的语义解释,1,信息和数据,5,1.1 数据库的概念,1.1.1 数据和数据管理,数据管理包括对各种形式的数据进行收集、存储、加工和传输等活动。,目的,1.从大量原始数据中抽取、推导出有价值的信息,以此作为行动和决策的依据。,2.借助计算机科学地保存和管理复杂大量的数据,使人们能够方便和充分利用信息资源。,2,数据管理,6,1.1 数据库的概念,1.1.2 数据管理技术的发展,人工管理阶段,文件系统阶段,数据库系统阶段,分布式数据库系统阶段,7,1.1 数据库的概念,1.1.2 数据管理技术的发展,时间:20世纪50年代以前,用途:主要用于数值计算,硬件:卡片、纸带和磁带,软件:无系统软件和管理数据的软件,1,人工管理阶段,8,1.1.2 数据管理技术的发展,1.程序间不能共享数据;2.程序复杂;3.数据量小且无法长期保存;4.数据重复输入量大。,1,人工管理阶段,1.1 数据库的概念,9,1.1.2 数据管理技术的发展,时间:20世纪50年代后期至60年代中期,硬件:磁鼓和磁盘等直接存取设备,软件:有操作系统和文件系统,2,文件管理阶段,1.1 数据库的概念,10,1.1.2 数据管理技术的发展,1.程序间可以共享数据;2.程序代码有所简化;3.数据冗余度大;4.程序对数据依赖性较强;5.专业性较强。,2,文件管理阶段,1.1 数据库的概念,11,1.1.2 数据管理技术的发展,时间:20世纪60年代后期至70年代后期,用途:主要用于数值计算,外存:大容量磁盘,软件:出现许多数据库管理系统,3,数据库系统阶段,1.1 数据库的概念,12,1.1.2 数据管理技术的发展,1.数据集中式管理,高度共享;2.数据结构化并与程序分离;3.数据冗余度小,并具有一的一致性和完整性等特点。,3,数据库系统阶段,1.1 数据库的概念,13,1.1.2 数据管理技术的发展,1.具有很强的可靠性和可用性;2.强大数据共享和并发控制能力;3.数据一致性和安全性控制措施更加完善。,4,分布式系统阶段,1.1 数据库的概念,14,1.1.3 数据库系统,数据库系统指带有数据库并利用数据库技术进行数据管理的计算机系统,可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。,数据库(Database,简称DB)是数据的集合,并按照特定的组织方式将数据保存在存储介质上,同时可以被各种用户所共享。,1,数据库,1.1 数据库的概念,15,1.1.3 数据库系统,1.数据库:数据库系统的数据源,2,数据库系统的组成,1.1 数据库的概念,2.数据库管理系统:数据库系统的核心,是一种系统软件,负责数据库中的数据组织、操纵、维护、控制、保护和数据服务等。数据库管理系统是位于用户与操作系统之间的数据管理软件,16,1.1.3 数据库系统,3.硬件:支持系统运行的计算机硬件设备,4.软件:包括操作系统和数据库系统开发工具等,5.数据库管理员:对数据库的规划、设计、维护等进行管理的人员,一般要具有较高的数据库技术和较好的人际交往能力。,2,数据库系统的组成,1.1 数据库的概念,17,1.1.3 数据库系统,1.数据结构化,2.数据共享性高,冗余度低、易扩充,3.数据独立性高,4.数据由数据库管理系统统一管理和控制,3,数据库系统的特点,1.1 数据库的概念,18,1.1.3 数据库系统,是用于建立、维护和管理数据库的系统软件,它提供数据安全性和完整性的控制机制,具有完备数据库操作命令体系;可在交互方式下管理和访问(存取)数据库,也可利用开发工具开发数据库管理系统。,Data Base Management System,DBMS,4,数据库管理系统,1.1 数据库的概念,19,1.1.3 数据库系统,1.数据定义,利用DBMS数据定义语言(Data Definition Language,DLL)可以定义数据库、数据库表、视图和索引等数据库中的相关信息。,数据库管理系统管理的对象主要是数据库,其功能包括,4,数据库管理系统,1.1 数据库的概念,20,1.1.3 数据库系统,2.数据操纵,通过DBMS数据操纵语言(Data Manipulation Language,DML)可以对数据库中的数据进行插入、修改和删除。,3.数据查询,通过数据查询语言(Data Query Language,DQL)可以对数据进行查询、排序、汇总和表连接等操作。,4,数据库管理系统,1.1 数据库的概念,21,1.1.3 数据库系统,4.数据库运行管理和控制,包括并发控制、安全性检查、完整性约束条件检查和执行、数据库内部资料自动维护等。,5.数据维护,主要包括数据更新和转换,数据库转存和恢复,数据库重新组织、结构维护和性能监视等。,4,数据库管理系统,1.1 数据库的概念,22,1.1.3 数据库系统,6.数据组织、存储和管理,DBMS要对数据字典、用户数据和存取路径等信息进行分类组织、存储和管理。,7.数据通信,提供与操作系统的联机处理、分时处理和远程作业传输接口。,4,数据库管理系统,1.1 数据库的概念,23,1.1.4 实体及其联系,是客观事物的真实反映。,实体,实体属性,事物的特性。,实体属性值,是实体属性的具体化表示,属性值值的集合表示一个实体。,1,实体的相关术语,1.1 数据库的概念,24,1.1.4 实体及其联系,实体类型,用实体名及所有属性的集合表示一种实体类型,简称实体型。,例如,一个教师类实体,教师(教师编号,教师姓名,性别,出生日期,职称,联系电话,是否在职),例如,一个课程类实体,课程(课程编号,课程姓名,开课学期,理论学时,实验学时,学分),1,实体的相关术语,1.1 数据库的概念,25,1.1.4 实体及其联系,实体集,具有相同属性的实体集合。,在关系数据库中,通常将同一种实体型的数据存放在一个表中,实体属性集合作为表结构,而一个实体属性值的集合作为表中一个数据记录,表示一个实体。,1,实体的相关术语,1.1 数据库的概念,26,1.1.4 实体及其联系,一对一联系,指一个实体与另一个实体之间存在一一对应关系。,例如,一个班级 班长,现实世界中事物之间相互关联,在事物数据化过程中表现为实体之间的对应关系,称为联系。实体之间的联系有一对一、一对多、多对多三种。,2,实体之间联系,1.1 数据库的概念,27,1.1.4 实体及其联系,一对多联系,指一个实体对应多个实体,例如,一个班级 多个学生,多对多联系,指多个实体对应多个实体,例如,学生 课程,2,实体之间联系,1.1 数据库的概念,28,1.1.5 数据模型,“树”中 结点 实体类型 结点间箭头 实体类型间联系,是通过树型结构表示实体及其实体之间联系的数据模型。,数据模型是数据库管理系统中用于描述实体及其实体之间联系的方法。用于描述数据库管理系统的数据模型有层次模型有以下三种。,1,层次模型,1.1 数据库的概念,29,1.1.5 数据模型,特点:有且仅有一个结点没有父结点,称为根结点;每个非根结点有且仅有一个父结点。,1,层次模型,1.1 数据库的概念,30,1.1.5 数据模型,通过网状结构表示实体及其实体之间联系的数据模型。,“网”中 结点 实体类型 结点间箭头 实体类型间联系,2,网状模型,1.1 数据库的概念,31,1.1.5 数据模型,特点:可能有多个结点没有父结点,即多个根结点;某个非根结点可能有多个父结点。,2,网状模型,1.1 数据库的概念,32,1.1.5 数据模型,通过二维表结构表示实体及其实体之间联系的数据模型,用二维表来表示实体类型,表中一行数据描述一个实体。,一张二维表 一种实体类型表中的一行 一个实体,3,关系模型,1.1 数据库的概念,33,1.1.5 数据模型,关系模型:民族,关系模型:专业,关系模型:学生,1.1 数据库的概念,1.2 关系数据库,35,1.2.1 关系模型,1.2 关系数据库,关系,一个关系就是一张二维表,表是属性及属性值的集合。,表中每一列称为一个属性(字段),每列都有属性名,为列名或字段名。,表示各个属性的取值范围。,指表中的一行数据,也称为记录。一个元组对应一个实体,每张表中可以含多个元组。,属性,域,元组,1,关系模型中常用术语,36,1.2.1 关系模型,属性值,表中行和列的交叉位置对应某个属性的值。,是关系名及其所有属性的集合,一个关系模式对应一张表结构。,关系模式的格式:关系名(属性1,属性2,属性3,属性n),关系模式,1,关系模型中常用术语,1.2 关系数据库,37,1.2.1 关系模型,候选键,在一个关系中,由一个或多个属性组成,其值能唯一地标识一个元组。,1,关系模型中常用术语,1.2 关系数据库,主关键字,一个表中可能由多个候选键,通常用户仅选用一个候选键,称为主关键字,38,1.2.1 关系模型,如果一个关系R的一组属性F不是关系R的候选键,如果F与某关系S的主键相对应(对应属性含义相同),则F是关系R的外部关键字,简称外键。,外部关键字,例如,“教室编号”、“星期”和“课节”是“选课学生表”的一组属性(非候选键),也是“教室表”的候选键,如果这组属性被选为“教室表”的主键,则这组属性就是“选课学生表”的一个外键。,1,关系模型中常用术语,1.2 关系数据库,39,1.2.1 关系模型,主表和从表,主表和从表是指通过外键相关联的两个表,其中以外键为主键的表称为主表,外键所在的表称为从表。,以上术语和前面的其他概念的对应关系如表1.1所示。,1,关系模型中常用术语,1.2 关系数据库,40,1.2.1 关系模型,每一个分量必须是不可分的数据项。,每一列中的分量是同一类型的数据,来自同一个域。,不同的列可以来源于同一个域,称其中的每一列为一个属性,不同的属性要有不同的属性名。,列的次序可以任意交换。,任意两个元组不能完全相同。,行的顺序可以任意交换。,2,关系模型的特点,1.2 关系数据库,41,1.2.2 关系运算,对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关系运算。关系的基本运算有两类:一类是传统的集合运算,另一类是专门的关系运算。,1.2 关系数据库,42,1.2.2 关系运算,设有两个相同结构的关系R和S,R与S的差是由属于R但不属于S的元组组成的集合。,差运算,交运算,两个具有相同结构的关系R和S,它们的交是由属于R又属于S的元组组成的集合。,在Access中没有直接提供传统的集合运算,但可以通过其他操作或编程来实现。,并运算,两个相同结构关系的并是由属于这两个关系的元组组成的集合。,1,传统的集合运算,1.2 关系数据库,43,例:已知两个关系R和S,关系R代表参加项目1的员工,关系S代表参加项目2的员工,如表1.2和1.3所示。,表1.2 关系R,表1.3 关系S,1.2.2 关系运算,1.2 关系数据库,44,关系R关系R和关系S的并运算、差运算和交运算的结果如下表所示。,并运算(RS),差运算(RS),交运算(RS),1.2.2 关系运算,1.2 关系数据库,45,1.2.2 关系运算,选择操作,选择操作是从表中选取满足某种条件的元组(记录)进行操作。通常在命令中加上条件子句和逻辑表达式来完成选择操作。,投影操作,投影是从表中选取若干列进行操作。选取列时不受表中列顺序的约束,可按实际需要安排各列顺序。通常在命令中加上要选取的各个列名称来完成投影操作。,2,专门的关系运算,1.2 关系数据库,46,1.2.2 关系运算,联接操作,联接是对两张表进行联接,同时生成一张新表,新表中含的列是被联接的两张表中列的并集或该并集的子集,新表中包含的元组是满足联接条件的所有元组集合。,2,专门的关系运算,1.2 关系数据库,47,1.2.2 关系运算,实体完整性规则,实体完整性规则规定关系的所有主属性都不能为空值,而不是整体不能为空值。,关系模型的完整性规则是对关系的某种约束条件。,例如,学生选课关系“学生选课(学号,课程编号,成绩)”中,“学号、课程编号”为主关键字,则“学号”和“课程编号”都不能取空值,而不是整体不能为空。,3,关系的完整性,1.2 关系数据库,48,1.2.2 关系运算,不同的关系数据库系统根据其应用环境的不同,通常需要针对某一具体字段设置约束条件。,用户定义的完整性规则,例如,学生成绩字段的取值必须在0 100之间。,3,关系的完整性,1.2 关系数据库,49,1.2.2 关系运算,参照完整性规则,参照完整性是相关联的两个表之间的约束。对于具有主从关系的两个表来说,表中每条记录外键的值必须是主表中存在的,如果在两个表之间建立了关联关系,则对一个关系进行的操作要影响到另一个表中的记录。,例如,在学生表和选课表之间用学号建立了关联关系,学生表是主表,选课表是从表,那么在向从表添加新记录时,系统要检查新记录的学号是否在主表中已存在,如果存在则允许执行输入操作,否则拒绝输入,这就是参照完整性。,3,关系的完整性,1.2 关系数据库,50,1.3 数据库设计的步骤,需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护,51,1.3 数据库设计的步骤,设计一个数据库,首先必须准确、全面和深入地了解和分析用户需求,包括数据需求和处理需求。需求分析是整个设计活动的基础,也是最困难、最花时间的一步。一般由数据库专业人员与业务专家合作进行。,1,需求分析,2,概念结构设计,在需求分析基础上,用概念数据模型(如E-R模型),表示数据及其相互间的联系,形成数据库概念结构(如E-R图)。概念结构(模式)与具体DBMS无关,是对现实世界的可视化描述,用于后续的设计和,也是与用户交流和数据库移植的重要文档。,52,逻辑结构设计是将数据库概念结构转换为某类DBMS所支持的数据库逻辑模式,不仅仅是个数据模式的转换问题,还要考虑数据模式的规范化、满足DBMS的各种限制等,还得为各类用户或应用设计其各自的局部逻辑模式,即外模式或子模式。,3,逻辑结构设计,4,物理结构设计,其任务是:根据DBMS及计算机系统所提供的手段,为数据库逻辑模式选取一个最适合应用环境的物理模式(包括存储结构和存取方法等)。,1.3 数据库设计的步骤,53,是在实际的计算机平台上,真正建立数据库。先运行用DDL编写的命令,建立数据库框架,然后通过DBMS的实用工具或专门编写的应用程序,将数据载入,最终建成数据库。,5,数据库实施,6,数据库运行与维护,在数据库运行阶段,由数据库管理员进行数据库的转储和恢复、数据库的安全性和完整性控制、数据库性能的监督和分析、数据库的重组织与重构造等数据库的维护工作。,1.3 数据库设计的步骤,54,1.5 Access简介,55,1.5.1 Access的发展过程,在1992年11月Microsoft公司推出了第一个供个人使用的关系数据库系统Access 1.0,受到了广泛关注,并且很快成为桌面数据库的领导者。此后Access不断地改进和优化,从1995年开始,Access作为MS-Office套装软件的一部分,先后推出了2.0、7.0、8.0、9.0、2000,到现在的Access2003。最新推出的Access 2003更是在界面和操作方式上与Office 2003中的其它成员保持了高度的一致性,并且它们彼此之间可以通过更快捷的方式进行协同工作和数据交换。本书以Access2003为基础来介绍Access的基本操作。,1.5 Access简介,56,1.5.2 Access的主要特点,1.Access本身具有Office系统的共同功能,如友好的用户界面、方便的操作向导、提供帮助和有提示作用的Office助手等.2.Access是一个小型数据库管理系统,对数据库的管理,它提供了许多功能强大的工具,如设计使用的查询方法、设计制作不同风格的报表和设计使用窗体等。3.Access提供了与其他数据库系统的接口,它可以直接识别由FoxBase、FoxPro等数据库管理系统所建立的数据库文件,也可以和电子表格Excel交换数据。,1.5 Access简介,57,1.5.2 Access的主要特点,4.Access还提供了程序设计开发语言VBA,即Visual Basic for Application,使用它可以开发用户的应用程序。5.Access的一个数据库文件中即包含了该数据库中的所有数据表,也包含了基于数据表建立的查询、窗体和报表等。,1.5 Access简介,58,1.5.3 Access数据库的系统结构,作为一个数据库管理系统,Access通过各种数据对象来管理信息。Access将数据库定义成一个MDB文件,由对象和组两部分构成。其中数据库对象分为7种,包括表、查询、窗体、报表、数据访问页、宏和模块。,表是存储数据的基本单元。表以行、列的格式组织数据,每一行称为一条记录,每一列称为一个字段。,1.表,1.5 Access简介,59,1.5.3 Access数据库的系统结构,查询用来操作数据库中的记录对象,可以查看、更改以及分析数据,也可将查询作为窗体和报表的记录源。查询到的数据记录集合称为查询的结果集,以二维表的形式显示出来,但并没有真正被存储,只是存储了查询的方式。,2.查询,1.5 Access简介,窗体就是在Windows操作系统里面所看到的窗口,用户可以通过它与数据库进行各种交互的操作,如查看、编辑数据库中的数据,通过窗体还可以控制应用程序的运行过程,窗体中使用的各种按钮、列表框、菜单等称为控件。,3.窗体,60,1.5.3 Access数据库的系统结构,设计好一个数据库之后,往往要以一定的格式将数据库里面的数据输出到数据库外面,报表正是实现这样功能的。报表也具备分析、汇总的功能。可以打印到打印机,也可以将报表在Internet或者公司的Intranet上发布。,4.报表,1.5 Access简介,页是Access新增的数据库对象,全称是数据访问页。数据访问页是链接到某个数据库的Web页,在数据访问页中,可以浏览、添加、编辑和操纵存储在数据库的数据。,5.数据访问页,61,1.5.3 Access数据库的系统结构,宏是用来自动完成某些特定任务的操作或操作集,就像是一个批处理文件。是若干个操作的组合,用来简化一些经常性的操作。当执行这个宏时,就会按这个宏的定义依次执行相应的操作。宏可以打开并执行查询、打开表、打开新窗体、打印、显示报表、修改数据及统计信息,也可以运行另一个宏以及模块。,6.宏,1.5 Access简介,62,1.5.3 Access数据库的系统结构,Access是一个数据库应用程序的开发工具,它提供了功能强大的开发语言VBA(Visual Basic for Applications),VBA是Microsoft的应用程序开发工具Visual Basic的一个扩展子集,用VBA开发出来的程序段在Access中就称为模块,一个完整的应用程序可以由多个程序段(即模块)组成。模块是将VBA声明和过程作为一个单元进行保存的集合。模块有两个基本类型:类模块和标准模块。模块中的每一个过程都可以是一个函数过程或一个子程序。一般情况下,用户不需要创建模块,除非是要建立应用程序来完成宏无法实现的复杂功能。,7.模块,1.5 Access简介,63,1.5.4 启动和关闭 Access,.单击“开始”“程序”“Microsoft Office”“Microsoft Office Access”.如果桌面上有Access快捷方式图标时,双击该图 标,也可以启动Access。.双击扩展名为“mdb”的Access数据库文件,也可以启动Access。,Access是Office办公自动化套装软件的一部分,在安装Office时,需要选择安装Access选项,这样Access会和Office中其他的软件一起安装到Windows系统中。,1.启动Access,1.5 Access简介,64,1.5.4 启动和关闭 Access,执行“文件”菜单中的“退出”命令。单击窗口右上角的“关闭”按钮。双击窗口标题栏左端的控制图标。单击窗口标题栏左端的控制图标,在打开的控制菜单中选择“关闭”命令。使用快捷键Alt+F4。,2.退出Access,1.5 Access简介,