Presentation is loading. Please wait.

Presentation is loading. Please wait.

第四章 数据库技术基础.

Similar presentations


Presentation on theme: "第四章 数据库技术基础."— Presentation transcript:

1 第四章 数据库技术基础

2 第四章 数据库技术基础 4.1 数据库系统概述 4.2 数据库和数据表的创建 4.3 数据表的基本操作 4.4 查询 4.5 窗体
第四章 数据库技术基础 4.1 数据库系统概述 4.2 数据库和数据表的创建 4.3 数据表的基本操作 4.4 查询 4.5 窗体 4.6 报表的基本操作 4.7 Access与其他软件之间的数据共享 2018/11/15

3 4.1 数据库系统概述 数据库基本概念 数据模型简述 2018/11/15

4 数据库基本概念 1. 数据(Data) 是存储在某种媒体上能够识别的物理符号,其形式是多种多样的,可以是如数字、文字、字母及其他特殊字符组成的文本形式数据,也可以是图形、图像、动画、影像、声音等多媒体数据。 2.数据库(DataBase,简称DB) 是指长期保存在计算机外存上的、有结构的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的独立性和易扩展性,并可为各种用户共享。 2018/11/15

5 4.1.1 数据库基本概念 3.数据库管理系统(DataBase Management System 简称DBMS)
数据库基本概念 3.数据库管理系统(DataBase Management System 简称DBMS) 是指数据库系统中对数据库进行管理的系统软件。它是数据库系统的核心,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。 2018/11/15

6 4.1.1 数据库基本概念 4.数据库系统(DataBase System 简称DBS)
数据库基本概念 4.数据库系统(DataBase System 简称DBS) 指使用数据库后的计算机系统,用来实现数据的组织、存储、处理和数据共享。一个完整的数据库系统由硬件、数据库、数据库管理系统、操作系统、应用程序、数据库管理员等组成 。 5.数据库应用系统(DBAS DataBase Application System) 利用数据库管理系统而开发的各种应用软件,如各种学生档案或成绩管理系统、工资管理系统、人事管理系统、财务管理系统等等。 2018/11/15

7 数据模型简述 数据(data)是描述事物的符号记录。模型(Model)是现实世界的抽象。数据模型(Data Model)是数据特征的抽象,通俗地讲就是数据库的组织形式。 三种常用的数据模型:层次模型、网状模型、关系模型。 2018/11/15

8 数据模型简述 1.关系模型简介 在关系模型中,数据的逻辑结构是一张二维表,每个关系有一个关系名。在Access 2003中,一个关系就是一个表对象,如图511中的“学生”数据表就是一个关系。 在数据库中,满足下列条件的二维表称为关系模型: (1)每一列中的分量是类型相同的数据; (2)行、列的次序可以是任意的; (3)表中的分量是不可再分割的最小数据项,即表中不允许有子表; (4)表中的任意两行不能完全相同。 2018/11/15

9 数据模型简述 如下面的“学生”信息数据表就是一个关系模型的数据表。 图4-1 “学生”数据表 2018/11/15

10 数据模型简述 2. 关系模型中的相关术语 (1)属性(字段):二维表中垂直方向的列称为属性。在Access 2003中,被称为字段。字段名也就是字段的名称,也称为属性名,如图5-1中的“学号”、“姓名”等就是“学生”表中的字段。 (2)元组(记录):二维表中水平方向的行称为元组。在Access 2003中,被称为记录,如图4-1中“学生”表中共有13条记录。 (3)数据项:也称为分量,是某条记录中的一个字段值,如“0001”即为“学生”表中第一条记录的“学号”字段的取值,也就是一个数据项。 2018/11/15

11 4.2 数据库和数据表的创建 4.2.1 Access2003简介 4.2.2 Access2003中数据库的7种对象
2018/11/15

12 4.2.1 Access 2003简介 Access2003是微软公司的办公套件Office中包含的一种小型关系型数据库管理系统,用于构造数据库应用程序并对数据库实行统一管理。 Access2003可以高效地完成各种类型的中小型数据库的管理工作,如经济、财务、金融、行政、审计、统计、教育等领域。 用户通过Access2003提供的开发环境及工具可以方便地构建数据库应用程序,大部分工作都可以通过可视化的操作来完成,无需编写复杂的程序代码,所以比较适合非计算机专业的人员开发数据库管理类的应用软件。 2018/11/15

