Access教程课件.ppt
数据库概述数据库概述一一.数据处理技术的发展数据处理技术的发展手工管理阶段手工管理阶段特点:特点: (1) 数据不保存数据不保存-不能实现数据共享。不能实现数据共享。 (2) 数据与程序不可分割。数据与程序不可分割。 (3)各程序的数据彼此独立各程序的数据彼此独立-数据冗余。数据冗余。 适应场合适应场合: 数据量较小。数据量较小。数据库概述数据库概述文件系统阶段文件系统阶段 (1) 程序和数据分开程序和数据分开, 有一定的独立性。有一定的独立性。 (2) 数据以文件形式保存,由操作系统按名存取。数据以文件形式保存,由操作系统按名存取。 (3) 实现一定程度的数据共享。实现一定程度的数据共享。 (4) 数据文件之间缺乏联系。数据文件之间缺乏联系。数据库概述数据库概述数据库阶段数据库阶段 (1) 数据和程序之间彼此独立,实现共享数据和程序之间彼此独立,实现共享 (2) 数据以数据库形式保存,最大限度减少冗余。数据以数据库形式保存,最大限度减少冗余。 (3) 专门的数据库管理软件专门的数据库管理软件-DBMS。应用程序1DBMS应用程序2数据库应用程序n数据库概述数据库概述分布式数据库系统分布式数据库系统 数据库技术和计算机网络技术相结合产生:数据库技术和计算机网络技术相结合产生: 1)物理上独立,数据分布在网络的不同计算机)物理上独立,数据分布在网络的不同计算机 2)逻辑上属于一个整体。)逻辑上属于一个整体。面向对象的数据库面向对象的数据库 将程序设计语言中对象的概念引用到数据库中:将程序设计语言中对象的概念引用到数据库中: 1)数据和操作方法作为对象统一管理;)数据和操作方法作为对象统一管理; 2)可以处理更为复杂的对象;)可以处理更为复杂的对象;6.1 数据库概述数据库概述我们身边的数据库?我们身边的数据库?什么是数据库?什么是数据库? 是持久数据的集合,是存储在计算机中的数据的集合 银行的用户信息、学校的教师和学生信息、图书馆的图书信息、网页上不断更新的新闻、文献资料什么是数据库技术?什么是数据库技术? 研究如何科学组组织织和存储存储数据,如何高效地获取获取和处处理理数据,以及如何保障数据安全安全,实现数据共享共享。举例:举例: 图书馆图书馆=数据库数据库保障图书安全保障图书安全整理、组织、存储整理、组织、存储最大限度地最大限度地实现图书的共享实现图书的共享高效地查找和高效地查找和管理图书管理图书图书馆图书馆根据书的特征将它们按学科分类整理,通过建立索引表确定书籍的存放方法;根据索引表按照名称、作者、关键字、出版社等查找存放位置;需要不断地对图书进行购进、丢失处理、借阅、归还等管理工作;对图书使用状况进行科学地分析和统计,作为修改购书计划的依据;图书不能借了不还、阅览室的书不能外借(或只能短期借阅)、重要文献借阅有严格的规章制度、只允许合法用户借阅、限定借阅册数和期限不允许长期滞留在个人手中、不能被某些院系独占、避免重复购进造成浪费 数据库与图书馆的不同点数据库与图书馆的不同点:数据更具普遍性,数据的多样性和复杂性使得数据的组织和管理更具挑战性,需要一套科学的技术和方法。简而言之,数据库技术就是数据管理的技术。数据库概述数据库概述 数据库(数据库(DBDB) 指按特定的组织形式将数据保存在存储介质上指按特定的组织形式将数据保存在存储介质上 特点:特点:(1)在数据库中,不仅包含数据本身,也包含数)在数据库中,不仅包含数据本身,也包含数据之间的联系;据之间的联系;(2)数据通过一定的数据模型进行组织,保证有)数据通过一定的数据模型进行组织,保证有最小的冗余度最小的冗余度,有层次、网状和关系模型;有层次、网状和关系模型;(3)各个应用程序共享数据;)各个应用程序共享数据;(4)对数据的各种操作,如定义、操纵等都由)对数据的各种操作,如定义、操纵等都由 DBMS统一进行。统一进行。二二.数据库中的常见概念数据库中的常见概念 数据库管理系统(数据库管理系统(DBMSDBMS) 对数据库进行管理的软件对数据库进行管理的软件. 功能:功能:(1)定义)定义: 定义数据库的结构、数据完整性和其定义数据库的结构、数据完整性和其它的约束条件;它的约束条件;(2)操纵)操纵: 实现数据插入、修改、删除和查询;实现数据插入、修改、删除和查询;(3)控制)控制: 实现数安全控制、完整性控制以及多实现数安全控制、完整性控制以及多用户环境下的并发控制;用户环境下的并发控制;(4)维护)维护: 提供对数据的装载、转储和恢复,数提供对数据的装载、转储和恢复,数据库的性能分析和监测;据库的性能分析和监测;(5)数据字典,存放数据库各级结构的描述。)数据字典,存放数据库各级结构的描述。数据库概述数据库概述数据库的基本概念数据库的基本概念数据库数据库系统系统DataBase System(DBS)是指引入了数据库的计算机系统。 一般由数据库(DB)、数据库管理系统(DBMS)(及其开发工具)、应用系统、数据库管理员(DBA)组成。DBMS是数据库系统的核心 应用程序应用程序 利用利用DBMS开发的应用软件。开发的应用软件。 数据库管理员(数据库管理员(DBA) 负责管理数据库资源;确定用户需求,设计、实负责管理数据库资源;确定用户需求,设计、实现数据库;并负责维护和管理数据库。现数据库;并负责维护和管理数据库。 数据库系统(数据库系统(DBSDBS) 完整的数据库系统由硬件、数据库、数据库管理完整的数据库系统由硬件、数据库、数据库管理系统、操作系统、应用程序、数据库管理员等部系统、操作系统、应用程序、数据库管理员等部分组成。分组成。数据库概述数据库概述应用程序应用程序开发工具软件开发工具软件数据库管理系统数据库管理系统操作系统操作系统硬件硬件数据库概述数据库概述数据库系统(数据库系统(DBS) 三三.数据库系统的体系结构数据库系统的体系结构 三级模式三级模式 (1) 模式模式(逻辑模式或概念模式逻辑模式或概念模式) 是对数据库中的全部数据的逻辑结构和特征的描是对数据库中的全部数据的逻辑结构和特征的描述,不涉及数据的物理存储。述,不涉及数据的物理存储。 (2) 外模式外模式(用户模式或子模式用户模式或子模式) 该模式面向用户,是数据库用户看到的局部数据该模式面向用户,是数据库用户看到的局部数据结构和特征的描述,是数据的局部逻辑结构。结构和特征的描述,是数据的局部逻辑结构。 (3) 内模式内模式(存储模式存储模式) 描述数据的物理结构、在存储介质上的存储方法描述数据的物理结构、在存储介质上的存储方法和存取策略。和存取策略。 数据库概述数据库概述二级映射二级映射 用于三级模式之间的转换。用于三级模式之间的转换。(1)外模式)外模式/模式映射模式映射 定义外模式和概念模式之间的对应性,这一映射定义外模式和概念模式之间的对应性,这一映射使得概念模式的改变不影响外模式和应用程序,使得概念模式的改变不影响外模式和应用程序,从而达到了数据的逻辑独立性。从而达到了数据的逻辑独立性。(2)模式)模式/内模式映射内模式映射 定义概念模式和内模式之间的对应性,当存储结定义概念模式和内模式之间的对应性,当存储结构改变即修改内模式时,只要相应改变模式构改变即修改内模式时,只要相应改变模式/内内模式映象,而模式尽量保存不变,从而达到了数模式映象,而模式尽量保存不变,从而达到了数据的物理独立性。据的物理独立性。数据库概述数据库概述数据库系统的体系结构数据库系统的体系结构应用应用1应用应用1应用应用1外模式外模式A外模式外模式B模式模式内模式内模式数据库数据库OSDBMS外模式外模式/模式映像模式映像模式模式/内模式映像内模式映像 数据模型数据模型概念数据模型概念数据模型概念数据模型概念数据模型 从用户的角度 强调对数据对象的基本表示和概括性描述 (包括数据及其联系) 不考虑计算机具体实现,与具体的DBMS无关 数据模型数据模型是对现实世界的数据特征的抽象描述是对现实世界的数据特征的抽象描述 逻辑数据模型逻辑数据模型物理数据模型物理数据模型逻辑数据模型逻辑数据模型 从计算机(DBMS)的角度 用于在数据库系统实现。 概念数据模型要转化为逻辑数据模型,才能在DBMS中实现 物理数据模型物理数据模型 从计算机(存储介质 )的角度 每种逻辑数据模型在实现时,都有其对应的物理数据模型的支持数据模型数据模型 概念数据模型概念数据模型 概念数据模型用来建立信息世界的数据模型,强调语义概念数据模型用来建立信息世界的数据模型,强调语义表达,描述信息结构,是对现实世界的第一层抽象。表达,描述信息结构,是对现实世界的第一层抽象。 1) 实体实体:客观存在并且可以相互区别的事物:客观存在并且可以相互区别的事物 可以是具体的事物,如一个学生可以是具体的事物,如一个学生,一本书一本书 也可以是抽象的事物也可以是抽象的事物,如一次考试如一次考试 2) 实体的属性:实体的属性:用于描述实体的特性。用于描述实体的特性。 如学生用学号、姓名、性别、年龄等如学生用学号、姓名、性别、年龄等属性属性描述描述 3) 一个实体是若干个属性值的集合。一个实体是若干个属性值的集合。 如一个特定的学生用学号、姓名、性别等如一个特定的学生用学号、姓名、性别等属性值属性值描述描述 4) 实体集:实体集:具有相同属性的实体的集合。具有相同属性的实体的集合。 如若干个学生实体的集合构成学生实体集如若干个学生实体的集合构成学生实体集数据库概述数据库概述实体集之间的联系实体集之间的联系概念:两个实体集之间实体的对应关系称为联系概念:两个实体集之间实体的对应关系称为联系 (1)一对一联系)一对一联系 如果实体集如果实体集E1中的每一个实体中的每一个实体至多至多和实体集和实体集E2中的中的一个一个实体有联系,反之亦然,则称实体有联系,反之亦然,则称E1和和E2是一对一的联系,表示为是一对一的联系,表示为1:1。 例如例如: 实体集校长和实体集校长和 实体集学校之间的实体集学校之间的 联系是一对一。联系是一对一。数据库概述数据库概述实体集之间的联系实体集之间的联系 2)一对多联系)一对多联系 如果实体集如果实体集E1中的每个实体与实体集中的每个实体与实体集E2中的中的任任意个意个实体有联系,而实体集实体有联系,而实体集E2中的每一个实体中的每一个实体至多和实体集至多和实体集E1中的中的一个一个实体有联系,则称实体有联系,则称E1和和E2之间是一对多的联系,表示为之间是一对多的联系,表示为1:n,E1称为称为一方,一方,E2为多方。为多方。 例如,实体集学校和实例如,实体集学校和实 体集学生之间是一对多体集学生之间是一对多 的联系,一方是实体集的联系,一方是实体集 学校,多方是实体集学生学校,多方是实体集学生实体集之间的联系实体集之间的联系(3)多对多联系)多对多联系 如果实体集如果实体集E1中的每个实体与实体集中的每个实体与实体集E2中中的的任意个任意个实体有联系,反之,实体集实体有联系,反之,实体集E2中的每中的每个实体与实体集个实体与实体集E1中的中的任意个任意个实体有联系,则实体有联系,则称称E1和和E2之间是多对多的联系,表示为之间是多对多的联系,表示为m:n。例如例如,实体集学生和实,实体集学生和实体集课程之间是多对多体集课程之间是多对多的关系的关系E-RE-R图图 E-R图图: 用图形方式表示实体集之间的联系。用图形方式表示实体集之间的联系。 组成:组成: 1)矩形:表示实体集,实体名称写在框内;)矩形:表示实体集,实体名称写在框内; 2)椭圆:表示实体集或联系的属性,框内标明属性)椭圆:表示实体集或联系的属性,框内标明属性的名称;的名称; 3)菱形:表示实体间的关系,框内注明联系名称;)菱形:表示实体间的关系,框内注明联系名称; 4)连线:连接实体和各个属性、实体和联系,并注)连线:连接实体和各个属性、实体和联系,并注明联系种类,即明联系种类,即1:1、1:n或或n:m。学校学校1学校学校2学校学校3学校学校n校长校长1校长校长2校长校长3校长校长n学校学校校长校长班级班级1班级班级2班级班级3班级班级n学生学生1学生学生2学生学生3学生学生n班级班级学生学生1 : 11 : n课程课程1课程课程2课程课程3课程课程4课程课程5课程课程n学生学生1学生学生2学生学生3学生学生4学生学生5学生学生n课程课程学生学生m : n E-R模型的表示方法 实体实体用矩形表示用矩形表示 属性属性 用椭圆形表示用椭圆形表示 联系联系 用菱形表示用菱形表示 1 :1 1 :n m :n 举例:网上成绩查询管理系统的举例:网上成绩查询管理系统的 E-R图图 系统功能:学生登陆后,可以查询成绩、给系统功能:学生登陆后,可以查询成绩、给老师留言、下载资源;教师登陆后可以管理老师留言、下载资源;教师登陆后可以管理任课班级的学生成绩、上传资源、查看学生任课班级的学生成绩、上传资源、查看学生留言。留言。 学生实体集和课程实体集之间的关系学生实体集和课程实体集之间的关系学生学生学号学号姓名姓名性别性别年龄年龄选课选课课程课程课程编号课程编号课程名称课程名称任课教师任课教师成绩成绩mn 逻辑数据模型逻辑数据模型 DBMS所支持的数据模型称为逻辑数据模型,便于所支持的数据模型称为逻辑数据模型,便于在数据库系统实现。在数据库系统实现。 用概念数据模型表示的数据必须转化为逻辑数据模用概念数据模型表示的数据必须转化为逻辑数据模型表示的数据,才能在型表示的数据,才能在DBMS中实现。中实现。 根据数据及数据之间联系的表示形式的不同,主要根据数据及数据之间联系的表示形式的不同,主要有以下几种逻辑数据模型:有以下几种逻辑数据模型: 层次数据模型层次数据模型 网状数据模型网状数据模型 关系数据模型关系数据模型 面向对象的数据模型面向对象的数据模型用树状结构树状结构表示各类实体以及实体间的联系以网状结构网状结构表示各类实体以及实体间的联系用二维表格二维表格来描述实体以及实体之间的联系 用面向对象的观点面向对象的观点来描述现实世界的实体。逻辑数据模型逻辑数据模型概念:逻辑数据模型是指在数据库系统中表示实概念:逻辑数据模型是指在数据库系统中表示实体之间关系的模型。体之间关系的模型。 结点:各个实体在数据模型中被称为结点结点:各个实体在数据模型中被称为结点1层次模型层次模型 1) 用树形表示数据之间的多级层次结构。用树形表示数据之间的多级层次结构。 2) 结构特点:结构特点: (1) 只有一个最高结点即根结点只有一个最高结点即根结点 (2) 其余结点有而且仅有一个父结点其余结点有而且仅有一个父结点 (3) 上下层结点之间表示一对多的联系上下层结点之间表示一对多的联系 3) 应用应用: 行政组织机构、家族辈份关系等。行政组织机构、家族辈份关系等。逻辑数据模型逻辑数据模型逻辑数据模型逻辑数据模型 2网状模型网状模型 1) 用图表示数据之间的关系用图表示数据之间的关系 2) 允许结点有多于一个的父结点允许结点有多于一个的父结点 3) 可以有一个以上的结点没有父结点。可以有一个以上的结点没有父结点。 4) 特点特点: 表示结点之间多对多的联系。表示结点之间多对多的联系。 3关系模型关系模型 1) 用二维表格来表示实体及实体之间的联系用二维表格来表示实体及实体之间的联系 2) 实际应用中,每一个二维表代表了一个关系。实际应用中,每一个二维表代表了一个关系。 3) 特点:结构简单特点:结构简单,容易实现容易实现物理数据模型 物理数据模型反映了数据在存储介质上的存物理数据模型反映了数据在存储介质上的存储结构储结构 物理数据模型不仅与具体的物理数据模型不仅与具体的DBMS有关,也有关,也和操作系统及硬件有关。和操作系统及硬件有关。 物理数据模型物理数据模型 在计算机系统的底层对数据进行抽象,它在计算机系统的底层对数据进行抽象,它描述数据在描述数据在存储介质上的上的存储方式和和存取方法,是面向计算机系统的。,是面向计算机系统的。 在设计一个数据库时,首先需要将现实世在设计一个数据库时,首先需要将现实世界抽象得到概念数据模型,然后将界抽象得到概念数据模型,然后将概念数据模型转换为转换为逻辑数据模型,最后将逻辑,最后将逻辑数据模型转换为数据模型转换为物理数据模型。 最后一步一般由选定的最后一步一般由选定的DBMS自动实现。自动实现。 关系数据库关系数据库 采用的采用的DBMS是支持关系数据模型的,据此是支持关系数据模型的,据此构建的数据库称为关系数据库构建的数据库称为关系数据库 相应的相应的DBMS为关系数据库管理系统为关系数据库管理系统(Relational DataBase Management System,RDBMS)关系数据模型根据概念数据模型设计逻辑数据模型关系数据库主要内容主要内容数据结构数据结构规范化的二维表格:规范化的二维表格: 任意两行内容不能完全相同 不能有名称相同的列 每一列都是不可分的,即不允许表中还有表 同一列的值取自同一个定义 关系模式关系模式:学生(学生( 学号,姓名,性别,状态,入学时间,最后登陆时间,登陆次数)学号,姓名,性别,状态,入学时间,最后登陆时间,登陆次数) 关系关系模式属性域元组关键字(包括候选键和主键) 关系数据库关系数据库 关系模型的组成关系模型的组成-二维表格二维表格关系模型中的常用术语关系模型中的常用术语 1元组元组 在二维表中,从第二行起的每一行称为一个元组,在二维表中,从第二行起的每一行称为一个元组,在文件中对应一条具体记录。在文件中对应一条具体记录。 2属性属性 二维表中,每一列称为一个属性,在文件中对应二维表中,每一列称为一个属性,在文件中对应一个字段。一个字段。 3属性名属性名 二维表第一行显示的每一列的名称,在文件中对二维表第一行显示的每一列的名称,在文件中对应字段名,例如应字段名,例如“姓名姓名”,“性别性别”等。等。关系模型中的常用术语关系模型中的常用术语 4属性值属性值 行和列的交叉位置表示某个属性的值。行和列的交叉位置表示某个属性的值。 5域域 表示各个属性的取值范围。表示各个属性的取值范围。关系模型中的常用术语关系模型中的常用术语 6表结构表结构 表中的第一行,表示组成该表的各个字段名称,表中的第一行,表示组成该表的各个字段名称,各字段取值的类型、宽度等。各字段取值的类型、宽度等。 7关系模式关系模式 是对关系结构的描述,表示格式:是对关系结构的描述,表示格式: 关系名关系名(属性属性1,属性属性2,属性属性3,,属性,属性n) 例:例: student(学号学号,姓名姓名,性别性别,年龄年龄)关系模型中的常用术语关系模型中的常用术语 6表结构表结构 表中的第一行,表示组成该表的各个字段名称,表中的第一行,表示组成该表的各个字段名称,各字段取值的类型、宽度等。各字段取值的类型、宽度等。 7关系模式关系模式 是对关系结构的描述,表示格式:是对关系结构的描述,表示格式: 关系名关系名(属性属性1,属性属性2,属性属性3,,属性,属性n) 例:例: student(学号学号,姓名姓名,性别性别,年龄年龄)关系模型中的常用术语关系模型中的常用术语 9主键主键 从候选键中指定一个用来标识元组。从候选键中指定一个用来标识元组。 10外部关键字外部关键字 表中的一个字段不是本表的主关键字或候选关键表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主关键字或候选关键字,字,而是另外一个表的主关键字或候选关键字,该字段称为外部关键字,简称外键。该字段称为外部关键字,简称外键。例题例题: 在关系在关系score中,中, “学号学号”不是不是score的的主键,而是关系主键,而是关系student的主键,因此,的主键,因此,“学号学号”称为外键。称为外键。关系模型中的常用术语关系模型中的常用术语 11主表和从表主表和从表 主表主表: 以外键作为主键的表以外键作为主键的表 从表从表: 外键所在的表外键所在的表 主表和从表通过外键相关联主表和从表通过外键相关联关系模型的特点关系模型的特点 1)每一列不可再分;)每一列不可再分; 2)同一关系中属性)同一关系中属性(字段字段)不允许重名不允许重名 3)关系中不允许有完全相同的元组)关系中不允许有完全相同的元组 4)关系中交换任意两行的位置不影响数据)关系中交换任意两行的位置不影响数据的实际含义;的实际含义; 5)关系中交换任意两列的位置不影响数据)关系中交换任意两列的位置不影响数据的实际含义。的实际含义。关系的基本运算 1选择选择 从指定的关系中选择满足给定条件的元组组成新从指定的关系中选择满足给定条件的元组组成新的关系。的关系。 例题:例题:从关系从关系score1score1中选择数学大于中选择数学大于9090的元组组的元组组成关系成关系S1S1。S1=数学数学90(Score1) 关系的基本运算 2投影投影 从指定关系的属性集合中选取若干个属性组成新从指定关系的属性集合中选取若干个属性组成新的关系。的关系。例题:例题:从关系从关系score1score1中选择中选择“学号学号”、“姓名姓名”、“数学数学”组成新的关系组成新的关系S2S2。 S2=学号,姓名,数学(学号,姓名,数学(Score1) 关系的基本运算 联接联接 两个关系中的元组按指定条件组合新的关系两个关系中的元组按指定条件组合新的关系 例题例题:将将score1和和score2按相同学号合并按相同学号合并专门的关系运算专门的关系运算选择、投影、连接选择、投影、连接学号姓名性别状态入学时间最后登陆时间登陆次数39001杨雨潇男在读2007-9-12008-7-21839002崔敏女在读2007-9-12008-7-42539003张进女在读2007-9-12008-7-12039004何晴女在读2007-9-12008-6-301639005李哲男在读2007-9-12008-7-21939006刘晓女在读2007-9-12008-7-222关系关系 S1学号姓名性别状态入学时间最后登陆时间登陆次数39001杨雨潇男在读2007-9-12008-7-21839005李哲男在读2007-9-12008-7-219关系关系 S2 从指定的关系中选择满足给定条件的元组元组组成新的关系 选择运算选择运算投影运算投影运算 从关系的属性集合中选取指定的若干个属性属性组成新的关系 S2=性别性别=”男男”(S1) S3=学号,姓名,性别学号,姓名,性别(S1) 关系关系 S3连接运算连接运算 在两个关系的所有元组组合组合中选择选择符合指定条件的元组元组,生成一个新的关系 关系关系 S3学号课程号成绩成绩类型390018850390027770390016761390016900390067820390018800390066920关系关系S4S6=学号,课程号,成绩学号,课程号,成绩(成绩类型成绩类型=0(S4) 关系关系S6S7=S3 S6 关系关系S7数据完整性控制数据完整性控制最大限度地保证数据的最大限度地保证数据的正确性正确性、合法性合法性和和一致性一致性实体完整性规则实体完整性规则关系中各个元组的主键不允许取空值、不允许重复。数据完整性数据完整性用户定义的完整性用户定义的完整性 允许用户自行定义对数据的约束条件,从语义上保证数据的合法性 。参照完整性规则参照完整性规则在关系模型中,实体集之间的联系也用关系来表示存在关系与关系间的引用修改一个关系时,为保持数据的一致性,必须对另一个关系进行检查和修改。 取值参照取值参照或取空值或取空值在选课表中插入一个记录 ( 39078, 6, 90, 0 )删除学生表中记录(39001,杨雨潇, 男,在读,2007-9-1,2008-7-2,18)如何保证数据的一致性?由由E-R图设计关系模型图设计关系模型1) 两个实体集两个实体集 学生学生(学号学号,姓名姓名,性别性别,年龄年龄) 课程课程(课程代码课程代码, 课程名称课程名称, 任任课教师课教师)2) 联系联系 选修选修(学号学号,课程代码课程代码,成绩成绩) 两个实体集的主键两个实体集的主键 自身属性自身属性根据概念数据模型设计关系数据模型根据概念数据模型设计关系数据模型 网上成绩查询管理系统的网上成绩查询管理系统的 E-RE-R图图 一个实体集转换为一个关系模式,实体集的属性就是关系的属性 院系院系(院系编号,院系名称) 班级班级(班号,班级名,学生数,班主任) 学生学生(学号,登陆密码,姓名,性别,状态,入校时间,毕业时间,退 学时间,注册时间,最后登陆时间,登陆次数) 这里“状态”有3种取值:在读、退学、毕业 教师教师(教师号,登陆密码,姓名,电话,邮箱,QQ号,找回密码问 题,找回密码答案,注册时间,最后登陆时间,登陆次数) 课程课程(课程号,课程名称,学分) 课程资源课程资源(资源号,资源名,链接地址,更新时间,资源类型,说明) 学期学期(学期号,学期名称,是否当前学期,学期起始时间,学期结束时 间)Access 简介简介 Access的特点的特点 1. 具有具有Office系列的共同功能系列的共同功能; 2. 桌面型的数据库管理系统桌面型的数据库管理系统; 3. 与其它数据库系统共享数据与其它数据库系统共享数据; 4. 提供程序设计语言提供程序设计语言VBA,用于开发应用程序。,用于开发应用程序。Access启动 ACCESS数据库管理系统数据库管理系统 Access 2003是是Microsoft Office 2003的组件之的组件之一,是用户和数据库间的软件接口一,是用户和数据库间的软件接口 使用非常简单使用非常简单 可视化工具可视化工具 提供了大量的向导提供了大量的向导 快速创建对象及应用程序快速创建对象及应用程序 面向对象的、采用事件驱动面向对象的、采用事件驱动 ,可以与其他数据库相连,可以与其他数据库相连 ,使用使用VBA语言作为其应用程序开发工具语言作为其应用程序开发工具 可处理多种数据信息可处理多种数据信息Office组件数据、其他组件数据、其他DBMS数据数据 创建数据库和数据表数据完整性控制数据查询主要内容主要内容Access的启动的启动 1.“开始开始”-“程序程序”-Microsoft Access 2.在对话框中选在对话框中选“空空Access数据库数据库”。 3.单击单击“确定确定” 4.输入数据库名输入数据库名 5.单击单击“创建创建”数据库组成6.4.1 创建数据库和数据表创建数据库和数据表 数据库文件(数据库文件(.mdb)其中包括所有相关数据和管理这些数据的所有对象。 方法:方法: 单击【开始】|【所有程序】|【Microsoft Office】|【Microsoft Office Access 2003】启动Access2003 单击【文件】|【新建】 建立空数据库 使用模板向导建立各类数据库建空数据库建空数据库利用向导建数据库利用向导建数据库创建创建数据表数据表每个关系关系对应建立一个数据表数据表 两方面的工作:设计表结构表结构和输入数据记录输入数据记录。 (1) 打开表结构“设计器” 使用设计视图使用设计视图建立数据表的表结构建立数据表的表结构图6.20 设计视图窗口(2) 依次输入各个字段的名称名称,指定字段类型类型,并对每个字段的含义、取值进行注释说明 字段选择栏字段选择栏字段属性字段属性字段类型说明文本用来存放不需要计算的数据,可以为数字、文字,例如学号、电话备注也称长文本,存放说明性文字数字需要运算的数值数据,如成绩、次数、年龄日期/时间存放日期和时间数据货币存放货币数值自动编号在增加记录时,其值能依次自动加1是/否存放逻辑型数据,如婚否、Yes/No、On/OffOLE对象将对象(如电子表格、文件、图形、声音等)链接或嵌入表中超链接存放超链接数据字段选择栏字段选择栏字段属性字段属性字段属性说明字段大小可以指定字段中文本或数字的范围,文本缺省长度为50,最多255个字符,备注型最多65536个,数值为长整型。应该尽可能设置最小的字段大小,因为其需要的内存更少,数据处理速度更快。格式可以选择或输入格式串来定义字段中数据的格式小数位数指定数字或货币数值的小数点位数输入掩码用于设置字段数据的输入模式,例如可以为“电话号码”字段设置一个输入掩码(0000)-(00000000),则在用户输入该字段内容时,会显示 (_)-(_),提示用户正确输入。标题可以定义字段的别名,作为创建窗体和报表时数据单中使用的标签。如字段名为sname,可将标题设置为“姓名”默认值该值在新建记录时会自动输入到字段中,也可以更改。例如,将states(状态)字段的默认值设为“在读”。 必填字段用于设置这个字段是否必须填写,设置成“是”时,这个字段不能空着允许空字符串如果为“是”,则该字段可以接受空字符串为有效输入项索引可以选择是否为这个字段建立索引或者是否允许建立索引,建立索引的好处是,按此字段进行查询时会提高查询和排序速度,但同时也加大了系统维护的开销。(1) 打开表结构“设计器” 使用设计视图使用设计视图建立数据表的表结构建立数据表的表结构(2) 依次输入各个字段的名称名称,指定字段类型类型, 并对每个字段的含义、取值进行注释说明 (3) 定义表的主键选中字段后单击工具栏“主键”按钮 (4) 保存并命名数据表(1) 双击数据表,打开数据表视图窗口 在数据表视图窗口在数据表视图窗口输入数据记录输入数据记录(2) 依次输入各字段值,完成所有记录的录入(3) 关闭窗口结束数据完整性控制数据完整性控制用户定义的完整性用户定义的完整性实体完整性实体完整性 通过设置主键,使其取值既不能为空也不能重复,以此保证记录(即实体)的正确性。 通过定义指定字段的“有效性规则”属性,对字段的取值设置约束条件,保证记录的合法性。参照完整性参照完整性 是指对存在引用关系的两个关系(数据表)的约束,通过建立引用关系保证数据的一致性。参照完整性示例参照完整性示例取值参照取值参照只要建立了二者之间的引用关系,就能保证数据的一致性:在选课表中插入一个记录 ( 39078, 6, 90, 0 )拒绝拒绝修改学生表中的学生学号同步修改选课表同步修改选课表中相应学号中相应学号删除学生表中记录(39001,杨雨潇, 男,在读,2007-9-1,2008-7-2,18)提示同步删提示同步删除选课表中相应记录除选课表中相应记录关联关系关联字段主表子表建立建立student表和表和sel_course表间的关联关系表间的关联关系(1) 打开“关系”窗口 方法方法?(2) 选择建立关联的表添加到窗口中 (3) 将主表的主键拖到子表的外键,建立关联关系 (4) 设置参照完整性规则一对多关系 主键外键 当主表关联字段被更改时,子表关 联字段也自动随之更改。 子表关联字段欲更改的新值若在主表中不存在,则拒绝子表的修改 子表增加一条记录时,若该记录关联字段的取值在主表中不存在,则拒绝子表的操作。 当主表删除某个记录时,子表中与之关联的全部记录一并自动删除。 子表删除记录时,不会影响到主表记录。 还有还有什么用什么用?(1) 利用关联查看多组数据 (2) 在子表中输入(插入、修改)数据时保证完整性 (3) 据此进行多表查询school数据库中各表的关联关系数据库中各表的关联关系 数据查询数据查询查找查找筛选筛选查询查询按选定内容筛选按窗体筛选高级筛选/排序应用筛选/取消筛选【例6.11】 创建一个查询,从sel_course(选课)表中查询选修课程成绩不及格的学生的学号、课程号及成绩,查询结果按学号升序排序。查询命名为“查询不及格学生1”。 创建查询创建查询? 打开查询设计窗口打开查询设计窗口 选择欲查询的数据表 选择查询字段选择查询字段 输入查询条件。 选择哪些字段显示在查询结果中 查询结果可以指定排序字段查询结果可以指定排序字段 运行查询,查看结果 保存并命名查询保存并命名查询多种查询视图多种查询视图多种查询类型多种查询类型 从表中检索数据,并对结果排序。 还可以对记录分组进行总计、计数、平均 值以及其他类型的计算。 对查询结果按不同的字段逐级分组显示 统计结果 结果显示方式为交叉表方式,即分行标 题、列标题以及统计数据区。 操作查询指可以重复使用,每次改变查询条件的查询。【例6.12】查询不及格学生姓名、课程名、成绩,结果按学号升序排序。查询命名为“查询不及格学生2”。 选择查询选择查询依据关联关系建立连接,然后选择需要的字段、记录【例6.13】查询选修课程中最高分是多少,查询命名为“查询最高分”。 单击工具栏上的 选择查询选择查询(汇总)(汇总)【例6.14】查询选修课程中每位学生各自的最高分、最低分、平均分,查询结果包含学生姓名和最高分数、最低分、平均分。查询命名为“查询每位学生最高分”。 选择查询选择查询(分组汇总)(分组汇总)【例6.15】统计查询各班不同性别的学生选择各门课程的人数情况。查询命名为“查询选课人数”。显示统计结果时,班级名、性别均作为行标题,课程名称作为列标题。 交叉表查询交叉表查询需要选择查询类型为“交叉表查询”【例6.16】查询各班学生在某一范围内的成绩,查询命名为“参数查询学生成绩”。 单击“查询” | “参数”,设置查询参数 参数查询参数查询说明数据表与查询数据表与查询 查询结果也为二维表形式,但它与数据表对象不同; 数据表中存储数据信息,而查询存储查询的规则,即 相应的SQL命令; 执行查询即执行SQL命令; 可以基于数据表建立查询,也可以基于查询创建其他 查询。 数据库组成数据库组成 Access数据库:数据库: 1)Access的文档文件,扩展名为的文档文件,扩展名为MDB 2)由数据表、查询、窗体、报表、宏和模块等)由数据表、查询、窗体、报表、宏和模块等对象组成。对象组成。 3)所有对象都保存在的同一个数据库文件中。)所有对象都保存在的同一个数据库文件中。数据库组成1 1表表1)1)以二维表格保存基本信息以二维表格保存基本信息, ,数据库的核心数据库的核心2)2)为其它对象提供数据为其它对象提供数据3)3)对具有复杂结构的数据,分别使用多张数据表,对具有复杂结构的数据,分别使用多张数据表,这些表之间可以通过相关字段建立关联。这些表之间可以通过相关字段建立关联。数据库组成数据库组成2 2查询查询 1 1)从一个或多个表中查找某些特定的记录)从一个或多个表中查找某些特定的记录2 2)查询的运行结果以二维表的形式显示)查询的运行结果以二维表的形式显示3 3)在数据库中只记录了查询的方式即规则)在数据库中只记录了查询的方式即规则4 4)可作为窗体、报表等其它组件的数据源)可作为窗体、报表等其它组件的数据源数据库组成数据库组成 3 3窗体窗体 1) 1) 向用户提供交互界面,更方便地进行数据的向用户提供交互界面,更方便地进行数据的输入、输出输入、输出2) 2) 窗体的数据源,可以是一个或多个数据表,窗体的数据源,可以是一个或多个数据表,也可以是查询。也可以是查询。数据库组成数据库组成数据库组成 4报表报表 1)将数据按指定的格式进行显示或打印将数据按指定的格式进行显示或打印 2)数据源可以是一张或多张数据表、查询数据源可以是一张或多张数据表、查询 3)建立报表时还可以进行计算建立报表时还可以进行计算,如求和、平如求和、平均等均等 5页页 通过通过Web页将数据存储到指定的文件夹页将数据存储到指定的文件夹,或将其复制到或将其复制到Web服务器上服务器上,以便在网上以便在网上发布信息。发布信息。数据库组成数据库组成 6. 6. 宏宏宏是由具有宏名的一系列命令组成,用来宏是由具有宏名的一系列命令组成,用来简化一些需要重复的操作。简化一些需要重复的操作。建好的宏,可以单独使用,或与窗体配合建好的宏,可以单独使用,或与窗体配合使用。使用。 7 7模块模块 用用AccessAccess提供的提供的VBAVBA语言编写的程序,模语言编写的程序,模块通常与窗体、报表结合起来完成完整的块通常与窗体、报表结合起来完成完整的应用功能。应用功能。数据表结构数据表的建立