第五章数据库技术基础_第1页
第五章数据库技术基础_第2页
第五章数据库技术基础_第3页
第五章数据库技术基础_第4页
第五章数据库技术基础_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、整理ppt5.1.1 数据库技术的产生和发展1.人工管理阶段 2.文件系统阶段 3.数据库系统阶段 人工管理阶段的特点是:数据不保存、数据无专门软件进行管理、数据不共享(冗余度大)、数据不具有独立性(完全依赖于程序)、数据无结构。文件阶段的数据管理特点是:数据可以长期保存、由文件系统管理数据、程序与数据有一定的独立性、数据共享性差(冗余度大)、数据独立性差、记录内部有结构(但整体无结构)。(1) 数据结构化(2) 数据共享性高、冗余度小、易扩充(3) 数据独立性高(4) 统一的数据管理和控制数据的安全性(security)保护数据的完整性(integrity)控制数据库恢复(recovery)

2、并发(concurrency)控制整理ppt1. 数据库2. 数据库管理系统3. 数据库系统(DataBase System,简记为DBS)数据库(DataBase,DB)是存储在计算机辅助存储器中的,有组织的,可共享的相关数据集合。数据库具有如下特性:(1)据库是具有逻辑关系和确定意义的数据集合。(2)数据库是针对明确的应用目标而设计、建立和加载的。每个数据库都具有一组用户,并为这些用户的应用需求服务。(3)个数据库反映了客观事物的某些方面,而且需要与客观事物的状态始终保持一致。数据库管理系统(DataBase Management System,DBMS)是对数据库进行管理的系统软件,它的

3、职能是有效地组织和存储数据,获取和管理数据,接受和完成用户提出的各种数据访问请求。数据库系统是指在计算机系统中引入数据库后构成的系统。一般由数据库、操作系统、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。整理ppt整理ppt模型是现实世界特征的模拟和抽象。数据模型(Data Model)也是一种模型,它是实现数据特征的抽象。数据库系统的核心是数据库,数据库是根据数据模型建立的,因而数据模型是数据库系统的基础。目前,数据库领域中,最常用的数据模型有:层次模型、网状模型和关系模型。整理ppt1. 层次模型(hierarchical model)层次模型是数据库中最早出现的数据模

4、型,层次数据库系统采用层次模型作为数据的组织方式。用树型(层次)结构表示实体类型以及实体间的联系是层次模型的主要特征。2. 网状模型(network model)在现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示非树形结构是很不直接的,网状模型则可以克服这一弊端。整理ppt3. 关系模型(relational model)关系模型是目前最常用的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为关系数据库技术奠定了理论基础.整理p

5、pt(1)二维表在关系模型中,数据在用户观点下的逻辑结构就是一张二维表。每一张二维表称为一个关系(relation),二维表名就是关系名。表中的第一行通常称为属性名,表中的每一个元组和属性都是不可再分的,且元组的次序是无关紧要的。整理ppt常用的关系术语如下:关系 关系就是一张二维表,一个关系对应一个二维表。关系模式 对关系的描述称为关系模式,其格式为:关系名(属性名1,属性名2,属性名n)一个关系模式对应一个关系的结构,它是命名的属性集合。如:关系Students的关系模式为:(学号,姓名,性别,出生年月,专业)记录 二维表中每一行称为一个记录,或称为一个元组。字段 二维表中每一列称为一个字

6、段,或称为一个属性。值域 即属性的取值范围。整理ppt主关键字 在一个关系中有这样一个或几个字段,它(们)的值可以唯一地标识一条记录,称之为主关键字(Key)。例如,在学生关系中,学号就是主关键字。主关键字简称主键。主键的取值不能重复,如姓名一般就不能作为主键,因为姓名有可能相同。主键可以是一个字段,也可以是多个字段的组合。外部关键字 如果一个表中的字段或者字段集不是本表的主关键字,而是另一个表的关键字,称其为本表的外部关键字。通过外部关键字可建立表与表之间的联系。外部关键字也称为外键。整理ppt整理ppt基本表:基本表就是关系模型中实际存在的表。 查询表:查询表是查询结果表,或查询中生成的临