13 4.2.2 Access2003中数据库的7种对象 1. 表(Table)对象
表是一种有关特定实体的数据的集合,表以行(称为记录)列(称为字段)格式组织数据。 2. 查询(Query)对象 查询是数据库的基本操作,查询是数据库设计目的的体现。也可以将查询作为窗体和报表的数据源。 3. 窗体(Form)对象 窗体是用户输入数据和执行查询等操作的界面,是Access数据库对象中最具灵活性的一个对象。 4. 报表(Report)对象 报表是以打印的格式表现用户数据的一种很有效的方式。用户可以在报表中控制每个对象的大小和外观,并可以按照用户所需的方式选择所需显示的信息以便查看或打印。 2018/11/15

14 宏是指一个或多个操作的集合,其中每个操作可以实现特定的功能,例如打开某个窗体或打印某个报表。通过使用宏可以自动完成某些普通的任务。
5. 宏(Marco)对象 宏是指一个或多个操作的集合,其中每个操作可以实现特定的功能,例如打开某个窗体或打印某个报表。通过使用宏可以自动完成某些普通的任务。 6. 模块(Module)对象 模块是用Access提供的VBA(Visual Basic for Applications)语言编写的程序,通常与窗体、报表等对象结合起来组成完整的应用程序。模块有两种基本类型:类模块和标准模块。 7.页(Page)对象 页对象是Access 2003提供的一种特殊类型的Web页,用户可以在此Web页中查看、修改 Access数据库中的数据。在一定程度上集成了Internet Explorer浏览器和FrontPage编辑器的功能。 2018/11/15

15 Access2003中数据库的7种对象   总体来说,在一个数据库文件中,“表”用来存储原始数据,是其它对象的数据源,“查询”用来对数据进行各种查询,“窗体”和“报表”是用不同的方式显示或获取数据,而“宏”和“模块”是通过程序代码实现数据的自动操作。 2018/11/15

16 4.2.3 Access2003中数据库和数据表的创建 1. 设计数据库
设计数据库一般要经过分析建立数据库的目的、确定数据库中应包含的数据表、确定数据表中应包含的字段、确定主关键字段以及确定数据表之间的关系等步骤。 2018/11/15

17 4.2.3 Access2003中数据库的创建 2)确定该数据库中需要包含的表
一个数据库中要处理的数据很多,不可能将所有的数据存放在同一个表中,确定数据库中需要的表就是分析将收集到的信息使用几个表进行保存。 在确定表时应保证每个表中只包含关于一个主题的信息,这样,每个主题的信息可以独立地维护。例如,分别将学生信息、课程信息放在不同的表中,这样对某一类信息的修改不会影响到其他的信息。 2018/11/15

18 4.2.3 Access2003中数据库的创建 3)确定表中需要的字段(字段类型p144) 确定每个表中的字段应遵循下面的原则:
①每个字段都只围绕一个主题。如:学号、姓名等。 ②避免表间出现重复字段。在表中除了为建立表间关系而保留的外部关键字外,尽量避免在多个表之中同时存在重复的字段,这样做一是为了尽量减少数据的冗余,二是防止因插入、删除、更新数据时造成数据的不一致。 ③字段表示的是原子数据。字段不要包含可以经过计算或推导得出的数据,也不要包含可以由基本数据组合而得到的数据。像学生的总分、平均分等字段就不要出现在数据表中。 ④字段按要求命名。为字段命名时,应符合所用的数据库管理系统软件对字段名的命名规则。 2018/11/15

19 举例 【例4-2】用“设计视图”的方法创建“学生”数据表。 2018/11/15

20 4.2.3 Access2003中数据库的创建 4)明确有唯一值的主关键字
二维表中的某个属性,若它的值唯一地标识了一个元组,则称该属性为关键字。若一个关系有多个关键字,则选定其中一个为主关键字,这个属性称为主属性。 确定表中的主键,一个目的是为了保证实体的完整性,即主键的值不允许是空值或重复值,另一个目的是在不同的表之间建立关系。 在“学生”表中学号是主键,在“课程”表中课号是主键,在“选课”表中主键是学号与课号的组合。 2018/11/15

21 举例 【例4-3】定义学生表中的主键。 2018/11/15

22 4.2.3 Access2003中数据库的创建 5)优化设计 经过以上的设计后,还应该对数据库中的表、表中包含的字段以及表之间的关系作进一步的分析、优化,主要从以下几个方面进行检查。 ①这些字段准确吗?有没有漏掉某些字段?有没有多余字段? ②多个表中是否有重复没用的字段? ③各个表中的主关键字段设置的是否合适? 2018/11/15

