电子科大数据库复习PPT

合集下载

电子科技大学,数据库系统第6章 数据库恢复技术

电子科技大学,数据库系统第6章 数据库恢复技术

START> T的一次write(X)操作导致向日志中写入一条新 记录 最后,当T全部操作结束,被改变的所有数据项已 写入磁盘后向日志中写入记录<T, COMMIT>。
DataBase@UESTC 电子科技大学 · 计算机科学 · 数据库 ·
6.3 恢复的实现技术
要保证系统在发生故障后能恢复,事务必须遵循两 条规则:
若故障发生在图6-4(b)的时刻,那么尽管<T1, COMMIT>记录写入了日志,但可能还没有写入稳 定的存储器中。如果记录已写入稳定的存储器, 则恢复情况就如同图6-4(c)所示情况。而如果 该记录还没有写入稳定的存储器中,恢复处理同 图6-4(a)的情况。
DataBase@UESTC 电子科技大学 · 计算机科学 · 数据库 ·

恢复机制使用以下恢复过程: Undo(Ti):将事务Ti更新的所有数据项的值设 为旧值。

该方法在恢复时忽略已提交的事务并撤销未完成事务的 影响。

由于是撤销未完成的事务,只需要数据项的旧值, 前面介绍的更新日志记录结构可以简化,省去新值 字段。即日志记录<T,X,V1 >表示:事务T对数 据项X执行写操作,写前的旧值为V1。
DataBase@UESTC 电子科技大学 · 计算机科学 · 数据库 ·
6.3 恢复的实现技术
若故障发生在图6-6(a)时刻,日志记录<T1, COMMIT>可能在主存中,也可能已刷新到磁盘上。 若已刷新到磁盘上,则认为事务已提交,恢复管理 器什么都不做;若还在主存中,那么恢复管理器认 为事务T1未完成。它由后向前扫描日志,首先遇到 记录<T1,B,30>,于是将数据库中的数据项B修 改为30。接着,遇到记录<T1,A,20>并将数据项 A修改为20。最后,恢复管理器将<T1,ABORT> 记录写到日志中,并强制刷新日志。 若故障发生在图6-6(b)、6-6(c)、6-6(d)时 刻,处理同上面的撤销操作。

《数据库学习资料》PPT课件

《数据库学习资料》PPT课件
返回本章首页
1.1 数据库系统概论
特点: 1>数据不保存 2>应用程序管理数据 3>数据不共享 4>数据不具有独立性
返回本章首页
1.1 数据库系统概论
2、文件系统阶段 特点: 1>数据可以长期保存
2>由文件系统管理数据
3>数据共享性差,冗余度高
4>数据独立性差
1.1 数据库系统概论
1.1.3 数据库系统的特点 数据结构化 数据的共享性高,冗余度低,易扩充 数据的独立性高
返回本章首页
第2 章 关系数据库
2.1 关系模型概述 2.2 关系数据结构及形式化定义 2.3 关系的完整性 2.4 关系代数 2.5 小结
2.1 关系模型概述
1.关系数据结构--关系 现实世界的实体以及实体间的各种联系均用关系 来表示. 从用户角度,关系模型中数据的逻辑结构是一张二 维表. 2.关系操作集合 <1>常用操作 查询 选择、投影、连接、除、并、交、差 数据更新 插入、删除、修改
[ < ] X1θY1 [ >][φ [ < ] X2θY2 [ >]]… θ:比较运算符〔>,≥,<,≤,=或<>〕 X1,Y1等:属性名、常量、简单函数;属性名也 可以用它的序号来代替; φ:逻辑运算符〔∧或∨〕 [ ]:表示任选项
2.4.2 专门的关系运算 2. 投影〔Projection〕
返回本章首页
1.2 数据模型
在关系模型中,实体以及实体间的联系都是 用关系来表示.
关系模型要求关系必须是规范化的,即要求 关系必须满足每一个分量必须是一 个不可在分的数据项,也就是说,不允许表中还 有表. 关系模型的主要特点:
1、关系的每一项不可再分; 2、每一竖列数据项是同属性的.列数根据需 要而定,各列顺序任意. 3、每一横行记录是由一个个体事物的诸多 属性项构成,记录的顺序是任意的; 4、一个关系是一个二维表,不允许有相同的 字段名,也不允许有相同的记录行. 返回本章首页