7、时表。 视图:视图是由基本表或其它视图导出的表。整理pptMicrosoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个关系数据库管理系统。Access有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计。本节将以Access2010为例,介绍数据库的建立及维护方法。整理ppt在Access中,一个数据库包含的对象有表、查询、窗体、报表、宏、模块等,如图所示。所有对象都存放在同一个数据库文件(.accdb)中。整理ppt在Access中,表是数据库的核心与基础,存放着数据库中的全部数据信息。报表、查询和窗体

8、都从数据表中获得数据信息,以实现用户某一特定的需要,例如查找、统计、打印等。窗体可以提供一种良好的用户操作界面,通过它可以直接或间接地调用宏或模块,并执行查询、打印、预览、计算等操作,甚至对表进行编辑修改操作整理ppt1. 表表是数据库中最基本的对象,没有表就没有其它对象。从本质上看,查询是对表中数据的查询,窗体和报表是对表中数据的维护。一个数据库中可能有多个表,表与表之间通常是有关系的,可以通过相关的字段建立关联。表及其表之间的关系构成数据库的核心。整理ppt2. 查询查询就是从一个或多个表(或查询)中选择一部分数据,供用户查看。查询可以从表中查询,也可以从另一个查询(子查询)的结果中再查询

9、。查询作为数据库的一个对象保存后,就可以作为窗体、报表甚至另一个查询的数据库。整理ppt3. 窗体窗体是用户与数据库交互的界面,是数据库维护的一种最灵活的方式。窗体的数据源可以是表,也可以是查询。Access的窗体可以看作是一个容器,在其中可以放置标签、文本框、列表框等控件来显示表(或查询)中的数据。整理ppt4. 报表Access中的报表是一种按指定的样式格式化的数据形式,可以浏览和打印。与窗体一样,报表的数据源可以是一个或多个表,也可以是查询。在Access中,不仅可以将一个或多个表(或查询)中的数据组织或报表,还可以在报表中进行计算,如求和、求平均值等。整理ppt5. 其它对象除了其它对

10、象,Access还有宏、模块。宏是若干个操作(打开表,SQL查询)的组合,可用来简化一些经常性的操作。在模块中,用户可以用VBA语言编写函数过程或子过程。通过创建页(Web),可以把数据库中的数据发布到Internet上。整理pptAccess数据库是所有相关对象的集合,包括表、查询、窗体、报表、宏等。每一个对象都是数据库的一个组成部分,其中表是数据库的基础,它保存着数据库中的全部数据,而其它对象只是Access提供的工具,用于对数据库进行维护和管理,所以,设计一个数据库的关键就集中体现在建立基本表上。整理ppt要建立基本表,首先必须确定表的结构,即确定表中各字段的名称、类型、属性等。整理pp

11、t常见的字段属性有8种。字段大小:指定文本型字段和数字型字段的长度。文本型字段长度为1255个字符,数字型字段的长度由数据类型决定。格式:指定字段的数据显示格式。例如,可以选择以“月/日/年”格式显示日期。小数位数:指定小数的位数(只用于数字型和货币型数据)。标题:用于在窗体和报表中取代字段的名称。默认值:添加新记录时,自动加入到字段中的值。有效性规则:字段的有效性规则用于检查字段中的输入值是否符合要求。有效性文本:当数据不符合有效性规则时所显示的信息。索引:可以用来确定某字段是否为索引,索引可以加快对索引字段的查询、排序、分组等操作。整理ppt整理pptAccess2010提供了创建空白数据

12、库和用模版创建数据库的方法。下面以一个实例说明创建数据库及建立表的方法。例1:创建一个“学生.accdb”数据库,并在该数据库中创建表Students。首先确定表的结构,如表5.6。启动Access,建立一个Access空白数据库,输入文件名:学生.accdb。如图5.4所示。选择“设计”视图,按照表5.6给出的结构输入字段信息。如图5.5所示。定义“学号”为主键。保存表。输入表的名称:Students。至此,表Students建立完成整理ppt1. 向表中输入数据选定基本表(Students),进入数据表视图,如图5.6所示,输入编辑数据。2. 表结构的修改选定基本表(Students),进

