《大学计算机基础-数据库ACCESS.ppt》由会员分享,可在线阅读,更多相关《大学计算机基础-数据库ACCESS.ppt(111页珍藏版)》请在三一办公上搜索。
1、教学目标,了解数据库系统基本概念、数据描述、数据库系统结构;理解数据模型;掌握数据库设计的一般步骤;理解Access的基本使用。,内容简介与提要,第八章 数据库管理系统,谷歌网站存储的信息量,谷歌网站存储的信息量,某大学选修课管理系统,某大学的全校性选修课门数有480多门全校现有学生3万多选修学生人次达到1.5万/每学期,如何组织、存储、查询这些海量的数据信息?,8.1 数据库系统的基本概念和发展,数据(Data):指存储在某一介质上可以鉴别的符号的集合。(文字、数字、声音、图象)信息(Information):指现实世界事物的存在方式或运动状态的反映。具有可感知、可存储、可加工、可再生等属性
2、。,数据是符号化的信息,信息是语义化的数据,1.数据和信息的概念,8.1 数据库系统的基本概念和发展,我是一名老师,讲授计算机基础,共有360人选修了这一门课程;他们是周倩,王玲,张成;期末考试成绩分别是90分,87分,95分,2.数据处理,是指将数据转换成信息的过程,即对输入的数据进行加工整理。,信息数据数据处理,数据是原料,是输入,而信息是产出,是输出结果。“信息处理”的真正含义应该是为了产生信息而处理数据。,8.1 数据库系统的基本概念和发展,3.数据管理数据管理是指对数据的组织、分类、编码、存储、检索和维护。数据处理的中心问题是数据管理。,数据管理技术的发展过程人工管理阶段(40年代中
3、-50年代中)文件系统阶段(50年代末-60年代中)数据库系统阶段(60年代末-现在),8.1 数据库系统的基本概念和发展,人工管理阶段,8.1 数据库系统的基本概念和发展,产生背景:应用需求 科学计算硬件水平 无直接存取设备软件水平 没有操作系统,特点:数据库的管理者:某一应用程序,数据不保存数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序,文件系统阶段:50年代末-60年代,8.1 数据库系统的基本概念和发展,产生背景:应用需求 科学计算、管理硬件水平 磁盘、磁鼓软件水平 有文件系统,特点:数据库的管理者:文件系统,数据可以长期保存数据面向
4、的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的独立性:独立性差,数据的逻辑结构必须修改应用程序,数据库系统阶段:60年代以来,8.1 数据库系统的基本概念和发展,产生背景:应用需求 大规模管理硬件水平 大容量磁盘、磁盘阵列软件水平 有数据库管理系统,采用复杂的结构化的数据模型数据的共享性高,冗余度低,易扩充有较高的数据独立性安全性:设置用户的使用权限;在数据库被破坏时,系统有能力把数据库恢复到可用状态。完整性:统采用一些完整性检验以确保数据符合某些规则,保证数据库中数据始终是正确的。,数据库系统的特点,数据库系统的特点,4.数据库系统的基本概念,1)数据库(DB,Database
5、)是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、存储和描述,由DBMS统一管理,供多用户共享。,顾名思义,数据库就是存放数据的仓库。只不过这个仓库中的数据是按照一定的格式存放在计算机上。,8.1 数据库系统的基本概念和发展,2)数据库管理系统(DBMS,Database Management System)对数据库进行管理的系统软件。,DBMS有效地管理数据库,为用户提供一个可以方便、有效地存取数据库数据的软件环境。,8.1 数据库系统的基本概念和发展,用户能更方便、更有效、更可靠地建立数据库和使用其中的信息资源。,DBMS是在OS支持下工作的数据库管
6、理软件,对内,它负责管理数据库,对外,它向用户提供一整套命令,用于合法用户对数据库的各种操作;包括创建DB、定义数据、增、删、改DB记录、统计计算等,8.1 数据库系统的基本概念和发展,DBMS功能数据定义功能;DDL,用户通过DDL描述数据及结构形式;数据操纵功能:DML,实现数据库的存取操作;如数据的查询、插入、删除、修改等;数据库运行控制功能:包括并发控制、安全性检测、完整性约束条件的检查和执行、数据库的内部维护等。数据库的建立和维护功能:数据库初始数据的输入、转换功能、数据库的转出、恢复功能等,8.1 数据库系统的基本概念和发展,常用DBMS简介,Microsoft Access 功能
7、强大、简单易用;面向桌面的数据库;完全的个人数据库;多用于开发小型的数据库管理的Windows应用程序,SQL Server 功能完备的正规DBMS比较简单易学多用于中、小企业局域网中的数据库管理,Oracle 大型数据库多用户及移植性良好的备份和恢复能力可靠的安全性可同时适用于大、中、小型机和微机的网络数据库管理系统,3)数据库系统(DBS),数据库系统(Database System,DBS)是指在计算机系统中引入数据库后的系统构成一般由数据库、硬件、软件(数据库管理系统及其开发工具)、用户构成,软件,硬件系统,应用系统,数据库管理系统,数据库,数据库管理员,硬件 包括CPU、内存和外部设
8、备等。要求足够大的存储能力和足够高的数据传输能力。,软件 主要包括:支持DBMS运行的操作系统、DBMS本身及开发工具。,数据库 设计合理、满足需求的数据库存放数据。,用户 开发、管理、使用和维护数据库的人员。,DBSDBDBMSAPPLICATION DBAUSER,数据模型:对现实世界的事物进行抽象以反映其特征的工具通俗地讲数据模型就是现实世界的模拟;数据模型应该满足三个方面的要求能比较真实的模拟现实世界容易为人所理解便于在计算机上实现,8.3 数据模型,8.3 数据模型,三类数据模型概念模型:按照用户的观点对数据和信息建模;逻辑模型:按照计算机系统的观点对数据建模;物理模型:对数据最底层
9、的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存储方法。,现实世界,认识、抽象,8.3 数据模型,数据模型的三要素,实体(Entity):客观存在并可相互区别的事物。实体可以是实际事物,也可以是抽象事件。,2.在信息世界中,可用以下术语描述现实世界:,属性(Attribute):实体的性质。一个实体可由若干个属性来描述。,域(Domain):属性的取值范围。,8.3 数据模型,实体集:相同类型实体的集合。,码:能唯一标识某个实体的属性集。,域:,实体集:全体在校学生,码:学号,举例:实体:学生,属性:,定长的字符串,文本,(男,女),本校存在的院系,数字(10-60
10、),学号、姓名、性别、院系、年龄,8.3 数据模型,联系:实体集之间的关系称为联系,反映了现实世界事物之间的相互关联。联系也是实体,也可具有属性。,一对一的联系(1:1),一对多的联系(1:n),多对多的联系(m:n),8.3 数据模型,三个世界各术语的对应关系 现实世界 信息世界 计算机世界事物总体 实体集 文件事物个体 实体 记录特征 属性 字段事物间联系 实体模型 数据模型,8.3 数据模型,目前常用的数据模型有:层次模型(Hierarchical Model)网状模型(Network Model)关系模型(Relational Model),8.3 数据模型,层次模型,层次模型是把数据
11、之间的关系纳入一种一对多的层次框架来加以描述。特点:每个模型中只有一个称为根的最高结点其它结点都只能和一个父结点相连接(1:M)查询、访问都必须从根结点开始最有影响的层次模型的DBS是60年代末,IBM公司推出的IMS层次模型数据库系统。,8.3 数据模型,层次模型示意图,8.3 数据模型,网状模型,网状模型是可以方便地描述数据之间多对多联系的模型,其特点:可有0个或多个结点无双亲允许结点有多个双亲允许结点间有2种以上的关系存取、访问必须按事先定义好的路径进行(从指定出发点),8.3 数据模型,例如,教务管理系统,学生和课程的网状模型图,8.3 数据模型,关系模型,关系模型是把存放在数据库中的
12、数据和它们之间的联系看作是一张二维表,一个表即一个关系。其特点:1)每一列不可再分;2)同一关系中属性(字段)不允许重名3)关系中不允许有完全相同的元组4)关系中交换任意两行的位置不影响数据的实际含义;5)关系中交换任意两列的位置不影响数据的实际含义。,8.3 数据模型,关 系,一个关系对应一个按行、列排列的二维表,二维表名就是关系名。,关系模式,在二维表中的行定义(记录的型),即对关系的描述,称为关系模式。一般表示为:关系名(属性1,属性2,属性n)。例:学生(学号,姓名,性别,年龄,院系,籍贯),学生,8.3 数据模型,1元组(Tuple)在二维表中,从第二行起的每一行称为一个元组,在文件
13、中对应一条具体记录。2属性(Attribute)二维表中,每一列称为一个属性,在文件中对应一个字段。3属性名:二维表第一行显示的每一列的名称,在文件中对应字段名,例如“姓名”,“性别”等。4属性值:行和列的交叉位置表示某个属性的值。5域(Domain):表示各个属性的取值范围。,8.3 数据模型,6表结构表中的第一行,表示组成该表的各个字段名称,各字段取值的类型、宽度等。7候选码关系中用来惟一标识一个元组的属性或属性组。8主码从候选键中指定一个用来标识元组。Student表中的主键为:学号,8.3 数据模型,在关系模型中,实体是用关系来表示的,如:学生(学号,姓名,性别,年龄,系别)课程(课程
14、号,课程名,课时)实体间的关系也是用关系来表示的,如:学生和课程之间的关系选课关系(学号,课程号,成绩),8.3 数据模型,关系运算1)选择(Selection):从指定的关系中选择满足给定条件的元组组成新的关系。例题:从关系score1中选择数学大于90的元组组成关系S1。,8.3 数据模型,2)投影(Projection)从指定关系的属性集合中选取若干个属性组成新的关系。例题:从关系score1中选择“学号”、“姓名”、“数学”组成新的关系S2。,8.3 数据模型,3)连接(Join)两个关系中的元组按指定条件组合新的关系例题:将score1和score2按相同学号合并,8.3 数据模型,
15、数据库应用系统的开发,1.DBAS(DateBase ApplicationSystem)开发方法:,根据用户需求设计数据库结构及应用系统的过程。,数据库设计是指对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,是之能够有效地存储数据,满足用户的信息和处理要求。,2.DBAS(DateBase ApplicationSystem)开发步骤:,数据库应用系统的开发,1 全面、准确了解用户的实际需求;2 对用户需求进行综合、归纳与抽象,形成独立于具体 DBMS的概念模型,是整个数据库设计的关键;3 将概念结构转换为所选用DBMS支持的数据模型并优化;4 选取一个最适合应用环境的物理
16、结构;5 利用数据库语言,建立数据库,编制调试应用程序,组织数据入库,并进行试运行;6 数据库运行,并评价、调整与修改。,分析与设计阶段,实现与运行阶段,SQL全称是结构化查询语言(Structured Query Language),是数据库中使用的标准数据查询语言,IBM公司最早使用在其开发的数据库系统中,1986年10月,美国ANSI对SQL进行规范后作为关系数据库管理系统的标准语言(ANSI X3.135-1986),1987年得到国际标准化组织的支持成为国际标准。就象SQL的名字一样,我们可以通过容易理解的查询语言,来和数据库打交道,从数据库中得到我们想要的数据。,SQL 概述,SQ
17、L(Structured Query Language),结构化查询语言,是关系数据库的通用语言。,用SQL可实现DB生命周期的全部活动,包括:,DDL:建立、删除和修改数据对象 DML:完成数据操作的命令,如更新数据 DQL:查询数据 DCL:控制对数据库的访问,服务器的关闭、启动等,SQL 概述,SQL查询语句的一般格式:SELECT ALL|DISTINCT,.FROM,.WHERE GROUP BY HAVING ORDER BY ASC|DESC;,:必选项:可选项|:或者,说明 SELECT:构成查询结果的属性列 FROM:作查询的表 WHERE:查询条件,SQL 查询,设有如下关
18、系表:读者(图书证号,学号,姓名,性别,院系,是否挂失)图书(图书条码,类别,书名,作者,出版社,单价,入库时间,简介,在库否)借阅(图书证号,图书条码,借阅时间,归还时间),SQL 查询,单表查询,例:查询图书的基本信息,显示图书名称、作者和出版社。,SELECT 书名,作者,出版社 FROM 图书;,SQL 查询,通过WHERE子句引导条件表达式,例:查询理学院读者的所有信息。select*from 读者 where 院系=理学院;,条件查询,选取表中所有属性列,SQL 查询,SQL中的运算符,1.算术运算符:+,-,*,/2.逻辑运算符:与 AND、或 OR,非NOT3.比较运算符:=,
19、!=,=,=4.判断是否是集合的成员:IN,NOT IN,ANY,ALL5.判断是否满足指定的区间:BETWEEN AND 6.模糊匹配:LIKE7.判断是否空值:IS NOT NULL,条件查询,SQL 查询,例:查询价格在20元到40元之间的计算机类图书的条码及名称。,select 图书条码,书名 from 图书where 类别=计算机 and 单价 between 20 and 40;,条件查询,SQL 查询,例:查询图书证号为L00001、S00002、J00001的读者借阅图书的信息。,select*from 借阅where 图书证号 in(L00001,S00002,J00001)
20、;,条件查询,SQL 查询,模糊匹配符 _:匹配任意一个字符%:匹配任意多个字符(包括0个),例:查询书名以“信息”开头的图书的信息。select*from 图书 where 书名 like 信息%;,条件查询,SQL 查询,GROUP BY子句可将查询结果的各记录按一列或多列取值相等的原则进行分组,例:统计各类图书的总数,显示图书的类别及总数。,对查询结果分组,SQL 查询,SQL中的集函数,COUNT(*)统计元组个数 COUNT(DISTINCT|ALL)统计一列中值的个数 SUM(DISTINCT|ALL)计算一列中值的总和(此列必须是数值型)AVG(DISTINCT|ALL)计算一列
21、中值的平均值(此列必须是数值型)MAX(DISTINCT|ALL)求最大值 MIN(DISTINCT|ALL)求最小值 DISTINCT:计算时忽略指定列中的重复值 ALL:不忽略重复值,是缺省值,SQL 查询,对查询结果分组,select 图书条码,count(*)as 借出次数from 借阅group by 图书条码;,例:统计各图书的借出次数,显示图书的条码及借出次数。,SQL 查询,使用HAVING短语可将分组后的各组按条件作进一步筛选,例:求借出次数超过1次的图书。,select 图书条码from 借阅group by 图书条码having count(*)1;,对查询结果分组,SQ
22、L 查询,WHERE与HAVING的区别 WHERE作用于基本表或视图,从中选择满足条件的元组;HAVING作用于分组,从中筛选出满足条件的分组。,对查询结果分组,SQL 查询,ORDER BY子句可将查询结果的各行按一列或多列的取值作升或降的排列。,例:查询所有图书的情况,按出版社升序排列,对同出版社的图书按书名降序排列。select*from 图书 order by 出版社,书名 desc;,缺省排序顺序是升序(ASC),若要按降序输出,需指定DESC,对查询结果排序,SQL 查询,WHERE引导连接条件,连接条件的一般格式:.或:.BETWEEN.AND.,条件中作比较的各字段类型须是可
23、比的,但不必相同,连接查询,SQL 查询,例:查询图书证号为L00001的读者所借阅图书的名称。,select 书名from 借阅,图书where 借阅.图书条码=图书.图书条码 and 图书证号=L00001;,连接查询,SQL 查询,例:查询读者及其所借图书的信息,显示读者的图书证号、姓名、所借图书的书名和类别。,select 读者.图书证号,姓名,书名,类别from 读者,图书,借阅 where 读者.图书证号=借阅.图书证号 and 借阅.图书条码=图书.图书条码;,连接查询,SQL 查询,8.4 Access 2003,1.Access的功能特点,存储文件单一:一个Access数据库
24、对应一个.MDB文件。包含数据表、查询及其他对象。可处理多种数据信息:如文本文件以及其它数据库系统的数据库文件。提供编程语言VBA(Visual Basic for Applications),以及全面开放的对象类型库,可创建高性能的桌面信息管理系统。具有网络功能:可通过Internet网发布。,8.4 Access 2003,2.Access的窗口,数据库窗口,对象列表,数据库是所有信息的集合 每个数据库是一个文件,扩展名为.MDB,1.Access的数据库,Access中创建数据库,8.4 Access 2003,2.建立数据库,自定义创建空数据库 step:1)“文件”|“新建”2)“新
25、建文件”中的“空数据库”,8.4 Access 2003,2.建立数据库,使用“数据库向导”step:1)“新建文件”中的“本机上的模板”2)选择“数据库”中的数据库类型,step:3)“确定”4)给定数据库名、选择保存位置 5)“创建”,6)“下一步”,8.4 Access 2003,表中存放数据,是记录的集合 每条记录表示一个完整的数据,由字段组成 一个字段对应表中的一列,记录,字段,1.Access的表,8.4 Access 2003,数据表由表结构和记录两部分组成。数据表结构1字段名2数据类型 如文本型、数字型等3字段属性(1)字段大小(2)格式(3)小数位数(4)标题(5)有效性规则
26、4主关键字,8.4 Access 2003,1建新表2修改表3建立表间联系,2.表操作,确定所需数据表,每个表表示一类实体 确定表中的字段及主码字段,8.4 Access 2003,建新表,使用表设计器 使用“表向导”输入数据,8.4 Access 2003,使用表设计器,填写字段名称,指定字段类型,设置字段属性,双击“使用设计器创建表”,建新表,8.4 Access 2003,使用表设计器,定义主码字段,建新表,8.4 Access 2003,8.4 Access 2003,“保存”表,命名;可在“设计”和“数据表”视图之间切换,以修改表设计或录入数据,使用表设计器,建新表,8.4 Acce
27、ss 2003,1.修改表结构:在“数据库”窗口中选择要修改的表,“设计”,添加字段 删除字段,更改字段,修改表,2编辑记录:在数据表视图下进行(1)输入新记录;(2)修改原有记录;(3)删除记录。,8.4 Access 2003,建立表间联系,step:1)“工具”|“关系”2)选择要定义其联系的表,“添加”3)按下主表中建立联系的字段(一般是主码字段),拖动至相关表的相关字段 4)“创建”,1)定义联系,定义完所有联系,“保存”,8.4 Access 2003,2)删除联系,step:1)单击表示联系的连线 2)Del,建立表间联系,8.4 Access 2003,查询是根据查询条件从一个
28、或多个表中获取数据或操作数据的方法。查询用来显示、更新、分析数据,也可用作窗体、报表的数据源。不存放数据,但可以操作数据,是虚表。,三、Access中创建查询,8.4 Access 2003,查询的类型单表查询多表查询,查询的类型条件查询计算查询参数查询交叉表查询操作查询SQL查询,8.4 Access 2003,建立查询后,新建的查询表名会出现在此。,(a)“查询”列表,(b)“简单查询向导”对话框,简单查询,8.4 Access 2003,按指定字段建立查询的教师表,简单查询,8.4 Access 2003,在“数据库”窗口中选择“查询”对象,“在设计视图中创建查询”,简单查询,8.4 A
29、ccess 2003,设有如下关系表:学生(学号,姓名,院系,年级,统招,生源,入学时间,备注)课程表(课号,课程名称,学分,学时,教师)成绩表(学号,课号,成绩),8.4 Access 2003,选择查询,在“设计网格”中指定查询要用到的字段及查询要求,8.4 Access 2003,单击“视图”或“执行”,可浏览查询结果,保存查询,选择查询,例:查询理学院北京来的学生的基本情况。,8.4 Access 2003,8.4 Access 2003,选择查询,例:查询所有选课学生的成绩。,学生(学号,姓名,院系,年级,统招,生源,),成绩表(学号,课号,成绩),可基于表间联系进行多表查询,课程表
30、(课号,课程名称,学分,学时,教师),8.4 Access 2003,选择查询,例:查询成绩大于85分的学生,显示学生的学号、姓名、院系、年级。,条件查询,8.4 Access 2003,选择查询,条件查询,如何表达条件?,8.4 Access 2003,可为统计分析需求进行计算查询,选择查询,在“总计”行中为字段设置统计函数,8.4 Access 2003,常用函数:分组(Group By)计数(Count)总计(Sum)平均值(Avg)最小值(Min)最大值(Max),计算查询,选择查询,例:统计理学院选课人数。,8.4 Access 2003,参数查询:参数查询在执行某个查询时能够显示对
31、话框来提示用户输入查询准则,系统以该准则作为查询条件,将查询结果以指定的形式显示出来。,在作为参数的字段的“条件”行中输入提示。提示写在“”中,且需与字段名不同。,选择查询,8.4 Access 2003,参数查询:,选择查询,例:按院系查看学生学习成绩的情况。查询某院系成绩为60到100之间的学生情况。,8.4 Access 2003,查询结果的字段被分成“行标题”和“列标题”,并在行列交叉处安排与“行、列标题”出自同一记录的某个字段的取值。便于查询结果的浏览,交叉表查询,8.4 Access 2003,交叉表查询,“新建”,“交叉表查询向导”,8.4 Access 2003,各学院各年级人
32、数统计,交叉表查询,8.4 Access 2003,能更改原表中的记录,其基础是选择查询。包括:生成表查询、删除查询、追加查询、更新查询。,操作查询,8.4 Access 2003,生成表查询:由查询结果生成新表,给出生成表表名,操作查询,例:将读者借书情况生成一个新表,包括学号、姓名和书名。,预览查询结果,执行查询,得到新表,8.4 Access 2003,From:对哪个表进行删除操作,删除查询:从原表中删除由查询得到的记录,操作查询,例:删除读者信息表中挂失的读者记录。,Where:被删除记录需满足的条件,“执行”删除查询前一定要先预览,8.4 Access 2003,更新查询:按要求更
33、改由查询得到的记录,给出查询条件及更新表达式。,操作查询,例:将所有图书的单价下调10%,“执行”更新查询前一定要先预览,8.4 Access 2003,追加查询:将查询结果添加到指定表中,给出被添加记录的表,操作查询,例:将新读者表中的记录追加到读者表中。,8.4 Access 2003,SQL是结构化的查询语言(SQL,Structured Query Language),包含DDL、DML、DCL三类。按照ANSI(美国国家标准协会)的规定,SQL被作为RDBMS的标准语言,该语言提供查询、操纵、定义和控制4个方面功能,完成这些功能的核心控制只用了9个动词。,8.5 SQL简介,SQL查
34、询语句的一般格式:SELECT ALL|DISTINCT,.FROM,.WHERE GROUP BY HAVING ORDER BY ASC|DESC;,:必选项:可选项|:或者,说明 SELECT:构成查询结果的属性列 FROM:作查询的表 WHERE:查询条件,8.5 SQL简介,设有如下关系表:学生(学号,姓名,院系,年级,统招,生源,入学时间,备注)课程表(课号,课程名称,学分,学时,教师)成绩表(学号,课号,成绩),8.5 SQL简介,单表查询,例:查询学生的基本信息,显示学号、姓名和年级。,SELECT 学号,姓名,年级 FROM 学生;,8.5 SQL简介,通过WHERE子句引导
35、条件表达式,例:查询理学院学生的所有信息。,条件查询,SELECT*FROM 学生基本信息表WHERE 院系=理学;,8.5 SQL简介,SQL中的运算符,1.算术运算符:+,-,*,/2.逻辑运算符:与 AND、或 OR,非NOT3.比较运算符:=,!=,=,=4.判断是否是集合的成员:IN,NOT IN,ANY,ALL5.判断是否满足指定的区间:BETWEEN AND 6.模糊匹配:LIKE7.判断是否空值:IS NOT NULL,条件查询,8.5 SQL简介,例:查询成绩在85到100之间的学生的学号及课号。,select 学号,课号 from 成绩表where 成绩 between 85 and 100;,条件查询,8.5 SQL简介,例:查询学号为2008304201001、2009104201001学生的课号及成绩信息。,select*from 成绩表where 学号 in(2008304201001,2009104201001);,条件查询,利用“IN”操作可以查询属性值属于指定集合的元组。,8.5 SQL简介,例:查询姓名为王子的学生的成绩。,SELECT 成绩FROM 学生基本信息表,成绩表WHERE 学生基本信息表.学号=成绩表.学号 AND 姓名=“王子”,连接查询,8.5 SQL简介,
链接地址:https://www.31ppt.com/p-5955760.html