杭州电子科技大学数据库复习大纲

杭州电子科技大学数据库复习大纲

数据库原理一、名词解释1.DBS:数据库系统(DataBase System),是指计算机系统中引入数据库后的系统构成,由计算机硬件、操作系统、DBMS、DB、应用程序和用户以及数据库开发和管理人员等组成。

2.ERP:企业资源规划(Enterprise Resource Planning)。

3.GIS:地理信息系统(Geographic Information System)。

4.CAD:计算机辅助设计(Computer-Aided Design)。

5.DB:数据库(DataBase),是存储在计算机系统内的有结构的数据集合。

6.DDL:数据定义语言(Data Definition Language),用户利用DDL可以方便地定义数据库中数据的逻辑结构。

7.DML:数据操纵语言(Data Manipulation Language),用户利用DML可以实现对数据库中数据的各种操作。

8.DCL:数据控制语言(Data Control Language),用来实现对不同级别用户的访问控制功能。

9.DBA:数据库管理员(DataBase Administrator),是数据库所属单位的代表。

10.SA:系统分析员(System Analyst)。

11.DBMS:数据库管理系统(DataBase Management System),是在操作系统支持下工作的数据管理软件,是支持用户创建和维护数据库的一组程序包。

12.RDBMS:关系型数据库管理系统,通过数据、关系和对数据的约束三者组成的数据模型来存放和管理数据。

13.B/S:浏览器/服务器系统,是基于互联网的一种分布式结构方式,一般由客户机、应用服务器及数据库服务器三部分组成;C/S:客户/服务器系统14.Relation:关系,一个关系可用一个表来表示,每个关系(表)都有与其他关系(表)不同的名称。

15.Attribute:属性,关系中的每一列即为一个属性。

电子科大_数据库技术_第2章 关系数据模型

电子科大_数据库技术_第2章 关系数据模型

学以致用 用以促学
DATABASE@UESTC
关系实例
关系实例是由命名的若干列和行组成的表格。一般地,关系指代 实例。 关系中的行称为元组,类似于文件中的记录,但与文件记录的不 同之处是,所有的元组的列数相同,并且一个关系中不存在两个 相同的元组。 关系实例中元组的数目称为基数(Cardinality)。 在关系模型中,关系中的列一般都应该被命名。由于关系是元组 的集合,所以元组的次序是无关紧要的。
基本术语:关系
关系(Relation)是笛卡 尔积的一个有意义的子 集
一个关系就是一张二维表 通常将一个没有重复行、重 复列的二维表看成一个关系 元组 。 每个关系都有一个关系名。
关系名:患者
关系
属性
二维表存放两类数据:
实体本身的数据
实体之间的联系
分量
学以致用 用以促学
DATABASE@UESTC
学以致用 用以促学
DATABASE@UESTC
面向对象数据模型至少由以下这些部分组成:
数据模型的对象是真实世界实体或事件的抽象。 属性描述一个对象的特性。
共有一些相似特征的对象被归为一类。类是一组具有 共同结构和行为的相近的集合。
类在一个类层次结构中组织起来。类层次结构像一个 自顶向下的树,每个类只能有一个父类。
基本术语:关系
元组(Tuple)
表中的一行,表示一个实体,关系是由元组组成的。
属性(Attribute)
表中的每一列在关系中称为属性,每个属性都有一个属性名,属性值则 是各元组属性的取值。例如,属性:“Pno”,“Pname”,“Psex”, “Page”,“Pid”。
域(Domain)
1 2 2 3

西安电子科技大学数据结构课件复习

西安电子科技大学数据结构课件复习

