第十二章数据库技术
第 十 二 章 数 据 库 技 术
本章主要内容 ◆数据库基础 ◆结构化查询语言SQL ◆数据管理器 ◆Dato控件 ◆AD○数据控件 ◆数据报表 ◆数据库应用实例
本 章 主 要 内 容 ◆数据库基础 ◆结构化查询语言SQL ◆数据管理器 ◆ Data控件 ◆ ADO数据控件 ◆数据报表 ◆数据库应用实例
12.1数据库基础 ◆数据库的概念 数据库( Database):是指按一定组织方式存储在一起的、相互有 关的若干个数据的集合。 数据库管理系统( Database Management System):是一种操纵 和管理数据库的大型软件,简称DBMS,例如 Access或 Micros什 SQL Server等。 ⊙数据库类型:按数据的组织方式不同,可以分为网状数据库、层次数 据库和关系型数据库。其中应用最普遍的是关系型数据库。 ⊙数据库应用程序:数据库应用程序是指以数据库为基础,用VB或其他 开发工具开发的、实现某种具体功能的程序。数据库应用程序利用数 据库管理系统提供的各种手段来访问数据库及其中的数据
12.1 数据库基础 ◆ 数据库的概念 数据库(Database):是指按一定组织方式存储在一起的、相互有 关的若干个数据的集合。 数据库管理系统(Database Management System):是一种操纵 和管理数据库的大型软件,简称DBMS,例如Access或Microsoft SQL Server等。 数据库类型:按数据的组织方式不同,可以分为网状数据库、层次数 据库和关系型数据库。其中应用最普遍的是关系型数据库。 数据库应用程序:数据库应用程序是指以数据库为基础,用VB或其他 开发工具开发的、实现某种具体功能的程序。数据库应用程序利用数 据库管理系统提供的各种手段来访问数据库及其中的数据
12.1数据库基础 ◆关系型数据库 关系型数据库是支持关系模型的数据库系统,是根据表、记录和字段之间 的关系进行组织和访问的一种数据库,它通过若干个二维表(Tobe)来 存储数据,并且通过关系( Relation)将这些表联系在一起。 表(Tobe):将相关的数据按行和列的形式组织成二维表格的形式 即为表。关系数据库包含一个或多个表,表是数据的集合。表是一种 数据对象,它可以有许多属性,这些属性构成了表的结构。表121出 版社基本信息表 ⊙字段(Feo):数据库表中的每列称为字段。字段是标记实体属性 的符号集。表是由其包含的各个字段定义的,字段规定了数据的特征。 创建一个数据库表时,要设置每个字段的数据类型、最大长度和其他 些属性。字段可以包含各种字符、数字或图形
12.1 数据库基础 ◆ 关系型数据库 关系型数据库是支持关系模型的数据库系统,是根据表、记录和字段之间 的关系进行组织和访问的一种数据库,它通过若干个二维表(Table)来 存储数据,并且通过关系(Relation)将这些表联系在一起。 表(Table):将相关的数据按行和列的形式组织成二维表格的形式 即为表。关系数据库包含一个或多个表,表是数据的集合。表是一种 数据对象,它可以有许多属性,这些属性构成了表的结构。表12-1 出 版社基本信息表 字段(Field):数据库表中的每一列称为字段。字段是标记实体属性 的符号集。表是由其包含的各个字段定义的,字段规定了数据的特征。 创建一个数据库表时,要设置每个字段的数据类型、最大长度和其他 一些属性。字段可以包含各种字符、数字或图形
12.1数据库基础 ·记录( Record):对于关系型数据库,表中的每一行称为记录,记录 多个字段的集合。记录是一组用于存储数据的相关字段的有序集合 ·关键字:如果表中的某个字段或多个字段的组合能够唯一地确定一个记 录,则称该字段或多个字段组合为候选关键字。例如,在“出版社基本 信息表”中的“出版社代码”可以作为候选关键字,因为对于每个出版 社来讲,出版社代码是唯一的。一个数据库表中可以有多个候选关键字, 但只能有一个候选关键字作为主关键字。主关键字必须有一个唯一的值, 且不能为空值。 c表间的关系:关系就是定义两个表如何相互联系的方式。数据库可以由 多个表组成,表与表之间可以用不同的方式相互关联。 c索引:索引就是关键字的值到记录位置的一张转换表。查找数据时,数 据库管理系统先从索引文件上找到信息的位置,再根据指针从表中读取 数据。这种方法可以快速地找到有关的信息
12.1 数据库基础 记录(Record):对于关系型数据库,表中的每一行称为记录,记录是 多个字段的集合。记录是一组用于存储数据的相关字段的有序集合。 关键字:如果表中的某个字段或多个字段的组合能够唯一地确定一个记 录,则称该字段或多个字段组合为候选关键字。例如,在“出版社基本 信息表”中的“出版社代码”可以作为候选关键字,因为对于每个出版 社来讲,出版社代码是唯一的。一个数据库表中可以有多个候选关键字, 但只能有一个候选关键字作为主关键字。主关键字必须有一个唯一的值, 且不能为空值。 表间的关系:关系就是定义两个表如何相互联系的方式。数据库可以由 多个表组成,表与表之间可以用不同的方式相互关联。 索引:索引就是关键字的值到记录位置的一张转换表。查找数据时,数 据库管理系统先从索引文件上找到信息的位置,再根据指针从表中读取 数据。这种方法可以快速地找到有关的信息
122结构化查询语言SQL ◆SQL语句简介 SQL语句是由命令、子句、运算符和合计函数构成,这些元素结合起来组成语 句,用来创建、更新和操作数据库。 SQL命令:任何SQ命令都是以 SELECT、 CREATE、 DROPO、 ALTER、 INSERT DELETE或∪ PDATE几种命令开头 ⊙ SELECT命令:用于在数据库中查找满足特定条件的记录,它是所有SQ命 令中最常用的一个命令。 CREATE、DROP和 ALTER命令:用于操纵整个表。其中 CREATE命令用于创建 新的表、字段和索引,DROP命令用来删除数据库中的表和索引,ALER命令 通过添加字段或改变字段定义来修改表。 INSERT、 DELETE和 UPDATE命令主要适用于单个记录。其中NSER命令用于 在数据库中用单一的操作添加一个记录, DELETE命令用于删除数据库表中已 经存在的一个记录, UPDATE命令用来修改特定记录或字段的值
12.2 结构化查询语言SQL ◆ SQL语句简介 SQL语句是由命令、子句、运算符和合计函数构成,这些元素结合起来组成语 句,用来创建、更新和操作数据库。 SQL命令:任何SQL命令都是以SELECT、CREATE、DROPO、ALTER、 INSERT、DELETE或UPDATE几种命令开头。 SELECT命令:用于在数据库中查找满足特定条件的记录,它是所有SQL命 令中最常用的一个命令。 CREATE、DROP和ALTER命令:用于操纵整个表。其中CREATE命令用于创建 新的表、字段和索引,DROP命令用来删除数据库中的表和索引,ALTER命令 通过添加字段或改变字段定义来修改表。 INSERT、DELETE和UPDATE命令:主要适用于单个记录。其中INSERT命令用于 在数据库中用单一的操作添加一个记录,DELETE命令用于删除数据库表中已 经存在的一个记录,UPDATE命令用来修改特定记录或字段的值
122结构化查询语言SQL SQL子句:子句是用来指定条件的,这些条件被用来定义要选定或要操 作的数据。 FROM:指定从其中选定记录的表的名称 WHERE:指定所选记录必须满足的条件 GROUP BY:把选定的记录分成特定的组 。 HAVING:说明每个组需要满足的条件 ORDER BY:按特定的次序将记录排序
12.2 结构化查询语言SQL SQL子句:子句是用来指定条件的,这些条件被用来定义要选定或要操 作的数据。 FROM:指定从其中选定记录的表的名称 WHERE:指定所选记录必须满足的条件 GROUP BY:把选定的记录分成特定的组 HAVING:说明每个组需要满足的条件 ORDER BY:按特定的次序将记录排序
122结构化查询语言SQL 合计函数:在 SELECT子句中使用合计函数可以对一组数值进行各种不同的 统计,它返回应用于一组记录的单一值 AVG:获得特定字段中的值的平均数 COUNT:返回选定记录的个数 SUM:返回选定字段中所有值的总和 MAx:返回指定字段中的最大值 MN:返回指定字段中的最小值
12.2 结构化查询语言SQL 合计函数:在SELECT子句中使用合计函数可以对一组数值进行各种不同的 统计,它返回应用于一组记录的单一值。 AVG:获得特定字段中的值的平均数 COUNT:返回选定记录的个数 SUM:返回选定字段中所有值的总和 MAX:返回指定字段中的最大值 MIN:返回指定字段中的最小值
122结构化查询语言SQL ◆常用的SQL语句 SELECT语句:从数据库中获取符合条件的数据称为查询,是数据库应用程序中最 常用的操作,在SQL中查询是由 SELECT语句来实现的,其格式为 SELECT[ ALL/DISTINCT选定项FR○M表名[ WHERE条件表达式] [ GROUP BY分组字段][HANG分组条件][ ORDER BY排序字段[ASC/DESC]] 选定项:,指定在育询结果中生成的字段,是FROM子句所含表中的字段名称,多个 则字段名前应加表名前缀,并用逗号分隔。 ALL:选择符合SQL语句中条件的全部记录 DISTINCT:省略选择字段中包含重复数据的记录 FROM子句:于指定一个或多个表,以确定字段的来源 WHERE子句:用于所选定记录满足的条件 GROUP BY和 HAVING子句:用 录分组,使用指定的条件对某些字段的值 相同的记录进行分类,并把在指定字段列表中有相同 合并成一条记录 HAVING子句要和 GROUP BY 起使 后者完成 组后,前者句 出由 GROUP BY 组并且满是 HAVING子句条件 ORDER BY子句:按一个或多个(最多16个)字段排序查询的结果,可以是升序 (ASC)或降序(DESC),默认 在上述SQL语句中, SELECT子句和FROM子句是必须的
12.2 结构化查询语言SQL ◆ 常用的SQL语句 SELECT语句:从数据库中获取符合条件的数据称为查询,是数据库应用程序中最 常用的操作,在SQL中查询是由SELECT语句来实现的,其格式为: SELECT [ALL/DISTINCT] 选定项 FROM 表名 [WHERE 条件表达式] [GROUP BY 分组字段] [HAVING 分组条件] [ORDER BY 排序字段 [ASC/DESC]] – 选定项:指定在查询结果中生成的字段,是FROM子句所含表中的字段名称,多个 字段之间用逗号分开。若选择所有字段,可用(*)代替。如果字段来自不同表, 则字段名前应加表名前缀,并用逗号分隔。 – ALL:选择符合SQL语句中条件的全部记录。 – DISTINCT:省略选择字段中包含重复数据的记录。 – FROM子句:于指定一个或多个表,以确定字段的来源。 – WHERE子句:用于所选定记录满足的条件。 – GROUP BY 和HAVING子句:用于对记录分组,使用指定的条件对某些字段的值 相同的记录进行分类,并把在指定字段列表中有相同值的记录合并成一条记录。 – HAVING子句要和GROUP BY子句一起使用。当后者完成了记录分组后,前者句 就显示出由GROUP BY子句分组并且满足HAVING子句条件的所有记录。 – ORDER BY子句:按一个或多个(最多16个)字段排序查询的结果,可以是升序 (ASC)或降序(DESC),默认是升序。 – 在上述SQL语句中,SELECT子句和FROM子句是必须的
122结构化查询语言SQL ◆例12-1:查询每个出版社的图书出版情况 出版社信息存放在“出版社基本信息表”中,图书出版情况存放在“图书信息 表”中,所以本查询实际上涉及“出版社基本信息表”与“图书信息表”两个 表。这两个表之间的联系是通过公共属性“出版社代码”实现的。 命令 SELECT出版社基本信息表出版社名称,图书信息表图书名称,图书信息表定价 FR○M图书信息表出版社基本信息表 WHERE图书信息表出版社代码=出版社基本信息表出版社代码 GSQL语句 回区 匚添加凶)缤g)删除 关闭c 匚排序6)过进器①移动0查找 宇段名称: 值F4=縮放) 出版社名称 电子工业出版社 图书名称 ulB4se.0程序设计 宗价 1/6[不可更新]
12.2 结构化查询语言SQL ◆ 例12-1:查询每个出版社的图书出版情况 出版社信息存放在“出版社基本信息表”中,图书出版情况存放在“图书信息 表”中,所以本查询实际上涉及“出版社基本信息表”与“图书信息表”两个 表。这两个表之间的联系是通过公共属性“出版社代码”实现的。 命令: SELECT 出版社基本信息表.出版社名称,图书信息表.图书名称, 图书信息表.定价 FROM 图书信息表,出版社基本信息表 WHERE 图书信息表.出版社代码=出版社基本信息表.出版社代码