23 4.2.3 Access2003中数据库的创建 7)输入数据并新建其他数据库对象。 【例4-4】在“学生”表中输入记录。
2018/11/15

24 4.3 数据表的基本操作 4.3.1 数据表的两种视图 4.3.2 数据表结构的修改 4.3.3 数据表中记录的添加
4.3 数据表的基本操作 数据表的两种视图 数据表结构的修改 数据表中记录的添加 数据表中记录的编辑 表间关系 2018/11/15

25 数据表的两种视图 数据表的组成: 结构 记录 两种视图方式: 设计视图 数据表视图 2018/11/15

26 4.3.2 数据表结构的修改 修改字段名称 插入字段 删除字段
数据表结构的修改 修改字段名称 插入字段 删除字段 【例4-5】在学生表中的出生日期和学院字段之间插入一个字段“身高”,在所有字段的后面添加一个字段“简历”。 2018/11/15

27 数据表中记录的添加 “插入/新记录” 2018/11/15

28 数据表中记录的编辑 记录的修改 记录的删除 记录的查找 记录的替换 2018/11/15

29 表间关系 1. 什么是关系 关系是在两个表的公共字段之间创建的一种连接,它是通过匹配关键字字段中的数据来执行的。关键字字段通常是在两个表中使用相同名称的字段。 在大多数情况下,这些用于匹配的字段都是表中的主关键字,它对于每一个记录提供唯一的标识符。 2018/11/15

30 表间关系的建立 2. 关系的分类 根据两个表中记录之间的匹配情况,可以将表之间的关系分为一对一、一对多和多对多三种。假设现有两个表A和B,它们之间可能的关系有: l)一对一的关系:对于表A中的每一条记录在表B中只可以找到一条与之相对应的记录,反之亦然。 如班长和班级之间的关系。 2018/11/15

31 表间关系的建立 2)一对多的关系:对于表A中的每一条记录在表B中可以找到多条与之相对应的记录,对于表B中的每一条记录在表A中只可以找到一条与之相对应的记录。 如班级和学生之间的关系。 3)多对多的关系:对于表A中的每一条记录在表B中可以找到多条与之相对应的记录,反之亦然。 如“学生”和“课程” 之间的关系。 2018/11/15

32 表间关系的建立 3. 定义表间关系 【例4-6】定义学生、课程、选课三表之间的关系。 2018/11/15

33 表间关系的建立 4. 编辑和删除关系 1)编辑已有的关系 2)删除已有的关系 2018/11/15

34 4.4 查 询 4.4.1 Access2003中查询的作用 4.4.2 Access2003中查询的创建
4.4 查 询 Access2003中查询的作用 Access2003中查询的创建 使用SQL语言创建查询 其他SQL命令 2018/11/15

35 Access2003中查询的作用 在Access2003中对数据的计算主要通过查询来完成,查询是一种以表或查询为数据来源的再生表,是动态的数据集合。 查询的主要功能如下: (1)用一个或多个表或查询中的记录创建一个新的满足某一特定需求的数据集。 (2)查看按特定顺序排序的多个表的数据。 (3)对选择的记录组进行多种类型计算。 (4)更新数据、删除数据源中的数据或给一个数据源表追加新记录。 (5)为窗体、报表提供数据来源。 2018/11/15

36 4.4.2 Access2003中查询的创建 方法一:使用查询设计视图; 方法二:使用查询向导;
方法三:使用SQL命令。(功能最强,最常用) 【例4-7】选择查询实例 用设计视图创建一个查询,查询中只包含“美术学院”的学生信息。 操作步骤如下: 2018/11/15

37 操作步骤 (1)打开查询设计器。 (2)添加表。 (3)选择字段。 (4)设置条件。 (5)保存查询。 (6)运行查询。
2018/11/15

38 使用SQL语言创建查询 1.SQL语言简介 结构化查询语言(Structured Query Language,SQL)是集数据定义、数据查询、数据操纵和数据控制功能于一体的关系数据库的标准语言。 2018/11/15

39 4.4.3 使用SQL语言创建查询 2. SQL查询语言的基本格式 (1)SQL查询语言的基本格式如下:
SELECT <字段名1>[,<字段名2>,…] FROM <数据源表或查询> [WHERE <条件表达式>] [GROUP BY<分组字段名>] [ORDRE BY <排序选项>[Asc][Desc]] (2)功能 从指定的基本表或查询中,创建一个由指定范围内、满足条件、按某字段分组、按某字段排序的由选择字段组成的新的记录集。 2018/11/15