for (i=1; i <=n; i++) { s=0; for (j=1; j <=n; j++) s=s+i×j; if (s%2) print(s) } 西安电子科技大学
①n ② n2 ③ n
- Xidian University, China
数据结构
– Data Structures
第二章 线性表
本章内容:
2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示与实现 2.3.1 线性链表 2.3.2 循环链表 2.3.3 双向链表 2.4 一元多项式的表示及相加
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
数据结构 Data Structures
期末复习
数据结构
– Data Structures
课程⺫目目录
第1章 概论 第2章 线性表 第3章 栈和队列 第4章 串 第5章 数组和干广广义表 第6章 树和二二叉树 第7章 图 第9章 查找 第10章 内部排序
西安电子科技大学 - Xidian University, China
西安电子科技大学 - Xidian University, China
数据结构
– Data Structures
第三章 栈和队列
本章内容:
3.1 栈 3.1.1 栈的定义 3.1.2 栈的表示和实现 3.2 栈的应用举例 3.3 栈与递归 3.4 队列 3.4.1 队列的定义 3.4.2 链队列 3.4.3 循环队列
A0,0 A1,0 A1,1
. . .
A7,0 A8,0 A7,1 A8,1

数据库第6章数据库恢复技术PPT课件

数据库第6章数据库恢复技术PPT课件
➢ 忽略未完成的事务并重复已提交事务的改变
DataBase@UESTC 电子科技大学 · 计算机科学 · 数据库 ·
13
6.3 恢复的实现技术
事务T的执行步骤
➢ 在T开始执行前,向日志中写入记录<T START> ➢ T的一次write(X)操作导致向日志中写入一条
新记录 ➢ 最后,当T全部操作结束,向日志中写入记录<T
隔离性(Isolation):当多个事务并发执行时, 一个事务的执行不能被其他事务干扰
持续性(Durability):一个事务一旦提交,它对 数据库中数据的改变应该是永久性的,即使系统 可能出现故障
DataBase@UESTC 电子科技大学 · 计算机科学 · 数据库 ·
6
6.1 事务概念
事务的状态
8
6.3 恢复的实现技术
恢复机制常用的技术
➢ 记录日志文件 ➢ 数据转储
DataBase@UESTC 电子科技大学 · 计算机科学 · 数据库 ·
9
6.3 恢复的实现技术
6.3.1 日志
日志是DBMS用来记录事务对数据库的更新操作 的文件,是日志记录的序列
日志记录描述内容主要包括:
➢ 事务标识符:执行写操作事务的唯一标识符。 ➢ 数据项标识符:事务操作对象的唯一标识符。 ➢ 前像(BI):更新前数据的旧值。 ➢ 后像(AI):更新后数据的新值。
DataBase@UESTC 电子科技大学 · 计算机科学 · 数据库 ·
4
6.1 事务概念
事务的显式定义
BEGIN TRANSACTION SQL 语句1 SQL 语句2 …
COMMIT END TRANSACTION
BEGIN TRANSACTION SQL 语句1 SQL 语句2 …

数据库基础复习资料课件

数据库基础复习资料课件
数据库设计
数据库设计概述
定义
数据库设计是指根据企业或机构 的需求,制定数据存储方案,确 定数据结构、表关系、索引等,
并对其进行优化。
目的
以提高数据存储和访问效率,保证 数据的一致性和完整性。
重要性
对于企业或机构来说,一个良好的 数据库设计能够提高工作效率,减 少错误,降低维护成本。
数据库设计的基本步骤
SQL语言是高度非过程化的,使得用户可以不必关心查询过程中的细节,而只需关 注要完成什么操作。
SQL语言可以用于与数据库建立连接、执行查询、插入数据、更新数据、删除数据 等操作。
SQL查询语言的语法
SQL查询语句的基本结构包括 SELECT、FROM、WHERE三个 子句,用于指定要查询的表、条
件以及要返回的列。
02
CATALOGUE
数据库系统结构
三级模式结构
01
02
03
概念模式
定义了数据的数据模型, 包括数据定义语言和数据 控制语言,描述了数据的 整体结构。
外模式
也称为用户模式,是用户 的数据视图,也就是用户 所能够看见和使用的那部 分数据的描述。
内模式
也称为存储模式,是数据 库在物理存储方面的描述, 包括了存储方法和物理结 构。
数据库基础复习 资料课件
• 数据库概述 • 数据库系统结构 • 数据库查询语言 • 数据库设计 • 数据库安全与维护 • 数据库应用系统开发
01
CATALOGUE
数据库概述
数据库的定义
数据库的定义
数据库是计算机系统中按照一定的数据结构来存储、组织、管理数据的仓库。它 以文件的形式存储数据,通过数据模型将数据组织起来,以便于后续的处理、查 询、分析、挖掘等操作。

