数据库系统概论第四版王珊萨师煊ch

合集下载

数据库系统概论(第四版)王珊萨师煊chp

数据库系统概论(第四版)王珊萨师煊chp
▪ 通过这些元组指针到student表中检索到所有年龄大于20的学生。
An Introduction to Database System
第24页,共100页。
选择操作的实现(续)
❖[例1-C4] 以C4为例,Sdept=‘CS’ AND Sage>20,如果
Sdept和Sage上都有索引:
▪ 算法一:分别用上面两种方法分别找到Sdept=‘CS’的一组元组指针 和Sage>20的另一组元组指针
第27页,共100页。
连接操作的实现(续)
1. 嵌套循环方法(nested loop)
▪ 对外层循环(Student)的每一个元组(s),检索内层循环 (SC)中的每一个元组(sc)
▪ 检查这两个元组在连接属性(sno)上是否相等 ▪ 如果满足连接条件,则串接后作为结果输出,直到外
层循环表中的元组处理完为止
第21页,共100页。
一、 选择操作的实现
❖[例1]Select * from student where <条件表达 式> ; 考虑<条件表达式>的几种情况:
C1:无条件;
C2:Sno='200215121';
C3:Sage>20;
C4:Sdept='CS' AND Sage>20;
An Introduction to Database System
❖ 分类依据:支持关系模型的程度 ❖ 分类
⒈ 表式系统:支持关系数据结构(即表)
⒉ (最小)关系系统
支持:关系数据结构
选择、投影、连接关系操作
⒊ 关系完备的系统
支持:关系数据结构 所有的关系代数操作
⒋ 全关系系统 支持:关系模型的所有特征 特别是:数据结构中域的概念

数据库系统概论(第四版)_王珊_萨师煊_chp3-2

数据库系统概论(第四版)_王珊_萨师煊_chp3-2
SELECT Sdept FROM Student
WHERE Sname= ' 刘晨 '; 结果为: CS
An Introduction to Database System
带有IN谓词的子查询(续)
② 查找所有在IS系学习的学生。 SELECT Sno,Sname,Sdept FROM Student WHERE Sdept= ' CS ';
1 6 7
6
自身连接(续)
查询结果:
Cno
1 3 5
Pcno
7 5 6
An Introduction to Database System
连接查询(续)
一、等值与非等值连接查询 二、自身连接 三、外连接 四、复合条件连接
An Introduction to Database System
三、外连接
An Introduction to Database System
自身连接(续)
FIRST表(Course表)
Cno 1 2 3 4 5 6 7 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言 Cpno 5 1 6 7 Ccredit 4 2 4 3 4 2 4
6
An Introduction to Database System
自身连接(续)
SECOND表(Course表)
Cno 1 2 3 4 5 6 7 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言 Cpno 5 Ccredit 4 2 4 3 4 2 4
An Introduction to Database System
数据库系统概论

数据库系统概论第四版王珊萨师煊ch(1)

数据库系统概论第四版王珊萨师煊ch(1)
可编辑ppt
三、模式与表
❖ 每一个基本表都属于某一个模式 ❖ 一个模式包含多个基本表 ❖ 定义基本表所属模式
方法一:在表名中明显地给出模式名 Create table “S-T”.Student(......); /*模式名为 S-T*/ Create table “S-T”.Cource(......); Create table “S-T”.SC(......);
可编辑ppt
定义模式(续)
[例3]
CREATE SCHEMA TEST AUTHORIZATION ZHANG
CREATE TABLE TAB1(COL1 SMALLINT, COL2 INT, COL3 CHAR(20), COL4 NUMERIC(10,3),
COL5 DECIMAL(5,2) ); 为用户ZHANG创建了一个模式TEST,并在其中定义了一 个表TAB1。
可编辑ppt
3.1 SQL概述
❖SQL(Structured Query Language) 结构化查询语言,是关系数据库的标准语言
❖ SQL是一个通用的、功能极强的关系数据库语言
可编辑ppt
SQL概述(续)
❖3.1.1 SQL 的产生与发展 ❖3.1.2 SQL的特点 ❖3.1.3 SQL的基本概念
可编辑ppt
二、删除模式
DROP SCHEMA <模式名> <CASCADE|RESTRICT>
CASCADE(级联) 删除模式的同时把该模式中所有的数据库对象全部删除
RESTRICT(限制) 如果该模式中定义了下属的数据库对象(如表、视图等),则拒绝 该删除语句的执行。 当该模式中没有任何下属的对象时 才能执行。
可编辑ppt