40 4.4.3 使用SQL语言创建查询 (3)说明: ①select:命令动词,表示查询功能;
②<字段名1>[,<字段名2>,…]:表示查询结果中要包含的字段,当选择一个表中的所有字段时,字段名可以用*代替; ③FROM <数据源表或查询>:指明数据的来源是哪个表或查询,如果是两个以上的表,表名之间用逗号(,)分隔; 2018/11/15

41 ④WHERE <条件表达式>:指明查询结果应满足的条件;
⑤GROUP BY<分组字段名>:指明按照哪个字段对查询结果进行分组; ⑥ORDRE BY <排序选项>[Asc][Desc]:指明查询结果如何排序,选项Asc表示按照升序排列,Desc表示按照降序排列。 2018/11/15

42 在Access2003中使用SQL命令的操作步骤如下: (1)打开查询设计视图窗口;
(2)打开SQL视图编辑窗口:选择菜单项“视图”→“SQL视图”打开SQL视图编辑窗口; (3)输入SQL命令:在SQL视图编辑窗口中输入相应SQL命令; 2018/11/15

43 (5)执行查询:单击工具栏中的按钮 或者选择菜单项“查询”→“运行”,即可看到查询运行结果。
(4)保存查询:单击工具栏中的“保存”按钮 或者选择菜单项“文件”→“保存”,出现“另存为”对话框。在该对话框中输入相应查询名称,然后单击“确定”按钮。 (5)执行查询:单击工具栏中的按钮 或者选择菜单项“查询”→“运行”,即可看到查询运行结果。 2018/11/15

44 5.实例 【例4-9】使用SQL语言创建一个查询,要求结果中包含学生表中的所有信息。 SQL命令如下所示: SELECT * FROM 学生
2018/11/15

45 【例4-10】使用SQL语言创建一个查询,要求结果中只包含学号、姓名、出生日期三个字段。
SELECT 学号, 姓名, 出生日期 FROM 学生 2018/11/15

46 【例4-11】使用SQL语言创建一个查询,要求结果中只包含计算机学院学生的学号,姓名,学院三个字段的信息。
SELECT 学号, 姓名, 学院 FROM 学生 WHERE 学院="计算机学院" 2018/11/15

47 【例4-12】使用SQL语言创建一个查询,要求结果中只包含学生的学号,姓名,身高三个字段的信息,而且结果按身高的降序排列。
SELECT 学号, 姓名, 身高 FROM 学生 ORDER BY 身高 DESC 2018/11/15

48 【例4-13】使用SQL语言创建一个查询,要求计算学生表中男女同学的平均身高。 SQL命令如下所示:
SELECT 性别, Round(Avg(身高)*100)/100 AS 平均身高 FROM 学生 GROUP BY 性别 【说明】①利用函数avg(身高)计算身高的平均值; ② Round()函数进行四舍五入; ②使用选项“as 平均身高”指定结果中平均身高的字段名称,使显示结果更加通俗易懂。 2018/11/15

49 SELECT Count(性别) AS 男同学人数 FROM 学生 WHERE 性别=“男”
【例4-14】使用SQL语言创建一个查询,要求统计学生表中男同学的人数。 SQL命令如下所示: SELECT Count(性别) AS 男同学人数 FROM 学生 WHERE 性别=“男” 2018/11/15

50 【例4-15】使用SQL语言创建一个查询,要求结果中包含学号、姓名、性别、课名、成绩等字段信息。
SELECT 学生.学号, 姓名, 性别, 课名, 成绩 FROM 学生, 课程, 选课 WHERE 学生.学号=选课.学号 And 选课.课号=课程.课号 【说明】本题目查询涉及到三个表,属于多表查询,因为学号字段不只在一个表中存在,所以字段名前需要加表名,其它字段只在一个表中存在,所以前面不需要加表名。 2018/11/15

51 其他SQL命令 插入记录 删除记录 更新记录 2018/11/15

52 1. SQL插入记录命令insert (1)命令格式
Insert Into <表名> [(<字段名称1> [,<字段名称2>…])] Values (字段1的取值[,字段2的取值…]) (2)命令功能 在指定的表的末尾添加一条新记录,其值为Values后面的数据值。 (3)说明 当添加的新记录中每个字段都有值时,可以省略表名后面的字段名称。如果添加的新记录只是部分字段有值时,必须在表名后面指明相应字段名称。 2018/11/15