数据库总复习课件资料.ppt

数据库总复习课件资料.ppt
精品课件
习题
设有学生课程数据库中包含如下关系: S(学号Sno,姓名Sname,性别Sex,系别SD,年
龄Age) C(课程号Cno,课程名Cname,上课学期Term,
学分Credit) SC(学号Sno,课程号Cno,成绩Grade) 其中,S为学生表,C为课程表,SC为学
生选课成绩表。
精品课件
/*外关键字约束*/
精品课件
3.1 SELECT命令(查询元组)
SELECT [ALL|DISTINCT]<目标列表达式> FROM <表名或视图名> [,<表名或视图 名> ] [WHERE <行条件表达式> ] [GROUP BY <列名1> [HAVING <组条件表 达式> ] ] [ORDER BY <列名2>[ASC| DESC] ];
一个表就是一个关系。 一张表格中的一列称为一个“属
性”,相当于记录中的一个数据 项(或称为字段),属性的取值 范围称为域。
精品课件
习题
假设某工厂物资管理系统涉及如下实体: 仓库(仓库号、面积) 货物(货号、名称) 职工(职工号、姓名、年龄、职称)
各实体之间具有如下所述联系:一个仓库可以 存放多种货物,一种货物可以存放在多个仓库中, 即仓库与货物之间存在“存货”联系;一个仓库有 多个职工当保管员,每一个职工只能在一个仓库工 作,即仓库与职工之间存在“工作”联系。
精品课件
三级模式结构
用户A1
用户A2
用户B1
用户B2外ຫໍສະໝຸດ 式A 视图A…外模式B 视图B
概念模式 (模式)
存储结构定义 (内模式)
基本表
存储数据库 (内视图)

数据库技术-杭州电子科技大学1#-第1章(杭电)-数据库基本原理

数据库技术-杭州电子科技大学1#-第1章(杭电)-数据库基本原理
用户1 应用程序1 应用程序2 用户2 … 用户m 应用程序3 数 据 库 管 理 系 统
DB
应用程序n
Copyright@2006 College of ITSoft (HZIEE)

Version No: 1.0
18
人工管理 背 时间 应用 硬件 景 软件 数据处理 数据管理者 数据面向对象 特 数据共享程度 —50 年代中 科学计算 无存储设备 无 OS 批处理 人 某一应用程序 无共享 及其冗余 数据独立性 点 数据结构化 数据控制能力
Copyright@2006 College of ITSoft (HZIEE) Version No: 1.0 4
4. Calvert岛预订中心
-- Internet数据库应用系统
Calvert岛是加拿大西海岸上一个鲜为人知的美丽岛 屿。为了把旅游业扩展到世界市场,Calvert岛商业厅开 发了具有三种功能的站点; ●宣传岛上的特色和娱乐机会 ●为后续的邮件宣传而索取并保存站点访问者的姓 名和地址 ●索取并保存对旅馆、住房及旅游服务的要求, 然后把这些要求通报给相应的商家
--单用户数据库系统
Mary Richards是一个专业的房屋粉刷匠,她拥有并管理一家 小公司。该公司包括她自己和另一个专业粉刷匠,在需要的 时候.还雇佣一些兼职的粉刷匠。Mary的业务已经进行了10 年,她收费合理(既不便宜.也不昂贵),并赢得了高质量的 粉刷匠的美誉;Mary的业务大部分来自请她粉刷房屋的客户 的重复业务,面且总是从他们那里得到口头参照意见。另外, Mary也有一部分业务来自建筑承包商和专业的室内设计公司
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0

桂林电子科技大学数据库总复习PPT课件

桂林电子科技大学数据库总复习PPT课件