13、入如图5.5所示的设计视图,修改表结构。可以修改字段名称、字段类型和字段属性,可以对字段进行插入、删除、移动等操作,还可以重新设置主键。整理ppt3. 数据的导出和导入打开“外部数据”菜单,从“导出栏”中单击导出类型文件图标,输入导出后的文件名。如图5.7所示。可以将表中数据以另一种文件格式(如文本文件、Excel格式等)保存在磁盘上。导入操作是导出操作的逆操作,打开“外部数据”菜单,从“导入栏”中单击相应类型的文件图标,从打开的对话框中找到要导入的文件。也可以在数据表名上单击鼠标右键,从弹出的快捷菜单中选择“导入”或“导出”命令,来完成数据的导入或导出操作。整理ppt4. 表的复制、删除和更

14、名这些操作类似于Windows中对文件的操作,在数据表名上单击鼠标右键,从弹出的快捷菜单中选择“复制”、“删除”或“重命名”命令,来完成表的复制、删除和更名操作。需要注意的是:在操作前,必须先保存相关的表。整理ppt数据查询是数据库的核心操作。实际上,不论采用何种工具,对于绝大多数的查询,Access都会在后台构造等效的SELECT语句,执行查询实质上就是运行了相应的SELECT语句。整理ppt查询主要有以下基本功能:查找和分析数据追加、更改、删除数据实现记录筛选、排序、汇总和计算作为窗体、报表和数据页的数据源将一个或多个表中获取的数据实现连接在Access中,有5种查询方式:选择查询、操作查

15、询、交叉表查询、参数查询和SQL查询。Access中,主要使用“查询设计器”和“查询向导”来创建查询。下面通过两个实例简单说明在Access中创建选择查询的方法。整理ppt例2:使用向导查询所有学生的基本情况。例3:查询平均成绩在75分以上的所有学生的学号、姓名和平均成绩。整理ppt1. 运算符运算符是表示实现某种运算的符号。Access的运算符分4类:算术运算符、字符运算符、关系运算符和逻辑运算符。算术运算符:+、-、*、/、(乘方)、(整除)、MOD(取余数)字符运算符:&关系运算符:、=、 Between、Like逻辑运算符:Not、And、Or整理ppt说明:在表达式中,字符型

16、常数用英文的“双引号”或“单引号”引住,日期型常数用“#”引住。如:”a123”、#04/10/2013#。MOD 是取余数运算符,如: 5 MOD 3 的结果是2。Between 运算符的使用格式为: Between And Between用来检测的值是否介于和之间,若在,则结果为True,否则,结果为False。如:3 Between 1 And 5 的值为True,3 Between 1 And 2 的值为False。”ABC” Between “A” And “B” 的结果为True。Like 通常与?、*、#等通配符结合使用,主要用于模糊查询。其中:“?”表示任何一个字符,“*”表示

17、0个或多个字符,“#”表示任何一个数字(0-9)。例如:查找姓“李”的学生,则表达式为:姓名 Like “李*”。& 用于连接两个字符串。如:”ABC” & “123” 的结果为:”ABC123”。整理ppt2. 常用内部函数Access提供了大量的函数供用户使用。下面列举几个常用函数,其它函数的用法请参阅Access的帮助信息。Date() 返回系统日期。如:Date(),返回结果为:系统当前的日期。Year() 返回年份。如:Year(#05/01/2013#),返回结果为:2013。AVG(列名) 计算某一列的平均值。Count(*) 统计记录的个数。Count(列名)

18、统计某一列值的平均值。SUM(列名) 计算某一列的总和。整理ppt3. 表达式和表达式生成器在Access中,表达式由变量(包括字段名)、常量、运算符、函数和圆括号组成。表达式通过运算后有一个结果,称为表达式的值,运算结果的类型由数据和运算符共同决定。表达式主要应用在以下3个方面:查询的SQL视图,要求表达式必须输入完整。这是表达式最主要的使用场合。查询的设计视图,这也是表达式使用较多的地方。在使用时,表达式最左边的字段名可以省略。字段的有效性规则,在设计表时,可以为字段输入一个表达式(有效性规则),用来指定该字段可接受的数据范围。例如:如果为“成绩”字段输入一个表达式:成绩Between 0

19、 And 100,则“成绩”字段只能接受0-100之间的分数。需要注意的是,字段名要加,Between左边的成绩可以省略不写。整理ppt例 4:查询显示学生的学号、姓名、性别、年龄信息。整理ppt结构化查询语言SQL是操作关系数据库的工业标准语言。在SQL中,常用的语句有两类:一是数据查询语句SELECT;二是数据更新语句,如INSERT、UPDATE、DELETE等。在Access中,SQL语句一般是在某个查询中输入的。通常是建立一个空查询输入或修改已有的查询。选择一个查询,选择“视图”工具的“SQL视图”,可看到查询中的SQL语句。整理ppt在SQL中,INSERT语句用于插入记录,其语法

