总结简介英文翻译
总结简介英文翻译 第一篇
The database accurately models the real world and follows integrity constraints.
Transactions in the future see the effects of transactions committed in the past inside of the databas
该数据库准确地模拟了现实世界,并遵循完整性约束。
未来的事务将看到过去提交的事务在数据库中的影响
总结简介英文翻译 第二篇
→ This is to check whether schedules are correct.
→ This is not how to generate a correct schedule.
There are different levels of serializability:
→ Conflict Serializability
→ View Serializability
考虑到这些冲突,我们现在可以理解to be可序列化的调度意味着什么了。
→这是检查调度是否正确。
这不是如何生成一个正确的调度。
序列化有不同的级别:
→冲突可串行性
→视图可串行性
Two schedules are conflict equivalent iff:
→ They involve the same actions of the same transactions, and
→ Every pair of conflicting actions is ordered the same way.
Schedule S is conflict serializable if:
→S is conflict equivalent to some serial schedule
两个时间表是冲突等效iff:
→它们涉及相同事务的相同动作,并且
→每对相互冲突的动作都以相同的方式排列。
Schedule S是冲突可序列化的,如果:
→S是冲突等价于某个串行调度
Schedule S is conflict serializable if you can transform S into a serial schedule by swapping consecutive non-conflicting operations of different transactions.
如果您可以通过交换不同事务的连续非冲突操作将S转换为串行调度,那么Schedule S就是冲突可序列化的。
Are there any faster algorithms to figure this out other than transposing operations?
有没有比转置运算更快的算法?
总结简介英文翻译 第三篇
Projection ( π ) 投影 P七六
Selection ( σ ) 选择 P七六
Union and Set-Difference 并差 P七七
Cross-Product 叉积 P七八
重命名 ρ P七八
Compound Operator: Intersection 交 P七七
Compound Operator: Join 连接 P七八
Other Types of Joins
Result schema same as that of cross-product. 结果模式与叉积的结果模式相同。 May have fewer tuples than cross-product. 可能具有比叉积更少的元组。 Equi-Join 等值连接 : Special case: condition c contains only conjunction of equalities. 特例:条件c只包含等式的连接。
例子 P八一
Summary 总结
Block diagram of a DBMS 数据库管理系统的框图
Disks, Memory, and Files 磁盘、内存和文件
Disks and Files 磁盘和文件
Why Not Store Everything in Main Memory? 为什么不把所有东西都存储在主内存中呢?
The Storage Hierarchy 存储层次结构 P二三一
Disks 磁盘 P二三一
Components of a Disk 磁盘组件
Accessing a Disk Page 访问磁盘页
Arranging Pages on Disk 在磁盘上排列页面
Disk Space Management 磁盘空间管理
Context 环境
Files of Records 文件记录
Unordered (Heap) Files 无序(堆)文件
Heap File Implemented as a List 作为链表实现的堆文件
Heap File Using a Page Directory 使用页面目录堆文件
Indexes (a sneak preview) 索引(预览)
Record Formats: Fixed Length 记录格式:固定长度
Record Formats: Variable Length 记录格式:可变长度
Summary 总结
Relational Query Languages 关系查询语言
The SQL Query Language SQL查询语言 P九七
数据库例子 P九八
Conceptual Evaluation 概念评估
Conceptual Evaluation 概念评估
Two more important topics 还有两个重要的话题
Integrity Constraints (Review) 完整性约束(回顾)
General Constraints 一般约束 P五零
Summary 总结
Review: Files, Pages, Records 回顾:文件、页面、记录
Tree-Structured Indexes: Introduction 树索引关于
Range Searches 范围搜索 P二五四
ISAM (Indexed Sequential Access Method) 索引顺序存储方法 P二五五
ISAM is a STATIC Structure ISAM是一种静态结构 P二五六
例子:插入二三*,四八*,四一*,四二*,然后删除四二*,五一*,九七* P二五六
B+ Tree Structure (一) B+树结构 P二五七
B+ Tree Equality Search B+数相等搜索
B+ Tree Range Search B+树范围搜索
B+ Trees in Practice 实践中的B+树
Inserting a Data Entry into a B+ Tree 向B+树中插入一个数据项 P二六一
Example B+ Tree – Inserting 八* P二六一
可以使用重分布避免分裂,但在实践中通常不会使用。
Data vs. Index Page Split (from previous example of inserting “八*”) 数据页和索引页分裂对比
Deleting a Data Entry from a B+ Tree 从B+树中删除一个数据项 P二六三
Example Tree (including 八*) Delete 一九* and 二零* … P二六四
重分布 P二六五
Bulk Loading of a B+ Tree B+树的块加载 P二六八
Summary of Bulk Loading 块加载总结
A Note on `Order’
Summary 总结
Why Sort? P三一五
二-Way Sort: Requires 三 Buffers 二路排序:需要三个缓冲区 P三一七
General External Merge Sort 常用外部合并排序 P三一八
Cost of External Merge Sort 外部排序花费 P三一九
Blocked I/O for External Merge Sort
Double Buffering 双缓冲 P三二三
Using B+ Trees for Sorting 使用B+树来排序
Clustered B+ Tree Used for Sorting 使用聚簇索引的B+树来排序 P三二四
Unclustered B+ Tree Used for Sorting 使用非聚簇索引的B+树来排序 P三二四
Summary 总结
Introduction 关于
Static Hashing 静态哈希 P二七八
Extendible Hashing 可扩展哈希 P二七九
例子 P二七九
Points to Note
目录翻倍
Equality Search in Extendible Hashing 可扩展哈希中的相等搜索 P二八三
Delete in Extendible Hashing 可扩展哈希中的删除 P二八二
Linear Hashing (LH) 线性哈希 P二八三
The Idea of Linear Hashing 线性哈希的想法 P二八三
Bucket Split 桶分裂 P二八四
线性哈希例子 P二八四
Extendible VS. Linear Hashing 可扩展哈希和线性哈希对比
Summary 总结
Introduction
Simple SQL Refresher 简单SQL复习
A Really Bad Query Optimizer 一个非常糟糕的查询优化器
Cost-based Query Sub-System 基于成本的查询子系统
The Query Optimization Game 查询优化博弈
Relational Operations 关系操作
Schema for Examples 模式例子 P三二九
Sailors (sid: integer, sname: string, rating: integer, age: real) Reserves (sid: integer, bid: integer, day: dates, rname: string)
Simple Selections 简单选择 P三二九
Our options … 我们的选择 P三二九
P三三一
Refinement for unclustered indexes 非聚簇索引的优化
General Selection Conditions 一般的选择条件 P三三一
(day<八/九/九四 AND rname=‘Paul’) OR bid=五 OR sid=三
二 Approaches to General Selections 一般选择的二种方法
Approach I: 方法一
Cheapest access path: An index or file scan that we estimate will require the fewest page I/Os. 最便宜的访问路径:我们估计需要最少页面I/O的索引或文件扫描。
Cheapest Access Path - Example 花费最少的访问路径 - 例子 P三三二
query: day < 八/九/九四 AND bid=五 AND sid=三
some options: B+tree index on day; check bid=五 and sid=三 afterward. 利用属性域day上的B+树索引,找出满足条件的元组标识 hash index on ; check day<八/九/九四 afterward. 哈希索引,找出满足条件的元组标识
How about a B+tree on ? How about a B+tree on ? How about a Hash index on ?
Approach II: use 二 or more matching indexes. 方法二:使用二个或更多匹配索引。
EXAMPLE: day<八/九/九四 AND bid=五 AND sid=三
Projection 投影 P三三四
Projection – improved 投影 – 优化 P三三五
Other Projection Tricks P三三七
Joins 连接 P三三八
Block Nested Loops Join 块嵌套循环连接 P三三九
Hash-Join 哈希连接 P三四五
Memory Requirements of Hash-Join 对内存的需求 P三四六
Cost of Hash-Join 哈希连接的花费
Set Operations 集合操作 P三四九
General Join Conditions 一般连接条件 P三四八
Aggregate Operations (AVG, MIN, etc.) 聚集操作(平均值、最小值等) P三五零
Summary 总结
Query Optimization Overview
Cost-based Query Sub-System 基于花费的查询子系统
Usually there is a heuristics-based rewriting step before the cost-based steps. 通常在基于成本的步骤之前有一个基于启发式的重写步骤。
Schema for Examples 模式实例
Sailors (sid: integer, sname: string, rating: integer, age: real) Reserves (sid: integer, bid: integer, day: dates, rname: string)
Motivating Example
Alternative Plans – Push Selects (No Indexes)
Summing up 总结
What is Needed for Optimization? 优化需要什么
Query Optimization 优化查询
Highlights of System R Optimizer R系统优化器的亮点
Query Blocks: Units of Optimization 查询块:优化单元
Schema for Examples
Sailors (sid: integer, sname: string, rating: integer, age: real) Reserves (sid: integer, bid: integer, day: dates, rname: string)
Translating SQL to Relational Algebra 将SQL翻译为关系代数 P三五九
Relational Algebra Equivalences 关系代数等式
More Equivalences 更多等式
Cost Estimation 花费估计 P三六零
P三六二
P三六六
P三七零
Summary 总结
Physical DB Design P四八三
One Key Decision: Indexes 一个关键决定:索引 P四八五
Index Selection 索引选择
Issues to Consider in Index Selection 索引选择中应考虑的几个问题
Example 一 例子一 P四八六
Example 二 例子二 P四八七
Examples of Clustering 聚簇例子 P四八八
Review: Database Design 回顾:数据库设计
The Evils of Redundancy 冗余的问题 P四五二
Functional Dependencies (FDs) 函数依赖 P四五五
Example: Constraints on Entity Set 示例:实体集上的约束
Problems Due to R -> W 由于R决定W引起的问题
Detecting Redundancy 检测冗余
Decomposing a Relation 分解关系
Refining an ER Diagram by FD: Attributes Can Easily Be Associated with the “Wrong” Entitity Set in ER Design. 通过FD细化ER图:属性很容易与ER设计中的“错误”实体集相关联。
Reasoning About FDs FDs的推理
Rules of Inference 推理规则 P四五六
Reflexivity:自反律 Augmentation:增补律 Transitivity:传递率
Union:合并 Decomposition:分解
Summary of Schema Refinement 模式优化概述
OVERVIEW 概述
COURSE OUTLINE 课程大纲
Relational Databases 关系数据库 Storage 存储 Execution 执行 Concurrency Control 并发控制 Recovery 恢复 Distributed Databases 分布式数据库 Potpourri
DISK-ORIENTED ARCHITECTURE 面向磁盘的体系结构
STORAGE HIERARCHY 存储层次结构
Volatile 易失的 Random Access 随机存取 Byte-Addressable 字节可寻址 Non-Volatile 非易失的 Sequential Access 顺序存取 Block-Addressable 块可寻址
CP_egisters CPU寄存器 CPU Caches CPU缓存 DRAM 动态随机存取存储器 SSD 固态硬盘 HDD 硬盘驱动器 Network Storage 网络存储
SEQUENTIAL VS. RANDOM ACCESS 顺序访问对比随机访问
Random access on non-volatile storage is usually much slower than sequential access. 非易失性存储器上的随机访问通常是比顺序访问慢得多。 DBMS will want to maximize sequential access. DBMS将希望最大化顺序访问。 → Algorithms try to reduce number of writes to random pages so that data is stored in contiguous blocks. 算法试图减少对随机页面的写入次数,以便将数据存储在连续块中。 → Allocating multiple pages at the same time is called an extent. 同时分配多个页面称为区段。
SYSTEM DESIGN GOALS 系统设计目标
DISK-ORIENTED DBMS 面向磁盘的数据库管理系统
WHY NOT USE THE OS? 为什么不使用操作系统?
DATABASE STORAGE 数据库存储
TODAY’S AGENDA 今天日程
FILE STORAGE 文件存储
STORAGE MANAGER 存储管理
DATABASE PAGES 数据库页面
DATABASE HEAP 数据库堆
HEAP FILE: LINKED LIST 堆文件:链表
PAGE HEADER 页头部
PAGE LAYOUT 页面布局
TUPLE STORAGE 元组存储
SLOTTED PAGES 分槽页结构
RECORD IDS 记录序号
TUPLE LAYOUT 元组布局
TUPLE HEADER 元组头部
TUPLE DATA 元组数据
DENORMALIZED TUPLE DATA 非规格化元组数据
CONCLUSION 总结
操作符被安排在一个树中。数据从树的叶向上流向根。根节点的输出是查询的结果。
A DBMS’s processing model defines how the system executes a query plan.
→ Different trade-offs for different workloads.
总结简介英文翻译 第四篇
Anomaly where an update operation changes the physical location of a tuple, which causes a scan operator to visit the tuple multiple times.
→ Can occur on clustered tables or index scans.
First discovered by IBM researchers while working on System R on Halloween day in 一九七六.
更新操作改变了元组的物理位置,导致扫描操作符多次访问元组的异常现象。
→可以发生在集群表或索引扫描。
一九七六年的万圣节,IBM研究人员在研究System R时首次发现。
Expression Evaluation
总结简介英文翻译 第五篇
Two operations conflict if:
→ They are by different transactions,
→ They are on the same object and at least one of them is a write.
如果两个操作发生冲突:
→他们是来自不同的事务,
→它们作用在同一个对象上,并且至少有一个是写的
总结简介英文翻译 第六篇
→ For any database state, the effect of executing the first schedule is identical to the effect of executing the second schedule.
→ Doesn’t matter what the arithmetic operations are!
等价调度
→对于任何数据库状态,执行第一个调度的效果与执行第二个调度的效果相同。
算术运算是什么并不重要!
总结简介英文翻译 第七篇
把一零零美元从安迪的银行账户转到他的发起人账户。
事务:
查一下安迪是否有一零零美元。
→从他的帐户中扣除一零零美元。
→给他的推广人账户加一零零美元
Execute each txn one-by-one (., serial order) as they arrive at the DBMS.
→ One and only one txn can be running at the same time in the DBMS.
Before a txn starts, copy the entire database to a new file and make all changes to that file.
→ If the txn completes successfully, overwrite the original file with the new one.
→ If the txn fails, just remove the dirty copy.
当每一个txn到达DBMS时,一个接一个地(即,串行顺序)执行它们。
→在DBMS中,一个且只有一个txn可以同时运行。
在启动txn之前,将整个数据库复制到一个新文件,并对该文件进行所有更改。
→如果txn成功完成,则用新文件覆盖原文件。
→如果txn失败,只需删除脏拷贝。
A (potentially) better approach is to allow concurrent execution of independent transactions.
Why do we want that?
→ Better utilization/throughput
→ Increased response times to users.
But we also would like:
→ Correctness
→ Fairness
一个(可能的)更好的方法是允许并发执行独立事务。
我们为什么要这样做?
→更好的利用率和吞吐量
→增加用户的响应时间。
但我们也想:
→正确性
→公平
Hard to ensure correctness…
→ What happens if Andy only has $一零零 and tries to pay off two promotors at the same time?
Hard to execute quickly…
→ What happens if Andy tries to pay off his gambling debts at the exact same time?
很难保证正确性……
如果安迪只有一零零美元,并试图同时支付给两个发起人会发生什么?
很难快速执行……
如果安迪试图同时还清他的赌债会发生什么?
Arbitrary(任意 )interleaving(交错 )of operations can lead to:
→ Temporary Inconsistency (ok, unavoidable)
→ Permanent Inconsistency (bad!)
We need formal correctness criteria (形式化的正确性标准) to determine whether an interleaving is valid.
任意交错操作会导致:
→临时不一致性(好吧,不可避免)
→永久的不一致性(糟糕!)
我们需要形式化的正确性标准来确定交错是否有效。
A txn may carry out many operations on the data retrieved from the database The DBMS is only concerned about what data is read/written from/to the database. → Changes to the “outside world” are beyond the scope of the DBMS
txn可以对从数据库中检索到的数据进行许多操作
DBMS只关心从数据库中读/写什么数据。
→对“外部世界”的改变超出了DBMS的范围。
A new txn starts with the BEGIN command. The txn stops with COMMIT either or ABORT(中止) :
→ If commit, the DBMS either saves all the txn’s changes or aborts it.
→ If abort, all changes are undone so that it’s like as if the txn never executed at all.
Abort can be either self-inflicted or caused by the DBMS.
一个新的txn以BEGIN命令开始。
txn通过COMMIT或ABORT停止:
→如果COMMIT(提交),DBMS要么保存所有txn的更改,要么中止它。
→如果ABORT (中止),所有的更改都被撤消,就像txn从来没有执行过一样。
中止可以是自己造成的,也可以是DBMS引起的。