第五章 数据库技术基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
出实体类型及实体间联系,然后用E-R 图表示数据模型。
18
5.2.2
概念模型
概念模型的主要术语:
实体:客观存在并可相互区别的事物。可以是具体的
人、事、物,也可是抽象的概念或联系。
如: 一个学生, 一个部门;也可以是抽象的事件,如
学生一次选课
属性:实体所具有的某一特征。一个实体可以用若干 个属性来刻画
SQL是一体化的语言 SQL是一种高度非过程化的语言
SQL语言简洁但功能强大
SQL是关系数据库系统的国际标准语言
39
5.3.1
SQL概述
SQL的功能
数据定义: 创建表 数据查询: SELECT
数据操纵: 追加、更新、删除
数据控制:
本章重点学习“数据查询”SELECT-SQL命令
40
5.3.3
35
5.2.4 关系模型
关系模型的操作
操作对象是关系,操作结果也是关系 主要操作有:插入、删除、查询、更新等
关系完整性约束
完整性指关系中数据的正确性、相容性,由一系 列的约束条件组成。 一般可分为三类:实体完整性、参照完整性、用
户自定义完整性
36
5.2.4 关系模型
实体完整性:若A是关系R的主属性,则A不能为空
23
5.2.3 实体间的联系及实体联系方法
姓名 年龄 职业
丈夫
1
子女数 夫妻 婚龄
1
妻子
姓名
年龄
职业
24
5.2.3 实体间的联系及实体联系方法
一对多联系 (1:n):实体集 A 中的每个实体
可以与实体集 B中的任意多个实体相对应,
反之, 实体集B中的每个实体至多与实体集 A 中的一个实体相对应。则称实体集 A 与实体
46
简单查询
SELECT <列名表/表达式表>|* FROM <表名> 5)简单统计查询:输出列使用统计函数。
函 数 SUM(字段名) AVG(字段名) MAX(字段名) MIN(字段名)
COUNT(字段名) COUNT(*)
功 能 求指定字段值的总和 求指定字段的平均值 求指定字段的最大值 求指定字段的最小值
第5章 数据库技术基础
【本章内容】 5.1 引言 5.2 关系模型与关系数据库系统
5.3 关系数据库标准语言SQL
5.4 数据库应用系统设计
1
5.1 引言
数据库技术的应用实例
学校教学管理系统 超市销售系统 铁路售票系统
图书馆管理系统
银行业务系统
2
5.1 引言
数据库技术是应数据管理任务的需求而产
层次模型:
有且只有一个根 结点;除了根结 点,其它结点有 且只有一个父结 点。
网状模型:
允许结点有多 于一个的父结 点;可以有一 个以上的结点 没有父结点。
关系模型:
用二维表格结构来 表示实体和实体间 联系的数据模型。
典型产品:
•Access •Visual Foxpro •SQL Server •ORACLE
例5.2 查STUDENT表中所有学生的学号、姓名和专业。
SELECT 学号,姓名,专业 FROM STUDENT
43
简单查询
SELECT <列名表/表达式表>|* FROM <表名>
3)查询结果不包含重复记录。
例5.3 根据GRADE表查询课程号。(要求课程号不重复) SELECT DISTINCT 课程号 FROM GRADE
关系数据库标准语言-SQL
SELECT-SQL命令格式: select [all/distinct] */ <字段名表/表达式表> from <表名/表别名> [联接类型] [join <表名> on <联接条件>] [where <筛选条件>] /<联接条件> [order by <字段名> [asc/desc]] [group by <字段名表> [having <筛选条件>]]
息世界的某一概念模型;(此模型独立于任何计算机系统, 即不涉及信息在计算机系统中的表示) 再把概念模型转换为机器世界所支持的某一逻辑数据
模型。(层次、网状、关系)
17
5.2.2
E-R方法:
概念模型
E-R方法是P.P.S. chen于1976年提出 的,它是一组对信息世界建模的概念工
具。这个模型是直接从现实世界中抽象
数据可以长期保存 数据由文件系统统一管理 数据共享性差,数据冗余大 数据独立性较差 数据一致性差
7
文件系统阶段数据与程序的关系
应用程序1 文件1
应用程序2
文件2
应用程序n
...…
...…
文件系 统
文件n
8
3.数据库系统阶段(60年代末开始)
数据库系统管理方式即对所有的数据实行
统一规划管理,形成一个 数据中心 ,构成一个
5.2.4 关系模型
关系数据模型的存储结构
以文件形式存储,每一个关系对应一种文件结构
关系模型的优点:
概念单一
关系的存储路径对用户透明,数据具有更高的独立性
数据的存储结构发生变化时, 逻辑结构不变,故应用程序 也不变
用户不必关心 细节
38
5.3
SQL概述
关系数据库标准语言-SQL
生的技术,是计算机科学的重要分支,它的 出现极大地促进了计算机应用向各行各业的
渗透,数据库的建设规模、数据库信息量的
大小和使用频度已成为衡量一个国家信息化 程度的重要标志。
3
5.1 引言
数据管理技术的发展历程
人工管理阶段(40年代中--50年代中) 文件系统阶段(50年代末--60年代中)
数据库系统阶段(60年代末--现在)
11
5.1 引言
数据:对客观事物的一种符号化表示,数据
库中可处理的数据有文字、数字、图形、图
像、声音等。
数据库(DB):长期存储在某种存储介质上
的有组织的、可共享的相关的数据的集合。
12
5.1 引言
数据库管理系统(DBMS):对数据库进行
定义、描述、建立、管理和维护的一套系统
软件。 数据库系统(DBS):
统计字段值的个数,不包含为空的值
统计记录个数
47
例5.5
查询显示STUDENT表中所有学生的平均入学总分、
最高入学总分和最低入学总分。
SELECT AVG(入学总分) AS 平均入学总分,
MAX(入学总分) AS 最高入学总分, MIN(入学总分) AS 最低入学总分 FROM STUDENT
48
22
5.2.3
实体间的联系及实体联系方法
联系:在现实世界中, 事物内部以及事物之间是有
联系的,在信息世界中将被抽象为实体(型)属性 间的联系和实体型之间的联系
两个实体型之间的联系有三种:
一对一联系
(1:1):实体集 A 中的每个实体至多
与实体集 B 中的一个实体相对应, 反之亦然, 则称
实体集 A 与实体集 B 为1:1的联系。 例如:丈夫与妻子之间的联系
如: 选课实体的键为学号+课程号
21
5.2.2
概念模型
实体型:具有相同属性的实体所具有的共同 特征,用实体名和属性名集合来表示
如: 学生 (学号, 姓名, 年龄, 性别, 专业) 就 是一个实体型
学生
E-R 图中实体型的表示
实体集:同型实体的集合称为实体集
例如: 学校的全体学生就是一个实体集
条件查询
SELECT <列名表> FROM <表名> WHERE <条件>
条件的表达形式有:
数据仓库,数据库中的数据能够满足所有用户
的不同要求,供不同用户共享。特点如下:
数据结构化
数据共享性高
数据独立性高 统一的数据管理和控制
9
数据库系统阶段数据与程序的关系
应用程序1
数据库
应用程序2
DBMS
…
10
5.1 引言
数据库的相关概念
数据(Data) 数据库(Database) 数据库管理系统(DBMS) 数据库系统(DBS)
是实体-联系(E-R)模型;
实施(逻辑)模型:侧重于数据的表达方式和 数据结构的实现方法;主要有层次模型、网状模
型与关系模型。
15
5.2.1 数据模型
建立数据模型的过程(图示):
实体 抽象 转换
现实世界
信息世界
机器世界
16
5.2.1 数据模型
建立数据模型的过程:
首先在认识现实世界中的客观事物后,将其抽象为信
4
1.人工管理阶段(从50年代开始)
特点:
数据不保存
无专门的数据管理软件 数据不共享,冗余量大 数据不具有独立性
5
人工管理阶段数据与程序的关系
应用程序1 应用程序2
...…
数据集1 数据集2
...…
应用程序n
数据集n
6
2.文件系统阶段(50年代后期至60年代中期)
特点:
集 B 为1:n的联系。
如: 班级与学生间是1:n的联系
25
5.2.3 实体间的联系及实体联系方法
专业号 专业名 创建时间
专业
1
有
n
学号 学生 年龄
姓名
性别
26
5.2.3 实体间的联系及实体联系方法
多对多联系 (m:n):实体集A中的每个实体可
以与实体集B中的任意多个实体相对应, 反之,
实体集B中的每个实体可以与实体集A中的任 意多个实体相对应。则称实体集A与实体集 B 间是m:n联系。 例如: 学生与课程间是m:n联系
41
简单查询
SELECT <列名表/表达式表>|* FROM <表名>
1)查全部字段信息:用“*”表示全部字段。 例5.1 查询STUDENT表的全部信息。
SELECT * FROM STUDENT
42
简单查询
SELECT <列名表/表达式表>|* FROM <表名>
2)查部分字段:逐一列出所需字段并以“,”分隔。
数据库+数据库管理系统+应用系统+数
据库管理员+用户
13
5.2 关系模型 及关系数据库系统
5.2.1数据模型
数据模型是数据库系统中用于提供信息表
示和操作手段的形式架构。从形式看,数据
模型可分为两个级别:概念模型和实施(逻
辑)模型。
14
5.2 关系模型 及关系数据库系统
5.2.1数据模型
概念模型:在概念上表示数据库中要存储的信 息,而不管这些信息是怎样实现存储;最常见的
信息世界
实体 属性 实体集 实体型
机器世界(关系)
元组 字段 关系 关系模式
关键特征
键
主键
34
5.2.4 关系模型
关系的特性:
每一列是不可再分的 列是同质的,即每一列取值范围必须相同
任意两个元组不能相同
列的顺序交换不影响关系意义的表达
行的顺序交换不影响关系意义的表达
不同的列取值范围可以相同,但必须有唯 一的属性名
44
简单查询
SELECT <列名表/表达式表>|* FROM <表名> 4)查询输出常量、表达式的值,且可以
为常量或表达式取一个有含义的名称作为
查询结果的列标题。
45
例5.4 查询显示STUDENT表中所有学生的学校、学号、 姓名、年龄。假设学校为“福州大学”。
SELECT “福州大学" AS 学校,学号,姓名, year(DATE())- year(出生日期) as 年龄 FROM STUDENT
典型产品:
典型产品:
•1969年IBM公司 •CODASYL 系统 的IMS系统
树
图
30
5.2.4
关系模型
Leabharlann Baidu
基本概念 一个关系的逻辑结构是一张二维表,它 由行和列组成
关系名
关 系
31
5.2.4 关系模型
元组:表中的一行即为一个元组; 字段:表中的一列,列值称为字段值,列名称为
字段名
值域:字段值的取值范围
如: 学生实体可有学号、姓名、年龄、性别、专业等 属性
19
5.2.2
概念模型
姓名
年龄 性别
学号 学生
E-R 图中实体与属性的表示
20
5.2.2
概念模型
值域:属性的取值范围
如: 性别的值域为(男,女)
如: 年龄的值域为(0~150)
码:能唯一标识实体的属性或属性集
如: 学生实体的键为学号
27
5.2.3 实体间的联系及实体联系方法
学号 姓名 性别
年龄
学生
m
学习
成绩
n
课号 课程 学分
课名
学时
28
5.2.4 关系模型
随着数据实施模型的发展,在数据库技术 发展的过程中出现了以下几种产品: 网状、层次型数据库系统 关系型数据库系统
以面向对象模型为主要特征的数据库系统
29
逻辑数据模型的类型:
属性 (字段)
元组 (记录)
32
5.2.4 关系模型
主键:能唯一标识一个元组的属性集合 外键:若属性组F不是关系R1的主键,但它是关系 R2的主键,则F称是关系R1的外键
主键
外键
主键
33
5.2.4 关系模型
现实世界、信息世界和机器世界间概念对应关系如下:
现实世界
事物 特征 事物集 事物型
如:学生关系中的主键学号不能为空,且具有 唯一性
参照完整性:关系中外键F取值或者为空,或者等于 被对照关系中某个元组的主键值
如:学生关系中的外键专业号或者为空,或者 为专业关系中专业号的某一个值
用户自定义完整性:反映某一具体应用涉及的数据 必须满足的条件
如:性别的取值只能是(男,女)之一
37
18
5.2.2
概念模型
概念模型的主要术语:
实体:客观存在并可相互区别的事物。可以是具体的
人、事、物,也可是抽象的概念或联系。
如: 一个学生, 一个部门;也可以是抽象的事件,如
学生一次选课
属性:实体所具有的某一特征。一个实体可以用若干 个属性来刻画
SQL是一体化的语言 SQL是一种高度非过程化的语言
SQL语言简洁但功能强大
SQL是关系数据库系统的国际标准语言
39
5.3.1
SQL概述
SQL的功能
数据定义: 创建表 数据查询: SELECT
数据操纵: 追加、更新、删除
数据控制:
本章重点学习“数据查询”SELECT-SQL命令
40
5.3.3
35
5.2.4 关系模型
关系模型的操作
操作对象是关系,操作结果也是关系 主要操作有:插入、删除、查询、更新等
关系完整性约束
完整性指关系中数据的正确性、相容性,由一系 列的约束条件组成。 一般可分为三类:实体完整性、参照完整性、用
户自定义完整性
36
5.2.4 关系模型
实体完整性:若A是关系R的主属性,则A不能为空
23
5.2.3 实体间的联系及实体联系方法
姓名 年龄 职业
丈夫
1
子女数 夫妻 婚龄
1
妻子
姓名
年龄
职业
24
5.2.3 实体间的联系及实体联系方法
一对多联系 (1:n):实体集 A 中的每个实体
可以与实体集 B中的任意多个实体相对应,
反之, 实体集B中的每个实体至多与实体集 A 中的一个实体相对应。则称实体集 A 与实体
46
简单查询
SELECT <列名表/表达式表>|* FROM <表名> 5)简单统计查询:输出列使用统计函数。
函 数 SUM(字段名) AVG(字段名) MAX(字段名) MIN(字段名)
COUNT(字段名) COUNT(*)
功 能 求指定字段值的总和 求指定字段的平均值 求指定字段的最大值 求指定字段的最小值
第5章 数据库技术基础
【本章内容】 5.1 引言 5.2 关系模型与关系数据库系统
5.3 关系数据库标准语言SQL
5.4 数据库应用系统设计
1
5.1 引言
数据库技术的应用实例
学校教学管理系统 超市销售系统 铁路售票系统
图书馆管理系统
银行业务系统
2
5.1 引言
数据库技术是应数据管理任务的需求而产
层次模型:
有且只有一个根 结点;除了根结 点,其它结点有 且只有一个父结 点。
网状模型:
允许结点有多 于一个的父结 点;可以有一 个以上的结点 没有父结点。
关系模型:
用二维表格结构来 表示实体和实体间 联系的数据模型。
典型产品:
•Access •Visual Foxpro •SQL Server •ORACLE
例5.2 查STUDENT表中所有学生的学号、姓名和专业。
SELECT 学号,姓名,专业 FROM STUDENT
43
简单查询
SELECT <列名表/表达式表>|* FROM <表名>
3)查询结果不包含重复记录。
例5.3 根据GRADE表查询课程号。(要求课程号不重复) SELECT DISTINCT 课程号 FROM GRADE
关系数据库标准语言-SQL
SELECT-SQL命令格式: select [all/distinct] */ <字段名表/表达式表> from <表名/表别名> [联接类型] [join <表名> on <联接条件>] [where <筛选条件>] /<联接条件> [order by <字段名> [asc/desc]] [group by <字段名表> [having <筛选条件>]]
息世界的某一概念模型;(此模型独立于任何计算机系统, 即不涉及信息在计算机系统中的表示) 再把概念模型转换为机器世界所支持的某一逻辑数据
模型。(层次、网状、关系)
17
5.2.2
E-R方法:
概念模型
E-R方法是P.P.S. chen于1976年提出 的,它是一组对信息世界建模的概念工
具。这个模型是直接从现实世界中抽象
数据可以长期保存 数据由文件系统统一管理 数据共享性差,数据冗余大 数据独立性较差 数据一致性差
7
文件系统阶段数据与程序的关系
应用程序1 文件1
应用程序2
文件2
应用程序n
...…
...…
文件系 统
文件n
8
3.数据库系统阶段(60年代末开始)
数据库系统管理方式即对所有的数据实行
统一规划管理,形成一个 数据中心 ,构成一个
5.2.4 关系模型
关系数据模型的存储结构
以文件形式存储,每一个关系对应一种文件结构
关系模型的优点:
概念单一
关系的存储路径对用户透明,数据具有更高的独立性
数据的存储结构发生变化时, 逻辑结构不变,故应用程序 也不变
用户不必关心 细节
38
5.3
SQL概述
关系数据库标准语言-SQL
生的技术,是计算机科学的重要分支,它的 出现极大地促进了计算机应用向各行各业的
渗透,数据库的建设规模、数据库信息量的
大小和使用频度已成为衡量一个国家信息化 程度的重要标志。
3
5.1 引言
数据管理技术的发展历程
人工管理阶段(40年代中--50年代中) 文件系统阶段(50年代末--60年代中)
数据库系统阶段(60年代末--现在)
11
5.1 引言
数据:对客观事物的一种符号化表示,数据
库中可处理的数据有文字、数字、图形、图
像、声音等。
数据库(DB):长期存储在某种存储介质上
的有组织的、可共享的相关的数据的集合。
12
5.1 引言
数据库管理系统(DBMS):对数据库进行
定义、描述、建立、管理和维护的一套系统
软件。 数据库系统(DBS):
统计字段值的个数,不包含为空的值
统计记录个数
47
例5.5
查询显示STUDENT表中所有学生的平均入学总分、
最高入学总分和最低入学总分。
SELECT AVG(入学总分) AS 平均入学总分,
MAX(入学总分) AS 最高入学总分, MIN(入学总分) AS 最低入学总分 FROM STUDENT
48
22
5.2.3
实体间的联系及实体联系方法
联系:在现实世界中, 事物内部以及事物之间是有
联系的,在信息世界中将被抽象为实体(型)属性 间的联系和实体型之间的联系
两个实体型之间的联系有三种:
一对一联系
(1:1):实体集 A 中的每个实体至多
与实体集 B 中的一个实体相对应, 反之亦然, 则称
实体集 A 与实体集 B 为1:1的联系。 例如:丈夫与妻子之间的联系
如: 选课实体的键为学号+课程号
21
5.2.2
概念模型
实体型:具有相同属性的实体所具有的共同 特征,用实体名和属性名集合来表示
如: 学生 (学号, 姓名, 年龄, 性别, 专业) 就 是一个实体型
学生
E-R 图中实体型的表示
实体集:同型实体的集合称为实体集
例如: 学校的全体学生就是一个实体集
条件查询
SELECT <列名表> FROM <表名> WHERE <条件>
条件的表达形式有:
数据仓库,数据库中的数据能够满足所有用户
的不同要求,供不同用户共享。特点如下:
数据结构化
数据共享性高
数据独立性高 统一的数据管理和控制
9
数据库系统阶段数据与程序的关系
应用程序1
数据库
应用程序2
DBMS
…
10
5.1 引言
数据库的相关概念
数据(Data) 数据库(Database) 数据库管理系统(DBMS) 数据库系统(DBS)
是实体-联系(E-R)模型;
实施(逻辑)模型:侧重于数据的表达方式和 数据结构的实现方法;主要有层次模型、网状模
型与关系模型。
15
5.2.1 数据模型
建立数据模型的过程(图示):
实体 抽象 转换
现实世界
信息世界
机器世界
16
5.2.1 数据模型
建立数据模型的过程:
首先在认识现实世界中的客观事物后,将其抽象为信
4
1.人工管理阶段(从50年代开始)
特点:
数据不保存
无专门的数据管理软件 数据不共享,冗余量大 数据不具有独立性
5
人工管理阶段数据与程序的关系
应用程序1 应用程序2
...…
数据集1 数据集2
...…
应用程序n
数据集n
6
2.文件系统阶段(50年代后期至60年代中期)
特点:
集 B 为1:n的联系。
如: 班级与学生间是1:n的联系
25
5.2.3 实体间的联系及实体联系方法
专业号 专业名 创建时间
专业
1
有
n
学号 学生 年龄
姓名
性别
26
5.2.3 实体间的联系及实体联系方法
多对多联系 (m:n):实体集A中的每个实体可
以与实体集B中的任意多个实体相对应, 反之,
实体集B中的每个实体可以与实体集A中的任 意多个实体相对应。则称实体集A与实体集 B 间是m:n联系。 例如: 学生与课程间是m:n联系
41
简单查询
SELECT <列名表/表达式表>|* FROM <表名>
1)查全部字段信息:用“*”表示全部字段。 例5.1 查询STUDENT表的全部信息。
SELECT * FROM STUDENT
42
简单查询
SELECT <列名表/表达式表>|* FROM <表名>
2)查部分字段:逐一列出所需字段并以“,”分隔。
数据库+数据库管理系统+应用系统+数
据库管理员+用户
13
5.2 关系模型 及关系数据库系统
5.2.1数据模型
数据模型是数据库系统中用于提供信息表
示和操作手段的形式架构。从形式看,数据
模型可分为两个级别:概念模型和实施(逻
辑)模型。
14
5.2 关系模型 及关系数据库系统
5.2.1数据模型
概念模型:在概念上表示数据库中要存储的信 息,而不管这些信息是怎样实现存储;最常见的
信息世界
实体 属性 实体集 实体型
机器世界(关系)
元组 字段 关系 关系模式
关键特征
键
主键
34
5.2.4 关系模型
关系的特性:
每一列是不可再分的 列是同质的,即每一列取值范围必须相同
任意两个元组不能相同
列的顺序交换不影响关系意义的表达
行的顺序交换不影响关系意义的表达
不同的列取值范围可以相同,但必须有唯 一的属性名
44
简单查询
SELECT <列名表/表达式表>|* FROM <表名> 4)查询输出常量、表达式的值,且可以
为常量或表达式取一个有含义的名称作为
查询结果的列标题。
45
例5.4 查询显示STUDENT表中所有学生的学校、学号、 姓名、年龄。假设学校为“福州大学”。
SELECT “福州大学" AS 学校,学号,姓名, year(DATE())- year(出生日期) as 年龄 FROM STUDENT
典型产品:
典型产品:
•1969年IBM公司 •CODASYL 系统 的IMS系统
树
图
30
5.2.4
关系模型
Leabharlann Baidu
基本概念 一个关系的逻辑结构是一张二维表,它 由行和列组成
关系名
关 系
31
5.2.4 关系模型
元组:表中的一行即为一个元组; 字段:表中的一列,列值称为字段值,列名称为
字段名
值域:字段值的取值范围
如: 学生实体可有学号、姓名、年龄、性别、专业等 属性
19
5.2.2
概念模型
姓名
年龄 性别
学号 学生
E-R 图中实体与属性的表示
20
5.2.2
概念模型
值域:属性的取值范围
如: 性别的值域为(男,女)
如: 年龄的值域为(0~150)
码:能唯一标识实体的属性或属性集
如: 学生实体的键为学号
27
5.2.3 实体间的联系及实体联系方法
学号 姓名 性别
年龄
学生
m
学习
成绩
n
课号 课程 学分
课名
学时
28
5.2.4 关系模型
随着数据实施模型的发展,在数据库技术 发展的过程中出现了以下几种产品: 网状、层次型数据库系统 关系型数据库系统
以面向对象模型为主要特征的数据库系统
29
逻辑数据模型的类型:
属性 (字段)
元组 (记录)
32
5.2.4 关系模型
主键:能唯一标识一个元组的属性集合 外键:若属性组F不是关系R1的主键,但它是关系 R2的主键,则F称是关系R1的外键
主键
外键
主键
33
5.2.4 关系模型
现实世界、信息世界和机器世界间概念对应关系如下:
现实世界
事物 特征 事物集 事物型
如:学生关系中的主键学号不能为空,且具有 唯一性
参照完整性:关系中外键F取值或者为空,或者等于 被对照关系中某个元组的主键值
如:学生关系中的外键专业号或者为空,或者 为专业关系中专业号的某一个值
用户自定义完整性:反映某一具体应用涉及的数据 必须满足的条件
如:性别的取值只能是(男,女)之一
37