20、格式有两种,分别为:INSERT INTO 表名 (字段1,字段2,字段n) VALUES (常量1,常量2,常量n)INSERT INTO 表名 (字段1,字段2,字段n) VALUES 子查询第一种格式是把一条记录插入到指定的表中,第二种格式是把某个查询的结果插入指定的表中。自动编号(AutoNumber)字段的值不能插入,不能出现在INSERT语句中,因为它的值是自动生成的,否则出错。除了字段编号外,如果表中某个字段在INSERT中没有出现,则这些字段上的值取空值(NULL)。如果新记录在每一个字段上都有值,则字段名列表连同两边的括号可以省略。整理ppt例5 向表Students中插入记

21、录:20130040009,赵宇,男,1995年10月28日,化学SQL语句如下:INSERT INTO Students(学号,姓名,性别,出生年月,专业) VALUES (20130040009,赵宇,男,#1995/10/28#,化学);整理ppt在SQL中,DELETE语句用于删除记录。其语法格式为:DELETE FROM 表 WHERE 条件DELETE语句从表中删除满足条件的记录。如果WHERE子句省略,则删除表中所有记录。整理ppt例6 删除表Students中学号为009的记录。DELETE * FROM Students WHERE 学号=20130040009;例7 删除表

22、Scores中成绩低于60分的记录。DELETE FROM Scores WHERE 成绩60整理ppt在SQL中,UPDATE语句用于更新记录。其语法格式为:UPDATE 表 SET 字段1=表达式1,字段n=表达式n WHERE 条件UPDATE语句修改指定表中满足条件的记录,对这些记录按表达式的值修改相应字段的值。如果省略WHERE子句,则修改表中所有记录。整理ppt例8 将表Students中学生“张三”的姓名改为“张晓”。UPDATE Students SET 姓名=“张晓”WHERE 姓名=“张三”例9 将表Scores中成绩低于60分的学生成绩加10分。UPDATA Scores

23、 SET 成绩=成绩+10 WHERE 成绩60需要注意的是UPDATE语句一次只能对一个表进行修改,这就有可能破坏数据库中数据的一致性。例如,如果修改了表Students中的学号,而表Scores没有相应的调整,则两个表之间就存在数据一致性问题。解决方法是在两个表中分别执行UPDATE语句。整理pptSQL中用于数据查询的语句是SELECT语句。该语句用途广泛,应用灵活,功能丰富。SELECT语句的常用语法格式为: SELECTALL|DISTINCT *|talbe.*|table.field1,table.field2, FROM 表(或视图) WHERE 条件表达式 GROUP BY

24、HAVING ORDER BY WITH OWNERACCESS OPTION 整理ppt说明: 用中括号()括起来的部分表示是可选的,用大括号()括起来的部分是表示必须从中选择其中的一个。 整个语句的功能是:根据WHERE子句中的条件表达式,从FROM子句指定的表或查询中找出满足条件的记录,再按SELECT子句中的目标列显示数据。FROM子句指定了SELECT语句中字段的来源。FROM子句后面是包含一个或多个的表达式(由逗号分开),其中的表达式可为单一表名称、已保存的查询等。谓词 ALL表示,返回满足SQL语句条件的所有记录。如果没有指明这个谓词,默认为ALL;谓词DISTINCT表示,如果

25、有多个记录的选择字段的数据相同,只返回一个。 GROUP BY和HAVING子句用来对数据进行汇总。GROUP BY子句指明了按照哪几个字段来分组,而将记录分组后,用HAVING子句过滤这些记录。ORDER BY子句按一个或多个(最多16个)字段排序查询结果,可以是升序(ASC)也可以是降序(DESC),缺省是升序。ORDER BY子句通常放在SQL语句的最后。如果ORDER BY子句中定义了多个字段,则按照字段的先后顺序排序。整理ppt例10:语句1:SELECT 姓名,学号 FROM Students 表示从表Students中选择了姓名和学号两列数据,进行显示;语句2:SELECT *

26、FROM Students 表示从表Students中选择所有的字段;语句3:SELECT DISTINCT 专业 FROM Students 表示查询所有专业,查询结果不重复显示相同专业,如果去掉DISTINCT,则查询结果中包括重复的专业名。整理ppt例11:使用统计函数查询学生人数。SELECT COUNT(*) AS 人数 FROM Students这里的COUNT(*)可以改为COUNT(学号),因为学号是惟一的,一个学号对应一条记录。如果改为COUNT(专业),则查询的是专业数。AS子句用来指定输出列的名称。例12:使用统计函数,查询学生的人数和平均年龄。出生年月是日期/时间型字段

27、,使用Year函数可以得到其中的年份,Date( )是系统日期函数。SELECT COUNT(*) AS 人数,AVG(YEAR(DATE()-YEAR(出生年月) AS 平均年龄FROM Students整理ppt例13:查询所有非汉语专业学生的学号、姓名和年龄。SELECT 学号,姓名,YEAR(DATE()-YEAR(出生年月) AS 年龄 FROM StudentsWHERE 专业 汉语例14:查询1994年(包括1994年)以前出生的男生姓名和出生年月。SELECT 姓名,出生年月 FROM StudentsWHERE 出生年月 =75 GROUP BY 学号 HAVING COUN

28、T(*) = 2这里使用了COUNT(*)函数,统计每一组的人数。WHERE子句在分组统计之前选择记录,HAVING 短语在分组统计之后进行过滤。整理ppt例19:查询所有学生的学号、姓名、课程和成绩。分析表Students和Scores可以知道,需要的数据分别在这两个表中,因此需要把它们连接起来。连接的条件为Students.学号=Scores.学号,连接后形成一张新的临时表,临时表中包括两个表中学号相同的记录。完成此查询的语句为:SELECT Students.学号,Students.姓名,Scores.课程,Scores.成绩FROM Students,ScoresWHERE Stude

29、nts.学号=Scores.学号整理ppt上述语句可以改写为:SELECT Students.学号,Students.姓名,Scores.课程,Scores.成绩FROM Students INNER JOIN Scores ON Students.学号=Scores.学号上述“FROM Students INNER JOIN Scores ON Students.学号=Scores.学号”子句表示查询数据来自一个临时表,该临时表是根据“连接条件(Students.学号=Scores.学号)”把表Students和Scores连接起来后形成的。整理ppt例20:查询选修了“高等数学”课程的学生

30、的学号、姓名和成绩。SELECT Students.学号,Students.姓名,Scores.成绩FROM Students,ScoresWHERE Students.学号=Scores.学号 AND Scores.课程=高等数学上述语句可以改写为:SELECT Students.学号,Students.姓名,Scores.课程,Scores.成绩FROM Students INNER JOIN Scores ON Students.学号=Scores.学号WHERE Scores.课程=高等数学整理ppt例21:查询每个学生的学号、姓名和平均成绩。用条件“Students.学号=Score

31、s.学号”进行连接,然后用字段“Students.学号”(也可以用“Scores.学号”)进行分组,最后进行选择。SELECT Students.学号,First(Students.姓名) AS 姓名,AVG(Scores.成绩) AS 平均成绩FROM Students,ScoresWHERE Students.学号=Scores.学号GROUP BY Students.学号上述语句可以改写为:SELECT Students.学号,First(Students.姓名) AS 姓名,AVG(Scores.成绩) AS 平均成绩FROM Students INNER JOIN Scores ON

32、 Students.学号=Scores.学号GROUP BY Students.学号整理ppt窗体是Access数据库的重要对象,它主要用于设计输入和维护表中数据的人机交互界面。窗体的样式主要由控件的布局决定,在窗体中可以放置各种各样的控件,用于对表中记录进行添加、删除和修改等操作,也可以接受用户的输入或选择,并根据用户提供的信息执行相应的操作。报表也是Access数据库额重要对象,主要用来把表、查询甚至窗体中的数据生成报表,供打印输出使用。报表可以显示、汇总数据,按用户的需求打印输出格式化的数据。通过报表,还可以对数据进行分组、计算和统计,并将其转换成PDF、XPS等文件格式。整理ppt例22:创建如图5.16所示的窗体,用于维护表Scores。打开表Scores,单击“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论