用户定义完整性。
实体完整性规则:若属性A是基本关系R的主属性,则
属性A不能取空值。主码非空
参照完整性规则、若属性(或属性组)F是基本关系R
的外码,它与基本S的主码Ks相对应(基本关系R和S不一
定是不同的关系),则对于R中每个元组在F上的值必须
为:①或者取空值(F的每个属性值均为空值)②或者等
于S中某个元组的主码值。 An Introduction to.Database System
2NF ↓ 消除非主属性对码的传递函数依赖
3NF ↓ 消除主属性对码的部分和传递函数依赖
BCNF ↓ 消除非平凡且非函数依赖的多值依赖
4NF
An Introduction to.Database System
23
3. Armstrong公理系统 A1自反律:若YXU,则XY为F所蕴含。 A2增广律:若XY为F所蕴含,且ZU,则
⑦ < 条 件 表 达 式 > O A R N D < 条 件 表 达 式 > O A R N D < 条 件 表 达 式 > ...
An Introduction to.Database System
14
6. 数据更新
插入数据:① INSERT INTO <表名>[(<属性列 1>[,<属性列2>]…)]
An Introduction to.Database System
12
< 属 性 列 名 > < 属 性 列 名 >
② 属 性 列 名 [N O T ]B E T W E E N < 常 量 >
A N D < 常 量 >

电子科大模电复习课件

电子科大模电复习课件

2 互补推挽乙类功
1. 电路工作原理
当输入信号处于正半周时,且 幅度远大于三极管的开启电压,此 时NPN型三极管工作。有电流通过 负载RL,按图中方向由上到下,与 假设正方向相同。 当输入信号为负半周时,且幅度远 大于三极管的开启电压,此时PNP型 三极管工作。有电流通过负 载RL, 按图中方向由下到上,与假设正方向 相反。于是两个三极管一个正半周, 一个负半周轮流导电,在负载上将正 半周和负半周合成在一起,得到一个 完整的不失真波形。 ie1
D 与 S 有的型号可倒置使用 载流子 多子扩散少子漂移 输入量 电流输入 控制 多子漂移 电压输入
电流控制电流源 CCCS(β ) 电压控制电流源 VCCS(gm)
双极型和场效应型三极管的比较(续)
双极型三极管 噪声 较大
场效应管 较小 较小,有零温度系数点
温度特性 受温度影响较大
输入电阻 几十欧姆——几千欧姆 几兆欧姆以上 静电影响 不受静电影响 集成工艺 不易大规模集成 易受静电影响 适宜大、超大规模集成
负载
us

Rs
信号源
A
放大电 路 直流电源
RL
3.2
BJT偏置电路
(直流通路:提供合适的静态工作点Q 点,保证BJT发射结正偏,集电结反偏,放 大信号始终处在放大工作区,避免出现截止及饱和失真。介绍固定基流电路, 基极分压射极偏置电路)
第三章 晶体管放大电路基础(全书重点)
3.3 放大电路的技术指标及基本放大电路
电路形式:各种恒流源组成。
.差动放大器的输入输出方式
差动放大器共有四种输入输出方式: 1. 双端输入、双端输出(双入双出)(已讲) 2. 双端输入、单端输出(双入单出) 3. 单端输入、双端输出(单入双出) 4. 单端输入、单端输出(单入单出) 主要讨论的问题有: 差模电压放大倍数 共模电压放大倍数 差模输入电阻、输出电阻 分析方法----半电路分析法; (重点)

电子科大ppt课件