数据库系统概论(第四版)_王珊_萨师煊_chp5

数据库系统概论(第四版)_王珊_萨师煊_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短语指定列值应该满足的条件

数据库系统概论(第四版)_王珊_萨师煊_chp3-1

数据库系统概论(第四版)_王珊_萨师煊_chp3-1

课程表:Course(Cno,Cname,Cpno,Ccredit)
学生选课表:SC(Sno,Cno,Grade)
Student表
学 号 Sno
姓 名 Sname
性 别 Ssex
年 龄 Sage
所在系 Sdept
200215121 200215122 200215123 200515125
李勇 刘晨 王敏 张立
查询教师的姓名、职称、应发工资
查询教师的姓名、职称、应发工资 π姓名,职称,应发工资(教师⋈工资)
查询学分大于3的所有课程名称、及其对应的授课 老师姓名和老师所在的系名
查询学分大于3的所有课程名称、及其对应的授课 老师姓名和老师所在的系名 π课程名称,姓名,系名称(σ学分>3(系部⋈教师⋈ 授课⋈ 课程))
3.4.3 嵌套查询
3.4.4 集合查询
3.4.5 Select语句的一般形式
3.4.1 单表查询
查询仅涉及一个表:
一、 选择表中的若干列 二、 选择表中的若干元组 三、 ORDER BY子句 四、 聚集函数 五、 GROUP BY子句
一、 选择表中的若干列
查询指定列
男 女 女 男
20 19 18 19
CS CS MA IS
Course表
课程号 Cno
1 2 3 4 5 6 7
课程名 Cname
数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言
先行课 Cpno
5 1 6 7 6
学分 Ccredit
4 2 4 3 4 2 4
SC表
学号 Sno
语言简洁,易学易用
SQL语言的动词非常少,主要包括:

数据库系统概论(第四版)王珊萨师煊chp3-2

数据库系统概论(第四版)王珊萨师煊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

数据库系统概论(第四版)_王珊_萨师煊_chp8