53 INSERT INTO 课程 values(“0010”,“文学欣赏”,32)
【例4-16】向课程表添加一条新记录,课程号为”0010”,课名为“文学欣赏”,课时为32。 SQL命令如下所示: INSERT INTO 课程 values(“0010”,“文学欣赏”,32) 2018/11/15

54 2. SQL删除记录命令delete (1)命令格式
Delete From <表名> [Where <条件表达式>] (2)命令功能 删除指定数据表中满足条件的记录。 (3)说明 如果省略条件,则会删除表中的所有记录,所以此命令应谨慎使用。 2018/11/15

55 SQL命令如下所示: 【例4-18】删除“学生”表的副表“学生2”中所有1988年以前出生的同学的记录。
Delete from 学生2 where 出生日期<# # 2018/11/15

56 3. SQL数据更新命令update (1)命令格式
Update <表名> Set <字段名称>=<表达式> [,<字段名称>=<表达式>][,…] [Where <条件>] (2)命令功能 更新指定表中满足条件的记录的指定字段的值。 (3)说明: 如果省略条件,则会对表中的所有记录操作。 2018/11/15

57 SQL命令如下所示: UPDATE 选课 SET 成绩 = 成绩+2 WHERE 学号="0001";
2018/11/15

58 4.5 窗体的基本操作 4.5.1 窗体的主要功能 4.5.2 窗体的快速创建 4.5.3 使用窗体设计器创建及修改窗体
4.5 窗体的基本操作 窗体的主要功能 4.5.2 窗体的快速创建 使用窗体设计器创建及修改窗体 2018/11/15

59 4.5.1 Access2003中窗体的主要作用 窗体的主要作用如下:
窗体可以显示数据、输人数据到表中或者修改表中的数据。窗体可以允许用户输入符合要求的数据,而禁止修改受到保护的数据。 切换面板窗体可以作为用户使用数据库应用系统的友好界面,可以打开其他窗体或报表。 在窗体中,可以通过自定义的对话框接受用户输人的信息,并根据输人的信息执行相应的操作。 窗体可以显示各种提示信息、错误信息等。 2018/11/15

60 4.5.2 窗体的快速创建 在Microsoft Access中可以使用设计视图或窗体向导两种方式来创建窗体。
设计视图是创建窗体或修改窗体的窗口。 【例4-20】使用“自动窗体”创建一个显示学生信息的窗体。 菜单:“插入/自动窗体” 2018/11/15

61 【例4-21】使用“文件另存为”的方法创建一个显示学生信息的窗体。 【例4-22】使用“窗体向导”的方法创建一个显示学生信息的窗体。
2018/11/15

62 4.5.3 使用窗体设计器创建及修改窗体 【例4-23】使用“窗体设计器”创建一个显示学生信息的窗体。
使用窗体设计器创建及修改窗体 【例4-23】使用“窗体设计器”创建一个显示学生信息的窗体。 【例4-24】使用“窗体设计器” 修改例4-23的生成的窗体,增加两个实现记录查找和删除的按钮。 2018/11/15

63 4.6 报表的基本操作 Access2003报表简介 报表的创建 2018/11/15

64 Access2003中报表简介 报表是以印刷的形式展示数据的一种方式,在Access2003中既可以在设计视图中创建报表,也可以使用报表向导创建。使用设计器的优点是方法灵活,可以创建任意的报表,缺点是比较麻烦。使用向导的优点是快速方便,缺点是不够灵活。下面通过一个实例讲解报表向导的使用方法。 2018/11/15

65 4.6.2 报表的创建 【例4-25】使用报表向导创建一个学生信息的报表。 具体操作步骤如下: (1)打开报表向导窗口。
报表的创建 【例4-25】使用报表向导创建一个学生信息的报表。 具体操作步骤如下: (1)打开报表向导窗口。 (2)选择数据源表及字段。 (3)选择分组字段。 (4)设置排序次序。 (5)选择报表布局。 (6)选择报表样式。 (7)指定报表标题。 2018/11/15

66 4.7 Access与其他软件之间的数据共享 数据导入 4.7.2 数据导出 2018/11/15

67 数据导入 【例4-26】将Excel文件“五年一班学生成绩.xls导入到数据库“学生成绩管理.mdb”中。 2018/11/15

68 4.7.2 数据导出 【例4-27】将数据库文件“学生成绩管理.mdb”中的数据表“课程”导出为Excel工作簿。 2018/11/15

69 谢谢使用本课件!


Download ppt "第四章 数据库技术基础."

Similar presentations


Ads by Google