数据库系统概论(王珊-萨师煊)课件-河北大学学生专用
合集下载
数据库系统概论(第四版)_王珊_萨师煊_chp5
《数据库系统概论》--电子系信息工程教研室
5.1.1 实体完整性定义
关系模型的实体完整性
CREATE TABLE中用PRIMARY KEY定义
单属性构成的码有两种说明方法
定义为列级约束条件 定义为表级约束条件
对多个属性构成的码只有一种说明方法
定义为表级约束条件
《数据库系统概论》--电子系信息工程教研室
3. 设置为空值(SET-NULL)
• 对于参照完整性,除了应该定义外码,还应定义外码列是否允 许空值
《数据库系统概论》--电子系信息工程教研室
违约处理(续)
[例4] 显式说明参照完整性的违约处理示例
CREATE TABLE SC (Sno CHAR(9) NOT NULL, Cno CHAR(4) NOT NULL, Grade SMALLINT, PRIMARY KEY(Sno,Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno) ON DELETE CASCADE /*级联删除SC表中相应的元组*/ ON UPDATE CASCADE, /*级联更新SC表中相应的元组*/ FOREIGN KEY (Cno) REFERENCES Course(Cno) ON DELETE NO ACTION /*当删除course 表中的元组造成了与SC表不一致时拒绝删除*/ ON UPDATE CASCADE /*当更新course表中的cno时,级联更新SC表中相应的元组*/ );
Location CHAR(10),
PRIMARY KEY (Deptno) );
《数据库系统概论》--电子系信息工程教研室
属性上的约束条件的定义(续)
3. 用CHECK短语指定列值应该满足的条件
数据库系统概论第5版第1章PPT课件
基础篇
第1章 绪论 第2章 关系数据库 第3章 关系数据库标准语言SQL 第4章 数据库安全性 第5章 数据库完整性
设计与应用开发篇
第6章 关系数据理论 第7章 数据库设计 第8章 数据库编程
An Introduction to Database System
内容安排(2)
系统篇
学习方式
听课
(启发式、讨论式)
读书Байду номын сангаас
(预习、复习)
报告
(综合练习)
An Introduction to Database System
考试成绩
❖平时成绩 (书面作业、上机练习、综合练习) ❖期中考试 ❖期末考试
An Introduction to Database System
内容安排(1)
A First Course in Database Systems Jeffrey.D.Ullman, Jennifer Widom Dept. Of Computer Science Stanford University
An Introduction to Database System
教材及参考书(2)
数据库系统概论
An Introduction to Database System
School of Information, Renmin University of China
2014
An Introduction to Database System
教材及参考书(1)
教材
王珊,萨师煊.数据库系统概论(第5版) .北京:高等教 育出版社,2014.9
第9章 关系查询处理和查询优化 第10章 数据库恢复技术 第11章 并发控制 * 第12章 数据库管理系统
第1章 绪论 第2章 关系数据库 第3章 关系数据库标准语言SQL 第4章 数据库安全性 第5章 数据库完整性
设计与应用开发篇
第6章 关系数据理论 第7章 数据库设计 第8章 数据库编程
An Introduction to Database System
内容安排(2)
系统篇
学习方式
听课
(启发式、讨论式)
读书Байду номын сангаас
(预习、复习)
报告
(综合练习)
An Introduction to Database System
考试成绩
❖平时成绩 (书面作业、上机练习、综合练习) ❖期中考试 ❖期末考试
An Introduction to Database System
内容安排(1)
A First Course in Database Systems Jeffrey.D.Ullman, Jennifer Widom Dept. Of Computer Science Stanford University
An Introduction to Database System
教材及参考书(2)
数据库系统概论
An Introduction to Database System
School of Information, Renmin University of China
2014
An Introduction to Database System
教材及参考书(1)
教材
王珊,萨师煊.数据库系统概论(第5版) .北京:高等教 育出版社,2014.9
第9章 关系查询处理和查询优化 第10章 数据库恢复技术 第11章 并发控制 * 第12章 数据库管理系统
数据库系统概论(第四版)王珊萨师煊chp3-2
查询家庭住址“海淀区”的同学的姓名和家庭住 址 SELECT 姓名,籍贯 FROM [education].[dbo].[学生] WHERE 家庭住址=’%海淀区%’ ’ 查询学号前两位是“05”的学生的姓名和系号 SELECT 姓名,系号 FROM [education].[dbo].[学生] WHERE 学号 LIKE ’05%’
排序合并法
找到表 1 的第二条元组,然后从刚才的中断点处继续顺
序扫描表2,查找满足连接条件的元组,找到后就将表1
中的第一个元组与该元组拼接起来,形成结果表中一个
元组。直接遇到表2中大于表1连接字段值的元组时,对 表2的查询不再继续 重复上述操作,直到表1或表2中的全部元组都处理完毕 为止
索引连接(INDEX-JOIN)
例:查询每门课程的选修情况,P79
查询每门课程的选修情况
SELECT Course.* , SC.* FROM Cours值与非等值连接查询 二、自身连接 三、外连接 四、复合条件连接
二、自身连接
自身连接:一个表与其自己进行连接
连接字段:连接谓词中的列名称
连接条件中的各连接字段类型必须是可比的,但名字不必是相同的
连接操作的执行过程
嵌套循环法(NESTED-LOOP)
首先在表1中找到第一个元组,然后从头开始扫描表2,逐一查找 满足连接件的元组,找到后就将表 1 中的第一个元组与该元组拼 接起来,形成结果表中一个元组。 表2全部查找完后,再找表1中第二个元组,然后再从头开始扫描
数据库系统概论
查询家庭住址“海淀区”的同学的姓名和家庭住 址 SELECT 姓名,籍贯 FROM [education].[dbo].[学生] WHERE 家庭住址=’海淀区’ ’ 查询学号前两位是“05”的学生的姓名和系号 SELECT 姓名,系号 FROM [education].[dbo].[学生] WHERE 学号 LIKE ’05_’
数据库系统概论(第四版)_王珊 萨师煊_chp10
An Introduction to Database System
静态转储
在系统中无运行事务时进行的转储操作 转储开始时数据库处于一致性状态 转储期间不允许对数据库的任何存取、修改活动 得到的一定是一个数据一致性的副本 优点:实现简单 缺点:降低了数据库的可用性
转储必须等待正运行的用户事务结束 新的事务必须等转储结束
An Introduction to Database System
3. 隔离性
对并发执行而言 一个事务的执行不能被其他事务干扰 一个事务内部的操作及使用的数据对其他并发事务是隔离 的 并发执行的各个事务之间不能互相干扰
An Introduction to Database System
T1 ① 读A=16 ② ③ A←A-1 写回A=15 ④
An Introduction to Database System
一致性与原子性 银行转帐:从帐号A中取出一万元,存入帐号B。 定义一个事务,该事务包括两个操作
A A=A-1 B=B+1 B
这两个操作要么全做,要么全不做
• 全做或者全不做,数据库都处于一致性状态。 • 如果只做一个操作,数据库就处于不一致性状态。
数据转储(backup) 登录日志文件(logging)
2. 如何利用这些冗余数据实施数据库恢复
An Introduction to Database System
10.4.1 数据转储
一、什么是数据转储 二、转储方法
An Introduction to Database System
一、什么是数据转储
故障的种类
事务内部的故障 系统故障 介质故障 计算机病毒
An Introduction to Database System
数据库系统概论(第四版)_王珊萨师煊chp7-2
数据抽象
抽象是对实际的人、物、事和概念中抽取所 关心的共同特性,忽略非本质的细节,并把 这些特性用各种概念精确地加以描述。
概念结构是对现实世界的一种抽象
An Introduction to Database System
数据抽象(续)
三种常用抽象
1. 分类(Classification)
视图的集成(续)
逐步集成
用累加的方式一次集成两个分E-R图
An Introduction to Database System
视图的集成(续)
集成局部E-R图的步骤
1. 合并 2. 修改与重构
An Introduction to Database System
视图的集成(续)
An视图集成 to Database Introduction System
逐一设计分E-R图(续)
分E-R图的框架
An Introduction to Database System
逐一设计分E-R图(续)
参照第二层数据流图和数据字典,遵循两个准则,进
行如下调整:
(1) 订单与订单细节是1∶n的联系 (2) 原订单和产品的联系实际上是订单细节和产品的联 系。 (3) 图7.21中“发票主清单”是一个数据存储,不必 作为实体加入分E-R图
概念结构(续)
描述概念模型的工具
E-R模型
An Introduction to Database System
7.3 概念结构设计
7.3.1 概念结构
7.3.2 概念结构设计的方法与步骤 7.3.3 数据抽象与局部视图设计 7.3.4 视图的集成
An Introduction to Database System
数据库系统概述(第四版)王珊萨师煊第8章数据库编程
An Introduction to Database System
8.1 嵌入式SQL
8.1.1 嵌入式SQL的处理过程 8.1.2 嵌入式SQL与主语言的通信 3. 不使用游标的SQL语句 4. 使用游标的SQL语句 5. 动态SQL 6. 小结
An Introduction to Database System
/*嵌入式SQL*/
SET Sage = :NEWAGE
WHERE CURRENT OF SX ;
}
/*对当前游标指向的学生年龄进行更新*/
}
EXEC SQL CLOSE SX;
/*关闭游标SX不再和查询结果对应*/
EXEC SQL COMMIT WORK;
/*提交更新*/
EXEC SQL DISCONNECT TEST;
/*定义SQL通信区*/
An Introduction to Database System
程序实例(续)
int main(void)
/*C语言主程序开始*/
{
int count = 0;
char yn;
/*变量yn代表yes或no*/
printf("Please choose the department name(CS/MA/IS): ");
8.1.2 嵌入式SQL语句与主语言之间的通信
❖ 将SQL嵌入到高级语言中混合编程,程序中会含有两种不 同计算模型的语句 SQL语句
➢ 描述性的面向集合的语句 ➢ 负责操纵数据库
高级语言语句
➢ 过程性的面向记录的语句 ➢ 负责控制程序流程
它们之间应该如何通信?
An Introduction to Database System
8.1 嵌入式SQL
8.1.1 嵌入式SQL的处理过程 8.1.2 嵌入式SQL与主语言的通信 3. 不使用游标的SQL语句 4. 使用游标的SQL语句 5. 动态SQL 6. 小结
An Introduction to Database System
/*嵌入式SQL*/
SET Sage = :NEWAGE
WHERE CURRENT OF SX ;
}
/*对当前游标指向的学生年龄进行更新*/
}
EXEC SQL CLOSE SX;
/*关闭游标SX不再和查询结果对应*/
EXEC SQL COMMIT WORK;
/*提交更新*/
EXEC SQL DISCONNECT TEST;
/*定义SQL通信区*/
An Introduction to Database System
程序实例(续)
int main(void)
/*C语言主程序开始*/
{
int count = 0;
char yn;
/*变量yn代表yes或no*/
printf("Please choose the department name(CS/MA/IS): ");
8.1.2 嵌入式SQL语句与主语言之间的通信
❖ 将SQL嵌入到高级语言中混合编程,程序中会含有两种不 同计算模型的语句 SQL语句
➢ 描述性的面向集合的语句 ➢ 负责操纵数据库
高级语言语句
➢ 过程性的面向记录的语句 ➢ 负责控制程序流程
它们之间应该如何通信?
An Introduction to Database System
数据库系统概论王珊第5版PPT第2章
04
数据字典用于描述数据库中各种对象的属性,如数据表、数据列、数 据类型等。
02
数据模型
数据模型的概念和组成
概念
数据模型是用来抽象表示现实世界中 数据和数据间关系的一种工具,它为 数据组织、存储、检索和使用提供了 统一的方法和框架。
组成
数据模型通常包括数据结构、数据操 作和数据约束三个部分。
概念模型
数据完整性有助于防止错误的数据输入和输出,从而确保应用程序和用户 能够信任数据库中的数据。
数据完整性约束条件
实体完整性 域完整性 参照完整性
用户定义的完整性
确保数据库中的每条记录都是唯一的,通常通过主键约束来实 现。
限制数据列中的数据类型、格式和范围,通常通过数据类型、 约束和检查约束来实现。
维护表之间的关系,确保引用数据的准确性和一致性,通常通 过外键约束来实现。
数据组织方式
层次结构
数据按照树形结构进行组织,类似于文件系统的目录结构,适合 于表示具有层次关系的数据。
网状结构
数据之间存在复杂的链接关系,类似于早期的数据库系统中的记录 指针,适用于表示复杂的数据关系。
关系结构
数据以表格的形式进行组织,每个表格包含若干行和列,适用于表 示具有明确关系的数据。
数据字典
数据存储方式
01
02
03
磁盘存储
利用磁盘阵列技术,将数 据分散存储在多个磁盘中, 以提高数据存储的可靠性 和访问性能。
内存存储
将数据存储在内存中,实 现快速的数据读写访问, 适用于需要高性能的应用 场景。
分布式存储
将数据分散存储在多个节 点上,以提高数据存储的 可扩展性和容错性,适用 于大规模数据存储场景。
数据库系统概论王珊 第5版ppt第2章
数据字典用于描述数据库中各种对象的属性,如数据表、数据列、数 据类型等。
02
数据模型
数据模型的概念和组成
概念
数据模型是用来抽象表示现实世界中 数据和数据间关系的一种工具,它为 数据组织、存储、检索和使用提供了 统一的方法和框架。
组成
数据模型通常包括数据结构、数据操 作和数据约束三个部分。
概念模型
数据完整性有助于防止错误的数据输入和输出,从而确保应用程序和用户 能够信任数据库中的数据。
数据完整性约束条件
实体完整性 域完整性 参照完整性
用户定义的完整性
确保数据库中的每条记录都是唯一的,通常通过主键约束来实 现。
限制数据列中的数据类型、格式和范围,通常通过数据类型、 约束和检查约束来实现。
维护表之间的关系,确保引用数据的准确性和一致性,通常通 过外键约束来实现。
数据组织方式
层次结构
数据按照树形结构进行组织,类似于文件系统的目录结构,适合 于表示具有层次关系的数据。
网状结构
数据之间存在复杂的链接关系,类似于早期的数据库系统中的记录 指针,适用于表示复杂的数据关系。
关系结构
数据以表格的形式进行组织,每个表格包含若干行和列,适用于表 示具有明确关系的数据。
数据字典
数据存储方式
01
02
03
磁盘存储
利用磁盘阵列技术,将数 据分散存储在多个磁盘中, 以提高数据存储的可靠性 和访问性能。
内存存储
将数据存储在内存中,实 现快速的数据读写访问, 适用于需要高性能的应用 场景。
分布式存储
将数据分散存储在多个节 点上,以提高数据存储的 可扩展性和容错性,适用 于大规模数据存储场景。
数据库系统概论王珊 第5版ppt第2章
数据库系统概论王珊最新版数据库技术发展概述PPT课件
2021
7
由数据库技术与信息与通信技术相结合衍生出来的新技术有很多比如分布式数据库并行数据库基于人工智能的各类知识库多媒体数据库移动数据库web数据库等2021一数据库技术发展的历史回顾第一代数据库系统
数据库技术发展概述20211源自一、数据库技术发展的历史回顾
• 数据库技术产生于20世纪60年代,至今有近60年的历史了。目前 已发展成了一门内容丰富的前沿学科,而且还带动了一个巨大的 软件产业。它是计算机科学技术发展最快的领域之一,也是应用 最为广泛的技术之一,它已成为计算机信息系统与智能应用系统 的核心技术和重要领域。
2021
3
一、数据库技术发展的历史回顾
• 数据库系统发展的特点 • 数据模型的发展:由层次、网状、关系模型,演变到目前的面 向对象、XML、RDF等数据模型; • 数据库技术与相关技术相结合:分布式数据库、并行数据库、 基于人工智能的各类数据库(演绎数据库、知识数据库、主动 数据库等)、多媒体数据库、模糊数据库、移动数据库、Web 数据库等; • 面向应用领域的数据库新技术:数据仓库、工程数据库、统计 数据库、空间数据库、科学数据数据库等等。
• 各类技术的相互借鉴、融合和发展是未来数据管理领域的发展趋势, 当前比较热门的大数据管理就是一个很典型的例子。
2021
6
三、大数据管理
• 大数据是指无法在可容忍的时间内用现有的IT技术和软硬件工具对其 进行感知、获取、管理、处理和服务的数据集合。通常被认为是PB (103TB)或EB(1EB=106TB)或更高数量级的数据,包括结构化的、 半结构化的和非结构化的数据。
• 大数据的特征 • 巨量、多样、快变、价值等
• 大数据的研究跨越信息科学、社会科学、网络科学、心理学、经济学 等诸多领域。
数据库系统概论(第四版)_王珊_萨师煊_chp6
否),这就是数据依赖,它是数据库模式设计的关键
An Introduction to Database System
什么是数据依赖(续)
2. 数据依赖
一个关系内部属性与属性之间的约束关系
现实世界属性间相互联系的抽象 数据内在的性质
语义的体现
An Introduction to Database System
An Introduction to Database System
6.2 规范化
6.2.1 函数依赖
6.2.2 码 6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2.7 多值依赖 6.2.8 4NF
6.2.9 规范化小结
An Introduction to Database System
6.2.1 函数依赖
函数依赖
平凡函数依赖与非平凡函数依赖
完全函数依赖与部分函数依赖
传递函数依赖
An Introduction to Database System
一、函数依赖
定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的 子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元 组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X
某一作品可被多个演奏者演奏
听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key
An Introduction to Database System
外部码
定义6.5 关系模式 R 中属性或属性组X 并非 R的码,但
X 是另一个关系模式的码,则称 X 是R 的外部码 (Foreign key)也称外码 如在SC(Sno,Cno,Grade)中,Sno不是码,但 Sno是关系模式S(Sno,Sdept,Sage)的码,则
An Introduction to Database System
什么是数据依赖(续)
2. 数据依赖
一个关系内部属性与属性之间的约束关系
现实世界属性间相互联系的抽象 数据内在的性质
语义的体现
An Introduction to Database System
An Introduction to Database System
6.2 规范化
6.2.1 函数依赖
6.2.2 码 6.2.3 范式 6.2.4 2NF 6.2.5 3NF 6.2.6 BCNF 6.2.7 多值依赖 6.2.8 4NF
6.2.9 规范化小结
An Introduction to Database System
6.2.1 函数依赖
函数依赖
平凡函数依赖与非平凡函数依赖
完全函数依赖与部分函数依赖
传递函数依赖
An Introduction to Database System
一、函数依赖
定义6.1 设R(U)是一个属性集U上的关系模式,X和Y是U的 子集。 若对于R(U)的任意一个可能的关系r,r中不可能存在两个元 组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X
某一作品可被多个演奏者演奏
听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key
An Introduction to Database System
外部码
定义6.5 关系模式 R 中属性或属性组X 并非 R的码,但
X 是另一个关系模式的码,则称 X 是R 的外部码 (Foreign key)也称外码 如在SC(Sno,Cno,Grade)中,Sno不是码,但 Sno是关系模式S(Sno,Sdept,Sage)的码,则
数据库系统概论第四版王珊萨师煊chPPT演示文稿
13.3.1 数据模型的发展
❖ 1. 对传统的关系模型 (1NF) 进行扩充,引入了少数构造器, 称为复杂数据模型
一种是偏重于结构的扩充 一种是侧重于语义的扩充
❖ 2. 增加全新的数据构造器和数据处理原语,以表达复杂的 结构和丰富的语义
❖ 3. 面向对象的数据模型 ❖ 4. XML数据模型
13.3 数据库系统发展的特点
❖ 空间数据查询语言是为了正确表达以上查询请求
空间数据库管理系统
❖ 功能
提供对空间数据和空间关系的定义和描述 提供空间数据查询语言,实现对空间数据的高效查询和操
作 提供对空间数据的存储和组织 提供对空间数据的直观显示等
第十三章 数据库技术新发展
13.1 数据库技术发展概述 13.2 数据库发展的3个阶段 13.3 数据库系统发展的特点 13.4 数据库技术发展趋势 13.5 小结
❖ 数据库技术是计算机科学技术中发展最快的领域 之一,也是应用最广的技术之一
第一代的网状、层次数据库系统 第二代的关系数据库系统 第三代数据库系统--数据库大家族
数据库技术发展概述(续)
❖ 下图通过一个三维空间的视图从数据模型、新技术内容、应用领域3个方面, 描述了数据库系统的发展、特点和相互关系
❖ 目标
提供对紧急情况及时反应的能力
❖ 方法
嵌入ECA,即事件-条件-动作规则
主动数据库(续)
❖ 为支持ECA规则,主动数据库的研究集中于解决 以下问题:
1. 主动数据库的数据模型和知识模型 2. 执行模型 3. 条件检测 4. 事务调度 5. 体系结构 6. 系统效率
13.3 数据库系统发展的特点
并行计算技术利用多处理机并行处理产生的规模效益来提高系统 的整体性能,为数据库系统提供了一个良好的硬件平台
2、数据库系统概论(王珊-萨师煊)第二章关系数据库
– 代表:SQL(Structured Query Language)
2.3 关系的完整性
2.3.1 关系的三类完整性约束 2.3.2 实体完整性 2.3.3 参照完整性 2.3.4 用户定义的完整性
2.3.1 关系的三类完整性约束
• 实体完整性、参照完整性:
关系模型必须满足的完整性约束条件称为关系的两个不
(6)码
–
候选码(Candidate key) 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性 组为候选码 简单的情况:候选码只包含一个属性
–
全码(All-key)
最极端的情况:关系模式的所有属性组是这个关系模式的候选码, 称为全码(All-key)
–
主码
若一个关系有多个候选码,则选定其中一个为主码(Primary key)
关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
假设:导师与专业:n:1, 导师与研究生:1:n 主码:POSTGRADUATE(假设研究生不会重名)
SUPERVISOR 张清玫 张清玫 SPECIALITY 计算机专业 计算机专业 POSTGRADUATE 李勇 刘晨
(3)单元关系与二元关系
当n=1时,称该关系为单元关系或一元关系
当n=2时,称该关系为二元关系
(4)关系的表示
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域
(5)属性
– – –
关系中不同列可以对应相同的域 为了加以区分,必须对每列起一个名字,称为属性(Attribute) n目关系必有n个属性
数据库系统概论
An Introduction to Database System
第二章 关系数据库
2.3 关系的完整性
2.3.1 关系的三类完整性约束 2.3.2 实体完整性 2.3.3 参照完整性 2.3.4 用户定义的完整性
2.3.1 关系的三类完整性约束
• 实体完整性、参照完整性:
关系模型必须满足的完整性约束条件称为关系的两个不
(6)码
–
候选码(Candidate key) 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性 组为候选码 简单的情况:候选码只包含一个属性
–
全码(All-key)
最极端的情况:关系模式的所有属性组是这个关系模式的候选码, 称为全码(All-key)
–
主码
若一个关系有多个候选码,则选定其中一个为主码(Primary key)
关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
假设:导师与专业:n:1, 导师与研究生:1:n 主码:POSTGRADUATE(假设研究生不会重名)
SUPERVISOR 张清玫 张清玫 SPECIALITY 计算机专业 计算机专业 POSTGRADUATE 李勇 刘晨
(3)单元关系与二元关系
当n=1时,称该关系为单元关系或一元关系
当n=2时,称该关系为二元关系
(4)关系的表示
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域
(5)属性
– – –
关系中不同列可以对应相同的域 为了加以区分,必须对每列起一个名字,称为属性(Attribute) n目关系必有n个属性
数据库系统概论
An Introduction to Database System
第二章 关系数据库
数据库系统概论(王珊_萨师煊)第四章数据库安全性
国脉信息学院——数据库系统概论
4.2 数据库安全性控制
4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收
4.2.5 数据库角色
4.2.6 强制存取控制方法
国脉信息学院——数据库系统概论
4.2.3 自主存取控制方法
定义存取权限
存取权限
存取权限由两个要素组成
国脉信息学院——数据库系统概论
例题
[例1] 把查询Student表权限授给用户U1
GRANT SELECT ON TABLE Student TO U1;
国脉信息学院——数据库系统概论
例题(续)
[ 例 2] 把对 Student 表和 Course 表的全部权限 授予用户U2和U3 GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3;
直接或编写应用程序执行非授权操作
通过多次合法查询数据库从中推导出一些保密数 据
国脉信息学院——数据库系统概论
4.2 数据库安全性控制概述
通过多次合法查询数据库从中推导出一些保密数 据
例:某数据库应用系统禁止查询单个人的工资,但 允许查任意一组人的平均工资。用户甲想了解张 三的工资,于是他: 首先查询包括张三在内的一组人的平均工资 然后查用自己替换张三后这组人的平均工资 从而推导出张三的工资 破坏安全性的行为可能是无意的,故意的,恶意
三类计算机系统安全性问题
技术安全类 管理安全类 政策法律类
国脉信息学院——数据库系统概论
4.1 计算机安全性概论
4.1.1 计算机系统的三类安全性问题
4.1.2 安全标准简介
国脉信息学院——数据库系统概论
数据库系统概论(王珊_萨师煊)第三章关系数据库标准语言SQL
An Introduction to Database System
2.高度非过程化
非关系数据模型的数据操纵语言“面向过
程”,必须制定存取路径
SQL只要提出“做什么”,无须了解存取
路径。 存取路径的选择以及SQL的操作过程由系
统自动完成。
An Introduction to Database System
SQL是独立的语言
能够独立地用于联机交互的使用方式
SQL又是嵌入式语言
SQL能够嵌入到高级语言(例如C,C++, Java)程序中,供程序员设计程序时使用
An Introduction to Database System
5.语言简洁,易学易用
SQL功能极强,完成核心功能只用了9个动词。
表 3.1 SQL 语言的动词 SQL 功 能 数 据 查 询 数 据 定 义 数 据 操 纵 数 据 控 制 动 词 SELECT CREATE, DROP, ALTER INSERT,UPDATE DELETE GRANT,REVOKE
An Introduction to Database System
主码
课程表Course
[例6] 建立一个“课程”表Course
CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY, 先修课 Cname CHAR(40), Cpno CHAR(4) , Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Cpno是外码 Course(Cno) 被参照表是Course 被参照列是Cno );
3.1 SQL概述
3.2 学生-课程数据库
3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 视图 3.7 小结
2.高度非过程化
非关系数据模型的数据操纵语言“面向过
程”,必须制定存取路径
SQL只要提出“做什么”,无须了解存取
路径。 存取路径的选择以及SQL的操作过程由系
统自动完成。
An Introduction to Database System
SQL是独立的语言
能够独立地用于联机交互的使用方式
SQL又是嵌入式语言
SQL能够嵌入到高级语言(例如C,C++, Java)程序中,供程序员设计程序时使用
An Introduction to Database System
5.语言简洁,易学易用
SQL功能极强,完成核心功能只用了9个动词。
表 3.1 SQL 语言的动词 SQL 功 能 数 据 查 询 数 据 定 义 数 据 操 纵 数 据 控 制 动 词 SELECT CREATE, DROP, ALTER INSERT,UPDATE DELETE GRANT,REVOKE
An Introduction to Database System
主码
课程表Course
[例6] 建立一个“课程”表Course
CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY, 先修课 Cname CHAR(40), Cpno CHAR(4) , Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Cpno是外码 Course(Cno) 被参照表是Course 被参照列是Cno );
3.1 SQL概述
3.2 学生-课程数据库
3.3 数据定义 3.4 数据查询 3.5 数据更新 3.6 视图 3.7 小结
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基数(Cardinal number)
若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基
数M为:
n
M mi i1
笛卡尔积的表示方法
笛卡尔积可表示为一个二维表
表中的每行对应一个元组,表中的每列对应一个域
An Introduction to Database System
Shared Data Banks”, 《Communication of the
ACM》,1970
之后,提出了关系代数和关系演算的概念
1972年提出了关系的第一、第二、第三范式
1974年提出了关系的BC范式
An Introduction to Database System
第二章 关系数据库
关系也是一个二维表,表的每行对应一个元组,表的每
列对应一个域
表 2.2 SAP 关系
SUPERVISOR 张清玫 张清玫 刘逸
SPECIALITY 信息专业 信息专业 信息专业
POSTGRADUATE 李勇 刘晨 王敏
5)属性
关系中不同列可以对应相同的域 为了加以区分,必须对每列起一个名字,称为属性(Attribute) n目关系必有n个属性
2.1.1 关系
单一的数据结构—关系
现实世界的实体以及实体间的各种联系均用关系来表示
逻辑结构—二维表
从用户角度,关系模型中数据的逻辑结构是一张二维表
建立在集合代数的基础上
An Introduction to Database System
关系(续)
⒈ 域(Domain) 2. 笛卡尔积(Cartesian Product) 3. 关系(Relation)
An Introduction to Database System
⒈ 域(Domain)
域是一组具有相同数据类型的值的集合。例:
整数 实数 介于某个取值范围的整数 长度指定长度的字符串集合 {‘男’,‘女’} ……
An Introduction to Database System
2.1 关系数据结构及形式化定义 2.2 关系操作 2.3 关系的完整性 2.4 关系代数 2.5 关系演算 2.6 小结
An Introduction to Database System
2.1 关系数据结构及形式化定义
2.1.1 关系 2.1.2 关系模式 2.1.3 关系数据库
An Introduction to Database System
王敏
信息专业
李勇
信息专业
刘晨
信息专业
王敏 An Introduction to Database System
3. 关系(Relation)
1) 关系
D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的 关系,表示为
R(D1,D2,…,Dn)
R:关系名 n:关系的目或度(Degree)
表 2.1 D1,D2,D3 的笛卡尔积
SUPERVISOR 张清玫 张清玫 张清玫 张清玫 张清玫 张清玫 刘逸 刘逸 刘逸 刘逸 刘逸 刘逸
SPECIALITY
POSTGRADUATE
计算机专业
李勇
计算机专业
刘晨
计算机专业
王敏
信息专业
李勇
信息专业
刘晨
信息专业
王敏
计算机专业
李勇
计算机专业
刘晨
计算机专业
关系(续)
D1,D2,…,Dn的笛卡尔积的某个子集才有实际含义
例:表2.1 的笛卡尔积没有实际意义 取出有实际意义的元组来构造关系
关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE) 假设:导师与专业:1:1, 导师与研究生:1:n
主码:POSTGRADUATE(假设研究生不会重名) SAP关系可以包含三个元组 { (张清玫,计算机专业,李勇),
2. 笛卡尔积(Cartesian Product)
笛卡尔积
给定一组域D1,D2,…,Dn,这些域中可以有相同的。 D1,D2,…,Dn的笛卡尔积为: D1×D2×…×Dn =
{(d1,d2,…,dn)|diDi,i=1,2,…,n} 所有域的所有取值的一个组合 不能重复
An Introduction to Database System
An Introduction to Database System
关(续)
6) 码
候选码(Candidate key) 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性 组为候选码 简单的情况:候选码只包含一个属性
全码(All-key) 最极端的情况:关系模式的所有属性组是这个关系模式的候选码, 称为全码(All-key)
数据库系统概论
An Introduction to Database System
第二章 关系数据库
An Introduction to Database System
关系数据库简介
提出关系模型的是美国IBM公司的E.F.Codd
1970年提出关系数据模型
E.F.Codd, “A Relational Model of Data for Large
2) 元组
关系中的每个元素是关系中的元组,通常用t表示。
3) 单元关系与二元关系
当n=1时,称该关系为单元关系(Unary relation)或一元关系 当n=2时,称该关系为二元关系(Binary relation)
An Introduction to Database System
关系(续)
4) 关系的表示
主码 若一个关系有多个候选码,则选定其中一个为主码(Primary key) 主属性 候选码的诸属性称为主属性(Prime attribute) 不包含在任何侯选码中的属性称为非主属性( Non-Prime attribute)
或非码属性(Non-key attribute)
An Introduction to Database System
笛卡尔积(续)
元组(Tuple)
笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)
(张清玫,计算机专业,李勇)、(张清玫,计算机专业,刘晨)等都是元组
分量(Component)
笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量 张清玫、计算机专业、李勇、刘晨等都是分量