四、建立和关闭数据库连接
❖ 建立数据库连接 EXEC SQL CONNECT TO target [AS connection-name] [USER user-name];
target是要连接的数据库服务器: 常见的服务器标识串,如<dbname>@<hostname>:<port> 包含服务器标识的SQL串常量 DEFAULT
FROM Student
WHERE SDept = :deptname;
EXEC SQL OPEN SX; /*打开游标SX便指向查询结果的第一行*/
An Introduction to Database System
程序实例(续)
for ( ; ; )
/*用循环结构逐条处理结果集中的记录*/
{
EXEC SQL FETCH SX INTO :HSno, :HSname, :HSsex,:HSage;
主变量(续) ❖ 主变量的类型
▪ 输入主变量 ▪ 输出主变量 ▪ 一个主变量有可能既是输入主变量又是输出主变量
An Introduction to Database System
主变量(续) ❖ 指示变量:
▪ 一个主变量可以附带一个指示变量(Indicator Variable) ▪ 什么是指示变量 ▪ 指示变量的用途
嵌入式SQL的处理过程(续)
主语言程序 含ESQL语句
RDBMS的 预处理程序
ESQL语句转换 为函数调用
主语言 编译程序
目标语to Database System
嵌入式SQL的处理过程(续) ❖ 为了区分SQL语句与主语言语句, 所有SQL语句必须加前缀EXEC SQL,以(;)结束:

《数据库系统原理与设计》课后答案 (第四版,王珊,萨师煊)

第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。

答:( l )数据(Data ) :描述事物的符号记录称为数据。

数据的种类有数字、文字、图形、图像、声音、正文等。

数据与其语义是不可分的。

解析在现代计算机系统中数据的概念是广义的。

早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。

现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。

数据与其语义是不可分的。

500 这个数字可以表示一件物品的价格是500 元,也可以表示一个学术会议参加的人数有500 人,还可以表示一袋奶粉重500 克。

( 2 )数据库(DataBase ,简称DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。

数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

( 3 )数据库系统(DataBas 。

Sytem ,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

解析数据库系统和数据库是两个概念。

数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。

但是在日常工作中人们常常把数据库系统简称为数据库。

希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。

( 4 )数据库管理系统(DataBase Management sytem ,简称DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。

DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。

解析DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。

目前,专门研制DBMS 的厂商及其研制的DBMS 产品很多。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
❖ 数据库设计
▪ 数据库设计是指对于一个给定的应用环境,构造(设计)优化的 数据库逻辑模式和物理结构,并据此建立数据库及其应用系,包 括信息管理要求和数据操作要求。
▪ 在数据库领域内,常常把使用数据库的各类系统统称为数据库应 用系统。
▪ 目标:为用户和各种应用系统提供一个信息基础设施和高效率的 运行环境。
▪ 高效率的运行环境包括:数据库数据的存取效率、数据库存储空 间的利用率、数据库系统运行管理的效率等都是高的。
可编辑ppt
数据库设计概述
❖ 数据库是信息系统的核心和基础
▪ 把信息系统中大量的数据按一定的模型组织起来 ▪ 提供存储、维护、检索数据的功能 ▪ 使信息系统可以方便、及时、准确地从数据库中获得
所需的信息
❖ 数据库是信息系统的各个部分能否紧密地结合在 一起以及如何结合的关键所在
❖ 数据库设计是信息系统开发和建设的重要组成部 分
可编辑ppt
7.1 数据库设计概述
7.1.1 数据库设计的特点 7.1.2 数据库设计方法 7.1.3 数据库设计的基本步骤 7.1.4 数据库设计过程中的各级模式
功能说明
逻辑数据库设计
事务设计
物理数据库设计
程序说明
子模式设计
应用程序设计
建立数据库
程序编码调试
结构和行为分离的设计
可编辑ppt
7.1 数据库设计概述
7.1.1 数据库设计的特点 7.1.2 数据库设计方法 7.1.3 数据库设计的基本步骤 7.1.4 数据库设计过程中的各级模式
可编辑ppt
7.1.2 数据库设计方法
❖ ODL(Object Definition Language)方法 ➢ 面向对象的数据库设计方法
可编辑ppt
数据库设计方法(续)
❖ 计算机辅助设计
▪ ORACLE Designer 2000 ▪ SYBASE PowerDesigner
可编辑ppt
7.1 数据库设计概述
7.1.1 数据库设计的特点 7.1.2 数据库设计方法 7.1.3 数据库设计的基本步骤 7.1.4 数据库设计过程中的各级模式
❖ 要求数据库设计人员应该具备的技术和知识
▪ 数据库的基本知识; ▪ 软件工程的原理和方法; ▪ 程序设计的方法和技巧; ▪ 数据库的基本知识和设计技术; ▪ 应用领域的知识。
可编辑ppt
数据库设计方法(续)
❖ 手工与经验相结合方法
▪ 设计质量与设计人员的经验和水平有直接关系 ▪ 数据库运行一段时间后常常不同程度地发现各种问题,
增加了维护代价
❖ 规范设计法
▪ 基本思想:过程迭代和逐步求精
可编辑ppt
数据库设计方法(续)
❖ 新奥尔良(New Orleans)方法
➢ 将数据库设计分为四个阶段:需求分析、概念设计、逻辑设计和物理设计。
❖ 基于E-R模型的数据库设计方法
➢ 概念设计阶段广泛采用
❖ 3NF(第三范式)的设计方法 ➢ 逻辑阶段可采用的有效方法
可编辑ppt
7.1.3 数据库设计的基本步骤
❖ 数据库设计分6个阶段
▪ 需求分析 ▪ 概念结构设计 ▪ 逻辑结构设计 ▪ 物理结构设计 ▪ 数据库实施 ▪ 数据库运行和维护
❖ 需求分析和概念设计独立于任何数据库管理系统
❖ 逻辑设计和物理设计与选用的DBMS密切相关
可编辑ppt
数据库设计的基本步骤(续)
可编辑ppt
数据库设计的特点(续)
❖结构和行为分离的设计
▪ 传统的软件工程忽视对应用中数据语义的分析和抽象, 只要有可能就尽量推迟数据结构设计的决策
▪ 早期的数据库设计致力于数据模型和建模方法研究, 忽视了对行为的设计
可编辑ppt
数据库设计的特点(续)
现实世界
数据分析
功能分析
概念模型设计
功能模型
可编辑ppt
7.1.1 数据库设计的特点
❖ 数据库建设的基本规律
▪ 三分技术,七分管理,十二分基础数据 ▪ 管理
➢ 数据库建设项目管理 ➢ 企业(即应用部门)的业务管理 ▪ 基础数据 ➢ 收集、入库 ➢ 更新新的数据
❖ 结构(数据)设计和行为(处理)设计相结合
▪ 将数据库结构设计和数据处理设计密切结合 ▪ 结构(数据)设计:设计数据库框架或数据库结构 ▪ 行为(处理)设计:设计应用程序、事务处理等
3. 程序员(在系统实施阶段参与进来,负责编制程序) 4. 操作员(在系统实施阶段参与进来,准备软硬件环境)
可编辑ppt
二、数据库设计的过程(六个阶段)
⒈需求分析阶段 ⒉概念结构设计阶段 ⒊逻辑结构设计阶段 ⒋数据库物理设计阶段 ⒌数据库实施阶段 ⒍数据库运行和维护阶段
是 通 形 (准 与 是 最 需 需 户 个 否 将 持 对 然 的 必 模过整 成E为 用 和 根 行 数确 处 整 耗 求 求 的 阶 合-运 及 设概 的 其 后 考 要 式R对个 一逻 环 存 据 物 据了 理 个 费 分 分 实 段 理数 可 在 断用 宿 计图•••念 数 进 根 虑 的用数 个D辑 境 取 理 库解 ) 设 时 析 析 际 的 和地据 投 数建 编 组主 的D)结 据 行 据 , 视B户据 独数 的 方 存 内与 ; 计 间 是 的 要 设 实对库 入 据BM立 制 织语 结。构 模 优 用 在 图需库 立据 物 法 储 模M分 过 的 设 结 求 计 用其应 正 库S数 与 数言 果(转 型 化 户 基求设 于S特模 理 ) 安 式V析 程 一 计 果 , ,进用 式 系据 调 据提,换 ( 。 处 本i进计 具点型 结 排e用 的 步 数 是 将 并行系运统库试入供根为关理表w行的体和选构,户基。据否直影评统行运应库的据)某系的的综D关处取(建,需础库准接响价经。行用数逻B个数要基合键理一包立形求,的确影到M、过过程据辑据求础D、;的个括索成S(是起地响设调试程B序语设模、上的归需最存引数M包最点反到计整运中言计型安再概纳要适储,S据困后括映结与行必、和所全)建念与,合形结的难面数了果修后须工物支性;立模抽进应成构外、各据用是改即不具理型象。, • 并进行试运行
一、数据库设计的准备工作(选定参加设计的人员) 1. 数据库分析设计人员
▪ 数据库设计的核心人员 ▪ 自始至终参与数据库设计 ▪ 其水平决定了数据库系统的质量 2. 用户 ▪ 在数据库设计中也是举足轻重的 ▪ 主要参加需求分析和数据库的运行维护 ▪ 用户积极参与带来的好处
• 加速数据库设计 • 提高数据库设计的质量
数据库系统概论
An Introduction to Database System
第七章 数据库设计
可编辑ppt
第七章 数据库设计
7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6 数据库实施和维护 7.7 小结
可编辑ppt
数据库设计概述
相关文档
最新文档