电子科大ppt课件
数字集成电路的结构特点( CMOS电路)
MOS晶体管模型 组合逻辑基本结构
逻辑单元的优化设计 组合单元的规模约束问题 时序逻辑的时间关系问题
1
MOS晶体管模型
典型尺度参数为: 沟道宽度W、沟道长度L,逻辑面积A;
2
MOS晶体管电学模型
典型参数为:
导通电阻、栅极电容、漏极电容和源极电容 3
电学参数与尺度参数的关系
在电路单元设计时,为了提高集成度,通常沟 道长度总是希望保持最小值,而沟道宽度却可
以进行加长;
4
CMOS基本电路结构
通常采用N网络与P网络互补连接构成:
N网络实现逻辑,并联为“与”,串联为“或” 5
典型CMOS基本电路
CMOS反相器
6
典型CMOS基本电路
与非门和或非门
7
典型CMOS基本电路
与或非结构(AOI)
18
面积优化的特点
逻辑单元的输出电阻取决于导通支路上串联晶 体管的数量。 对于N管,导通电阻为1; 对于P管,导通电阻为2。 根据逻辑的不同以及输出电平的不同,输出电 阻会有较大差异。
19
面积优化的特点
INV:
逻辑面积 2
NAND(n):
2n
NOR(n):
2n
AOI(2,2): 8
AOI(3,3): 12
性能优化的要点是保持所有逻辑单元的输出 电阻为最小(都等于1),上升时间和下降时 间能够保持一致,在此情况下,延迟时间单纯 取决于逻辑单元的电容。
这一方案可以简化电路性能的设计,同时提 高电路的速度。
22
性能优化的规则
沟道长度设置为最小尺度,通过调整沟道宽 度使电阻一致。
P管的宽度大于N管(=2); 当n个晶体管串联时,宽度应该增加为n倍; 沟道宽度增加时,相关电容和逻辑面积成比

电子科技大学,数据库系统第1章数据库系统概论-PPT课件

电子科技大学,数据库系统第1章数据库系统概论-PPT课件

DataBase UESTC ·
电子科技大学 ·计算机科学 ·数据
第1章 数据库系统概论
数据库的并行处理技术
多线程并行技术 数据库中的多线程 虚拟服务器结构(VSA)

DataBase UESTC ·
电子科技大学 ·计算机科学 ·数据
第1章 数据库系统概论 1.2.2 数据和数据管理技术
表是二维结构,它包括行和列 每个表行描述实体集中的一个实体 每个表列描述一个属性,每一列有一个明确的名字 每行/列的交叉描述一个数据值
5
6 7 8
每个表必须有一个属性或者一个属性复合体来唯一标识每一行
一列中的所有值必须是同一数据格式 每列有一个明确的数值范围 行和列的排列顺序对DBMS并不重要
表1-1 一个表的特征
跃。
DataBaseUESTC
电子科技大学 ·计算机科学 ·数据
第1章 数据库系统概论 数据管理技术面临挑战





信息爆炸可能产生大量垃圾 数据类型的多样化和一体化要求 当前的数据管理还不能处理不确定或不精确的模糊 信息 数据库安全 对数据库理解和知识获取的要求
DataBaseUESTC
电子科技大学 ·计算机科学 ·数据
电子科技大学 ·计算机科学 ·数据
第1章 数据库系统概论 1.1.2

数据库基本概念
数据库系统 数据库系统通常由 5 部分组成:硬件系统、数 据库集合、数据库管理系统及相关软件、数据库管 理员(DBA)和用户。
DataBaseUESTC
电子科技大学 ·计算机科学 ·数据
第1章 数据库系统概论 1.1.2
第1章 数据库系统概论
1.1 数据库的基本概念和相关术语 1.2 数据库技术的产生和发展 1.3 数据库的体系结构与组成

数据结构 罗吴蔓 电子科大 PPT 考研DS第三章

数据结构 罗吴蔓 电子科大 PPT 考研DS第三章

3.3 队列的表示和实现
一、队列的概念 队列(queue)是限定在一端插入,另一端删除的线性表。

允许插入的一端叫队尾( rear), 允许删除的一端叫队头(front),

不含元素的空表称为空队列 队列的运算特性是先进先出(First In First Out--FIFO)
出队列
a1
a2
3.2 递归过程
递归是栈的另一个重要应用,也是程序设计的一个强有力的工具。
1. 应用递归的原因和领域

┏ 1 当n = 0 阶乘 n!= ┃ ┗ n*(n-1)! 当n > 0 ┏ 0 n=0 Fibonacci数列 Fib(n)=┃ 1 n=1 ┗ Fib(n-1)+Fib(n-2) n > 1
结构清晰,程序易编、易读、易调试,程序正确性易证明等 优点;但运行效率低。
3.基本原理:基本原理是重复地把问题转化为与原问题相似的
新问题,• 到问题可解决为止。 直
4.关键点:①用较简单的新问题来表示较复杂的原问题
例如 :•!= n(n-1)!,或 n! = (n+1)!/(n+1) n 前者(n-1)!较原问题n!简单,可行; 而后者(n+1)!较n!更复杂,不可行。 ②不能产生自己调用自己的无穷序列,即必须有一个递归调 用序列的“出口”,来终止递归调用。
思考:在什么情况下出队要修
3.4 队列的表示和实现
3. 入队算法 PROC en_linkedque(VAR q:linkedquetp; x:
elemtp); new(p); p↑.data:= x; p↑.next:
= NIL;q.rear↑.next:= p;q.rear:= p
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VarChar(100)NOT NULL UNIQUE
);
实践练习: 创建STUDENT数据库表
列名 StudentID 类型 Char(10) 键 主键 是否非空 是 备注
StudentName
StudentGender BirthDay Major StudentPhone
VarChar(20)
SELECT TeacherID, TeacherName, TeacherTitle FROM TEACHER WHERE CollegeID IN (SELECT CollegeID FROM COLLEGE WHERE CollegeName=’计算机学院’);
例 若要找出STUDENT表中年龄最大和年龄最小的学生出生日期,其 查询SQL语句如下:
SELECT Min(Birthday) AS 最大年龄,Max(Birthday) AS 最小年龄 FROM STUDENT;
八、SQL内置函数和分组 在SQL语言中,可在查询结果集进行分组数据统计。这是通过在SEL ECT语句中加入Group By子语句来实现。 例 若要分专业统计 STUDENT 表中的学生人数。在 SELECT 语句中可 以使用GROUP BY分组子句完成统计,其查询SQL语句如下:
SELECT * FROM STUDENT ORDER BY Birthday DESC;
在默认情况下, SQL 查询的结果集是按指定列值的升序排列。 可以使用关键词ASC和DESC选定排序是升序或降序。
实践操作:执行上述SQL SELECT语句。
如果需要结果集按多个列排序,可以分别加入关键字ASC或DESC改变。 例 若要将STUDENT表查询数据,首先按出生日期降序排列,然后按 姓名升序排列,其数据查询SQL语句如下:
OfficePhone
CONSTRAINT );
Char(12)
DEPARTMENT_PK
NOT NULL,
PRIMARY KEY(DepartmentName )
例 创建PROJECT表中外键及其参照完整性约束
CREATE TABLE PROJECT( ProjectID Name Department MaxHours Int VarChar(30) Char(35) Numeric(6,2) NOT NULL IDENTITY(1,1), NOT NULL, NOT NULL, NOT NULL DEFAULT 100,
SELECT Major AS 专业, COUNT(StudentID) AS 学生人数 FROM STUDENT WHERE StudentGender=’男’ GROUP BY Major HAVING COUNT(*)>2;
九、使用子查询处理多个表 在实际应用中,通常需要关联多表才能获得所需的信息。在SELECT 查询语句中,可使用子查询方式实现多表关联查询。 例 在课程目录数据库中,希望能检索出“计算机学院”的教师名 单。该操作需要关联教师信息表TEACHER和学院信息表COLLEGE,才 能获得这些数据。这里可采用子查询方法实现两表关联查询,其查 询SQL语句如下:
第一章
第二章
2. 列约束条件 列约完整性约束关键词 PRIMARY KEY——主键
NOT NULL——非空值
NULL——空值 UNIQUE——值唯一 CHECK——有效性检查 DEFAULT——缺省值
例 雇员数据库表EMPLOYEE创建
列名
EmployeeNumber Name Int VarChar(30)
例 在学生信息表STUDENT中,学生“杨宾”的原有Email数据 为空,现需要修改为“yangbin@”。其数据修改的 SQL语句如下: STUDENT SET Email=’yangbin@’ WHERE StudentName=’杨宾’;
UPDATE
例 在学生信息表STUDENT中,删除姓名为 “张亮”的学生数据, 其数据删除的SQL语句如下:
NOT NULL UNIQUE, PRIMARY KEY(StudentID)
使用表约束定义主键的优点: 便于定义复合主键 可命名主键约束 便于定义代理键
例 项目数据库表PROJECT创建
列名 ProjectID Name Department Int Char(30) Char(35) 类型 否 否 键 主键 是否非空 是 是 是 备注 代理键100开始,增量10
SELECT * FROM STUDENT WHERE BirthDay BETWEEN ‘1995-04-01’ AND ‘1996-04-01’;
该语句执行后,其查询操作结果见下图所示。
例 若要从STUDENT表中查询邮箱域名为“@”的学生数 据。其数据查询SQL语句如下: SELECT * FROM STUDENT WHERE Email LIKE
SELECT * FROM STUDENT ORDER BY Birthday DESC , StudentName ASC;
例 若要统计STUDENT表中的学生人数,在SELECT语句中可以使 用COUNT()函数来计算,其查询SQL语句如下:
SELECT COUNT(*) AS 学生人数 FROM STUDENT;
ON DELETE CASCADE
);
CREATE TABLE ASSIGNMENT( ProjectID Int NOT NULL,
EmployeeNumber
HoursWorked CONSTRAINT
Int
NOT NULL,
Numeric(6,2) NULL, ASSIGNMENT_PK PRIMARY KEY(ProjectID,EmployeeNumber),
类型
主键 否

是否非空
是 是 代理键
备注
Department
Phone Email
Char(35)
Char(12) VarChar(100)

否 否

否 是
缺省值“人力资源”
要求取值唯一
CREATE TABLE EMPLOYEE(
EmployeeNumber Name Department Phone Email Int Char(35) Char(12) PRIMARY KEY IDENTITY(1,1), NOT NULL DEFAULT ‘人力资源’, NULL, VarChar(30) NOT NULL,
参照完整性约束
是否非空 是 是 是 是 否 备注 项目编号 项目名称 部门 最长工期 开始日期
EndDate
DateTime


结束日期
例 创建DEPARTMENT表
CREATE TABLE DEPARTMENT( DepartmentName DepartIntro OfficeNumber Char(35) VarChar(200) Char(15) NOT NULL, NOT NULL, NOT NULL,
StartDate
EndDate CONSTRAINT
DateTime
DateTime PROJECT_PK
NULL,
NULL, PRIMARY KEY(ProjectID),
CONSTRAINT
PROJ_DEPART_FK
FOREIGN KEY(Department)
REFERENCES DEPARTMENT (DepartmentName) ON UPDATE CASCADE
主键



OfficeNumber
OfficePhone
Text(15)
Text(12)




PROJECT表结构
列名 ProjectID Name Department MaxHours StartDate Int VarChar(30) Char(35) Numeric(6,2) DateTime 类型 主键 否 外键 否 否 键
SELECT Major AS 专业, COUNT(StudentID) AS 学生人数 FROM STUDENT GROUP BY Major;
实践操作:执行上述SQL SELECT语句。
在分组统计SQL查询语句中,还可以使用HAVING子句限定分组统 计的条件。 例 若要分专业统计STUDENT表中男生人数,但限定只显示人数大 于2的人数,其查询SQL语句如下:
EndDate
CONSTRAINT );
DateTime
PROJECT_PK
NULL,
PRIMARY KEY(ProjectID)
4、使用表约束定义外键
DEPARTMENT表结构
列名 类型 键 是否非空 备注
DepartmentName
DepartIntro
Text(35)
VarChar(200)
’%@’;
该语句执行后,其查询操作结果见下图所示。
六、对结果进行排序
在 SELECT查询语句返回的结果中,行的顺序是任意的。如 果需要结果集排序,可以在SELECT语句中加入ORDER BY关键字。
例 若要从 STUDENT 表中按学生出生日期降序输出学生数据,其数 据查询SQL语句如下。
StudentName
BirthDay
VarChar(30)
Date
NOT NULL,
NOT NULL, NOT NULL,
StudentGender Char(2)
Major
StudentPhone CONSTRAINT );
Varchar(30)
Char(11) STUDENT_PK
NOT NULL DEFAULT ‘软件工程’,
相关文档
最新文档