数据库英文课件1PPT教学课件
合集下载
数据库系统原理英文PPT课件
file system: file’s logical structures and access methods
I/O system : drivers
memory controllers (i.e. disk controller),
on the basis of secondary storage’s physical structures, such as storage structures, access method
February 2011
7
第7页/共70页
§1.2 Purpose of Database Systems (cont.)
• Data management on the basis of file systems
• Example
— customer_record=<c_name, c_id, street, city> in Customer_File
February 2011
1
第1页/共70页
§1.0 DB, DBMS, DBS
• Definitions in the textbook • Database (DB) — a collection of interrelated data, stored in systems as files • Database management system (DBMS) — DB, or a collection of interrelated data — set of programs to access the data in DB
• Databases and DBS touch all aspects of our lives • Banking: all transactions • Airlines: reservations, schedules • Universities: registration, grades • Sales: customers, products, purchases • Manufacturing: production, inventory, orders, supply chain • Human resources: employee records, salaries, tax deductions
I/O system : drivers
memory controllers (i.e. disk controller),
on the basis of secondary storage’s physical structures, such as storage structures, access method
February 2011
7
第7页/共70页
§1.2 Purpose of Database Systems (cont.)
• Data management on the basis of file systems
• Example
— customer_record=<c_name, c_id, street, city> in Customer_File
February 2011
1
第1页/共70页
§1.0 DB, DBMS, DBS
• Definitions in the textbook • Database (DB) — a collection of interrelated data, stored in systems as files • Database management system (DBMS) — DB, or a collection of interrelated data — set of programs to access the data in DB
• Databases and DBS touch all aspects of our lives • Banking: all transactions • Airlines: reservations, schedules • Universities: registration, grades • Sales: customers, products, purchases • Manufacturing: production, inventory, orders, supply chain • Human resources: employee records, salaries, tax deductions
数据库英文PPT课件
8
第8页/共45页
Example: Deletion
• Delete from relation StarsIn the fact that Sydney GreenStreet was a star in The Maltese Falcon:
DELETE FROM StarsIn WHERE movieTitle = ‘The Maltese Falcon’ AND
value, the value that is placed in a component if no other value is known.
23
第23页/共45页
Example
• We might wish to use the character ‘?’ as the default for an unknown gender, and we might also wish to use the earliest possible date, DATE ‘0000-00-00’ for an unknown birthdate.
22
第22页/共45页
Default values
• When we create or modify tuples, we sometimes don’t have values for all components.
• To address this problem, SQL provides the NULL value. • However, there are times when we would prefer to use default
1. Insert a tuple or tuples.
2. Delete a tuple or tuples.
第8页/共45页
Example: Deletion
• Delete from relation StarsIn the fact that Sydney GreenStreet was a star in The Maltese Falcon:
DELETE FROM StarsIn WHERE movieTitle = ‘The Maltese Falcon’ AND
value, the value that is placed in a component if no other value is known.
23
第23页/共45页
Example
• We might wish to use the character ‘?’ as the default for an unknown gender, and we might also wish to use the earliest possible date, DATE ‘0000-00-00’ for an unknown birthdate.
22
第22页/共45页
Default values
• When we create or modify tuples, we sometimes don’t have values for all components.
• To address this problem, SQL provides the NULL value. • However, there are times when we would prefer to use default
1. Insert a tuple or tuples.
2. Delete a tuple or tuples.
《英文数据库》课件
介绍数据库范式理论的 基本概念和优点。
2 数据表设计原则
探讨设计高效、规范的 数据表的方法。
3 实际案例分析
通过实际案例,演示数 据表设计的步骤和技巧。
数据库安全
1 安全威胁
详细介绍数据库面临的各种安全威胁。
2 安全保护措施
讨论数据库安全的最佳实践和保护措施。
3 实践案例分析
分析真实案例,探究数据库安全的实际应用。
对比NoSQL和SQL数据库的优点和局限性。
数据库管理
1 备份与恢复
探讨数据库备份和恢复 的策略和方法。
2 容灾与高可用
3 监控与维护
介绍保障数据库容灾和 高可用性的技术和方案。
分享数据库监控和维护 的最佳实践。
结语
数据库的未来发展和数据库管理者的职业前景展望。
《英文数据库》PPT课件
# 英文数据库 数据库的定义、分类和应用领域。
SQL语言
1 基本知识
介绍SQL语言的基本概 念和常用语句。
2 DML操作
探讨SQL语言中的数据 操作语句,如插入、更 新和删除。
3 DDL操作
讲解SQL语言中的数据 定义语句,如创建、修 改和删除表。
数据表设计
1 数据库范式理论
数据库性能优化
1 基本理念
介绍数据库性能优化的 核心思想和原则工具和技术。
3 性能优化技巧
分享提高数据库性能的 实用技巧和方法。
NoSQL数据库
1 基本概念
介绍NoSQL数据库的主要概念和特点。
2 应用场景
分析NoSQL数据库在不同场景下的应用优势。
3 对比分析
2 数据表设计原则
探讨设计高效、规范的 数据表的方法。
3 实际案例分析
通过实际案例,演示数 据表设计的步骤和技巧。
数据库安全
1 安全威胁
详细介绍数据库面临的各种安全威胁。
2 安全保护措施
讨论数据库安全的最佳实践和保护措施。
3 实践案例分析
分析真实案例,探究数据库安全的实际应用。
对比NoSQL和SQL数据库的优点和局限性。
数据库管理
1 备份与恢复
探讨数据库备份和恢复 的策略和方法。
2 容灾与高可用
3 监控与维护
介绍保障数据库容灾和 高可用性的技术和方案。
分享数据库监控和维护 的最佳实践。
结语
数据库的未来发展和数据库管理者的职业前景展望。
《英文数据库》PPT课件
# 英文数据库 数据库的定义、分类和应用领域。
SQL语言
1 基本知识
介绍SQL语言的基本概 念和常用语句。
2 DML操作
探讨SQL语言中的数据 操作语句,如插入、更 新和删除。
3 DDL操作
讲解SQL语言中的数据 定义语句,如创建、修 改和删除表。
数据表设计
1 数据库范式理论
数据库性能优化
1 基本理念
介绍数据库性能优化的 核心思想和原则工具和技术。
3 性能优化技巧
分享提高数据库性能的 实用技巧和方法。
NoSQL数据库
1 基本概念
介绍NoSQL数据库的主要概念和特点。
2 应用场景
分析NoSQL数据库在不同场景下的应用优势。
3 对比分析
数据库系统原理(英文)1PPT课件
Database System Concepts- Chapter1 Introduction - 3
§1.0 DB, DBMS, DBS(cont.)
DBMS provides an environment that is both convenient and efficient for store and retrieve information definition of structures for storage of information data manipulation mechanisms data safety mechanisms
Definitions in some other textbooks Fig. 1.0.1 Database(DB) — a collection of interrelated data , stored in systems as files
February 2007
Database System Concepts- Chapter1 Introduction - 4
February 2007
Database System Concepts- Chapter1 Introduction - 7
§1.2 Purpose of Database Systems
In the early days, database applications were built on top of file systems
Chapter 1 Introduction
Main Parts in This Chapter
Database System Applications
Purpose of Database Systems
第一章数据库基本概念TheConceptsofDatabaseSystems-资料.ppt
7
§1.1.1 数据处理技术的发展概况
•数据库系统
数据库系统是一种可以有组织、动态地存储大量关联数据, 方便用户访问的计算机软件和硬件资源组成的系统。它与 文件系统的区别是:数据的结构化、最小的冗余度、多个 用户对数据的共享。 在数据库系统中,存储于数据库中的大量数据与应用程序 是相互独立的;数据是按照某种规则,以能反映数据之间 的内在联系的形式组织在库文件展概况
数据的变动不会影响到应用程序,反之亦然。 数据库系统对数据的完整性、唯一性、安全性提供了 统一而有效的管理手段。 数据库系统提供了管理和控制数据的各种简单明了的 操作命令及程序设计语言,使用户可以向数据库发出查询、 修改、统计等各种命令,得到满足不同需要的信息。
6
§1.1.1 数据处理技术的发展概况
• 数据库管理系统
DBMS - DataBase Management System 为数据库的建立、使用和维护而配置的软件,在操作 系统支持下运行。如Microsoft Access。 它是处理数据库访问的软件。 它提供数据库的用户接口。 DBMS的目的: 提供一个可以方便地、有效地存取数据库信息的环境
9
应用程序员
最终用户
应用系统 应用开发工具
DBMS 操作系统 数据库
数 据 库 系 统 构 成
数据库管理员 DBA
10
§1.1.1 数据处理技术的发展概况
4. 分布式数据库系统阶段
20世纪80年代中期。
• 分布式数据库系统
是数据库技术与计算机网络技术相结合的产物。 是一个逻辑上统一、地域上分布的数据集合,是计 算机网络环境中各个局部数据库的逻辑集合,同时受 分布式数据库管理系统的控制和管理。
第一章 数据库基本概念 The Concepts of Database Systems
§1.1.1 数据处理技术的发展概况
•数据库系统
数据库系统是一种可以有组织、动态地存储大量关联数据, 方便用户访问的计算机软件和硬件资源组成的系统。它与 文件系统的区别是:数据的结构化、最小的冗余度、多个 用户对数据的共享。 在数据库系统中,存储于数据库中的大量数据与应用程序 是相互独立的;数据是按照某种规则,以能反映数据之间 的内在联系的形式组织在库文件展概况
数据的变动不会影响到应用程序,反之亦然。 数据库系统对数据的完整性、唯一性、安全性提供了 统一而有效的管理手段。 数据库系统提供了管理和控制数据的各种简单明了的 操作命令及程序设计语言,使用户可以向数据库发出查询、 修改、统计等各种命令,得到满足不同需要的信息。
6
§1.1.1 数据处理技术的发展概况
• 数据库管理系统
DBMS - DataBase Management System 为数据库的建立、使用和维护而配置的软件,在操作 系统支持下运行。如Microsoft Access。 它是处理数据库访问的软件。 它提供数据库的用户接口。 DBMS的目的: 提供一个可以方便地、有效地存取数据库信息的环境
9
应用程序员
最终用户
应用系统 应用开发工具
DBMS 操作系统 数据库
数 据 库 系 统 构 成
数据库管理员 DBA
10
§1.1.1 数据处理技术的发展概况
4. 分布式数据库系统阶段
20世纪80年代中期。
• 分布式数据库系统
是数据库技术与计算机网络技术相结合的产物。 是一个逻辑上统一、地域上分布的数据集合,是计 算机网络环境中各个局部数据库的逻辑集合,同时受 分布式数据库管理系统的控制和管理。
第一章 数据库基本概念 The Concepts of Database Systems
英文数据库课件
1.2
Chapter 1 Introduction
1.1 Evolution of Database Management Systems 1.2 Levels of Abstraction 1.3 Data Models 1.4 Components of Database Management Systems
Degree
Credit Academic Division
Adress
Property Division
1.11
2) Database Systems
Advantages of using a DBMS to manage data:
Data independence
Provide an abstract view of data to hide the details of
1.4.1 Data Definition Language 1.4.2 Data Manipulation Language
1.4.3 Database Users
1.4.4 Database Administrator
1.4.5 Transaction Management
1.4.6 Storage Management
File Systems
Database Systems
1.5
1)File Systems
program 1
data 1
program 2
file systems
data 2
program n
data n
1.6
Example
Treasury
Sno Sname Department Allowance
数据库英文课件ch1
Database System Concepts - 5th Edition, May 23, 2005
1.5
©Silberschatz, Korth and Sudarshan
Levels of Abstraction
Physical level: describes how a record (e.g., customer) is stored. 物理 层 Logical level: describes data stored in database, and the relationships among the data. 逻辑层 type customer = record customer_id : string; customer_name : string; customer_street : string; customer_city : integer; end; View level: application programs hide details of data types. Views can also hide information (such as an employee’s salary) for security purposes. 视图层
Chapter 1: Introduction
Database System Concepts, 5th Ed.
©Silberschatz, Korth and Sudarshan See for conditions on re-use
Chapter 1: Introduction
Purpose of Database Systems View of Data Database Languages Relational Databases Database Design Object-based and semistructured databases Data Storage and Querying Transaction Management Database Architecture Database Users and Administrators Overall Structure History of Database Systems
数据库英文课件1
Notice SQL uses single-quotes for strings. SQL is case-insensitive, except inside strings.
5
Result of Query
title Pretty Women … length 119
6
Hale Waihona Puke Meaning of Single-Relation Query
14
Result of Query
title Pretty Women … length 1.98334 inHours hrs.
15
Complex Conditions in WHERE Clause
From Movie, find all the movies made after 1970 that are in black-and-white: SELECT title FROM Movie WHERE year > 1970 AND NOT inColor;
20
Ordering the output
To get output in sorted order, we add to the select-from-where statement a clause:
ORDER BY <list of attributes>
The order is by default ascending (ASC), but we can get the output highest-first by appending the keyword DESC.
Select-From-Where Statements Subqueries Grouping and Aggregation
5
Result of Query
title Pretty Women … length 119
6
Hale Waihona Puke Meaning of Single-Relation Query
14
Result of Query
title Pretty Women … length 1.98334 inHours hrs.
15
Complex Conditions in WHERE Clause
From Movie, find all the movies made after 1970 that are in black-and-white: SELECT title FROM Movie WHERE year > 1970 AND NOT inColor;
20
Ordering the output
To get output in sorted order, we add to the select-from-where statement a clause:
ORDER BY <list of attributes>
The order is by default ascending (ASC), but we can get the output highest-first by appending the keyword DESC.
Select-From-Where Statements Subqueries Grouping and Aggregation
数据库系统概念原书第5版(英文)第一章ppt
Database designers: design database ―schema‖ to model aspects of the real world Database application developers: build applications that interface with databases Database administrators (a.k.a. DBA‘s): load, back up, and restore data, fine-tune databases for performance DBMS implementors: develop the DBMS or specialized data management software, implement new techniques for query processing and optimization inside DBMS
August 15, 2013
Dept. of Comp. Sci. & Tech., Tongji Uni.
4
What is a database?
A very large, integrated collection of data
The amount of data is very large The data is structured and interrelated The data is integrated Entities (e.g., students, courses) Relationships (e.g., Li is taking Database and Knowledge) More recently, also includes active components (e.g. “business logic”)
August 15, 2013
Dept. of Comp. Sci. & Tech., Tongji Uni.
4
What is a database?
A very large, integrated collection of data
The amount of data is very large The data is structured and interrelated The data is integrated Entities (e.g., students, courses) Relationships (e.g., Li is taking Database and Knowledge) More recently, also includes active components (e.g. “business logic”)
数据库英文PPT
Delete from relation StarsIn the fact that Sydney GreenStreet was a star in The Maltese Falcon:
DELETE FROM StarsIn WHERE movieTitle = ‘The Maltese Falcon’ AND
movieYear = 1942 AND starName = ‘Sydney Greenstreet’;
10
Example: Delete all Tuples
Make the relation Likes empty: DELETE FROM Likes;
Note o WHERE clause needed.
3
Specifying Attributes in INSERT
We may add to the relation name a list of attributes. Two reasons to do so:
1. We forget the standard order of attributes for the relation.
2. We don’t have values for all attributes, and we want the system to fill in missing components with NULL or a default value.
4
Example: Specifying Attributes
1. Insert a tuple or tuples. 2. Delete a tuple or tuples. 3. Update the value(s) of an existing tuple or tuples.
DELETE FROM StarsIn WHERE movieTitle = ‘The Maltese Falcon’ AND
movieYear = 1942 AND starName = ‘Sydney Greenstreet’;
10
Example: Delete all Tuples
Make the relation Likes empty: DELETE FROM Likes;
Note o WHERE clause needed.
3
Specifying Attributes in INSERT
We may add to the relation name a list of attributes. Two reasons to do so:
1. We forget the standard order of attributes for the relation.
2. We don’t have values for all attributes, and we want the system to fill in missing components with NULL or a default value.
4
Example: Specifying Attributes
1. Insert a tuple or tuples. 2. Delete a tuple or tuples. 3. Update the value(s) of an existing tuple or tuples.
《ACCESS数据库》PPT课件
如果想在主表上显示“子数据表”的形式,可 以先打开主表,比如“客户信息表”,单击 “插入”菜单下的“子数据表”命令,弹出 “插入子数据表”对话框如下图:
创建查询
现在我们建立一个“订单”查询,建立这个查询就是为了将每份 订单中的各项信息都显示出来,包括“订单号”、“订货公司”、 “货品名称”、“货物单价”、“订货数量”、“订货金额”、 “经办人”和“订货时间”这些字段。
数据类型
字段的数据类型,在Access中有“文 本”、“备注”、“数字”、“日期/时 间”、“货币”、“自动编号”、“是/ 否”、“OLE对象”、“超级链接”、 “查阅向导”十种数据类型。
设置字段属性
设置完字段的“数据类型”,还可以设置字段的“属性”。表设 计器的下半部分都是用来设置表中字段的“字段属性”的,字段 属性包括有“字段大小”、“格式”、“输入法模式”等,设置 它们会对表中的数值产生影响。
设置主键
单击工具栏上的“视图”按钮,切换回表的设计视图,开始为表 设置主键。第五课的课后补充里曾经说过主键是什么。
设置表的主键非常简单,比如要将“订单信息表”中的“订单号” 字段作为表的“主键”,只要单击“订单号”这一行中的任何位 置,将这行设为当前行,然后单击工具栏上的“主键”按钮,按 钮会凹陷进去,在“订单号”一行最左面的方格中出现了一个 “钥匙”符号,表示“订单号”这一字段成为表的主键了。
父子表
通常在建立表之间的关系以后,Access会自动 在主表中插入子表。但这些子表一开始都是不 显示出来的。在Access中,让子表显示出来叫 做“展开”子数据表,让子表隐藏叫做将子数 据表“折叠”。展开的时候方便查阅订单信息, 而折叠起来以后有可以比较方便的管理“客户 信息表”。
插入子数据表
创建查询
现在我们建立一个“订单”查询,建立这个查询就是为了将每份 订单中的各项信息都显示出来,包括“订单号”、“订货公司”、 “货品名称”、“货物单价”、“订货数量”、“订货金额”、 “经办人”和“订货时间”这些字段。
数据类型
字段的数据类型,在Access中有“文 本”、“备注”、“数字”、“日期/时 间”、“货币”、“自动编号”、“是/ 否”、“OLE对象”、“超级链接”、 “查阅向导”十种数据类型。
设置字段属性
设置完字段的“数据类型”,还可以设置字段的“属性”。表设 计器的下半部分都是用来设置表中字段的“字段属性”的,字段 属性包括有“字段大小”、“格式”、“输入法模式”等,设置 它们会对表中的数值产生影响。
设置主键
单击工具栏上的“视图”按钮,切换回表的设计视图,开始为表 设置主键。第五课的课后补充里曾经说过主键是什么。
设置表的主键非常简单,比如要将“订单信息表”中的“订单号” 字段作为表的“主键”,只要单击“订单号”这一行中的任何位 置,将这行设为当前行,然后单击工具栏上的“主键”按钮,按 钮会凹陷进去,在“订单号”一行最左面的方格中出现了一个 “钥匙”符号,表示“订单号”这一字段成为表的主键了。
父子表
通常在建立表之间的关系以后,Access会自动 在主表中插入子表。但这些子表一开始都是不 显示出来的。在Access中,让子表显示出来叫 做“展开”子数据表,让子表隐藏叫做将子数 据表“折叠”。展开的时候方便查阅订单信息, 而折叠起来以后有可以比较方便的管理“客户 信息表”。
插入子数据表
1-Lecture 1数据库课件
DB Server
DBMS
DB
1.3 Database Applications
Database Users and Administrators
Database
1.3 Database Applications
Database Administrators(DBA)
The person who has central control of both the data and the programs that access those data. The functions of a DBA include:
A set of software programs for creating, storing, updating, and accessing the data of a DB eg. SQL Server, DB2, Oracle, MySQL
Application 1 Application 2 Application 3 DBMS
Function Requirements:
Course Data Management: Add, Delete, Update, Query Course Selection Management: Select, Update, Query Student Data Management: Add, Delete, Update, Query Teacher Data Management: Add, Delete, Update, Query Composite Query(eg. Find the students whose grades are higher than the average grade of all the students in a department)
数据库原理24学时英教ppt课件
– There may be many external schemas in a DB.
• Schema(模式): conceptual schema, logical schema
– Defines data from perspective systems designer;
– Independent of end users & data storage mechanism
?基本概念数据库的概念数据库管理系统的概念和功能数据库系统的概念和组成数据管理技术的发展?数据模型概念模型及er图表示方法数据模型的三大要素数据库领域中常用的数据模型关系模型的数据结构主要操作完整性约束?数据库系统结构数据库的三级模式结构体系结构数据独立性的概念及实现?关系数据库关系数据结构及形式化定义?域笛卡尔积关系主码外码关系模式关系代数运算符使用关系代数描述用户查询?sql语言sql语言的特点sql命令及使用?关系数据理论函数依赖等基本概念1nf2nf3nfbcnf的定义和判断关系模式设计不好可能出现的问题?数据库设计设计er图并转换为关系模式?事务事务的概念及特性?数据库恢复数据库恢复机制的功能故障种类及对数据库可能造成的影响恢复的实现技术备份日志?并发控制并发控制机制的功能并发调度的可串行性的定义封锁的概念?数据库安全性的概念及安全控制技术basicnotions?databasedbinessenceitsnothingmorethanacollectionofinformationthatexistsoveralongperiodoftime
Internal Schema Reflection, so application programs
needn’t been changed. 精选编辑ppt
Access数据库ppt课件
• 本章主要介绍Access 2010的一些基础
知识。
3
2.1.1 Access 2010的特点
• 更快的入门方式 • 为用户的数据建立集中化存取平台 • 在任何地方都能存取用户的应用程序、
数据或窗体
• 让专业设计深入Access 数据库 • 以拖放方式为数据库加入导航功能 • 更快、更轻松地完成工作 • 使用 IntelliSense 轻松建立运算式 4
• 3.“创建”选项卡
9
• 4.“外部数据”选项卡
“外部数据”选项卡包括导入并链接、 导出、收集数据3个选项组,在“外 部数据”选项卡中主要对Access 2010 以外的数据进行相关处理,如图所示。
• 5.“数据库工具”选项卡
“数据库工具”选项卡包括工具、宏、10
• 除了上述选项卡之外,还有一些隐藏
表对象 查询对象 窗体对象 报表对象 宏对象
12
2.2.1 表对象
• 在Access 2010数据库中,表对象是最
基础的对象,其它对象都依赖于表对 象,因此,表对象是使用Access 2010 的基础和关键。
• Access 2010把数据库中的表当做对象
来看待。
• 表由记录组成,记录由字段组成,表
2.1.2 Access 2010的启动和退出
• 整个Access 2010初
始界面可以分为三部 分,左侧是“文件操 作”区,在其中列出 了各种针对文件设立 的常用操作,用户可 以根据自身的需要选 择不同的操作来完成
5
• 用户可以单击窗体
左上角的“文件” 选项卡中的“新建” 选项创建一个空白 数据库,也可以单 击“打开”选项打 开一个已有的数据 库。
• 模块的功能与宏类似,但它定义的操
知识。
3
2.1.1 Access 2010的特点
• 更快的入门方式 • 为用户的数据建立集中化存取平台 • 在任何地方都能存取用户的应用程序、
数据或窗体
• 让专业设计深入Access 数据库 • 以拖放方式为数据库加入导航功能 • 更快、更轻松地完成工作 • 使用 IntelliSense 轻松建立运算式 4
• 3.“创建”选项卡
9
• 4.“外部数据”选项卡
“外部数据”选项卡包括导入并链接、 导出、收集数据3个选项组,在“外 部数据”选项卡中主要对Access 2010 以外的数据进行相关处理,如图所示。
• 5.“数据库工具”选项卡
“数据库工具”选项卡包括工具、宏、10
• 除了上述选项卡之外,还有一些隐藏
表对象 查询对象 窗体对象 报表对象 宏对象
12
2.2.1 表对象
• 在Access 2010数据库中,表对象是最
基础的对象,其它对象都依赖于表对 象,因此,表对象是使用Access 2010 的基础和关键。
• Access 2010把数据库中的表当做对象
来看待。
• 表由记录组成,记录由字段组成,表
2.1.2 Access 2010的启动和退出
• 整个Access 2010初
始界面可以分为三部 分,左侧是“文件操 作”区,在其中列出 了各种针对文件设立 的常用操作,用户可 以根据自身的需要选 择不同的操作来完成
5
• 用户可以单击窗体
左上角的“文件” 选项卡中的“新建” 选项创建一个空白 数据库,也可以单 击“打开”选项打 开一个已有的数据 库。
• 模块的功能与宏类似,但它定义的操
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Chapter 7 System Aspects of SQL
SQL in a Programming Environment Transactions Authorization
2020/12/10
1
7.1 SQL in a Programming Environment
Host Languages:
2020/12/10
7
7.1.2 Dynamic SQL
Most applications use specific queries and modification statements in their interaction with the database.
Thus, we can compile the EXEC SQL … statements into specific procedure calls and produce an ordinary host-language program that uses a library.
Any conventional language can be a host language, that is, a language in which SQL calls are embedded.
The use of a host/SQL combination allows us to do anything computable, yet still get the very-high-level SQL interface to the database.
EXEC SQL INSERT INTO Studio(name,address)
VALUES(:studioName, :studioAddr);
}2020/12/10
6
Cursor Statements
Declare a cursor c with:
EXEC SQL DECLARE c CURSOR FOR <query>;
Open and close cursor c with:
EXEC SQL OPEN CURSOR c;
EXEC SQL CLOSE CURSOR c;
Fetch from c by:
EXEC SQL FETCH c INTO <variable(s)>;
Macro NOT FOUND is true if and only if the FETCH fails to find a tuple.
1) Preparing a query:
1. EXEC SQL PREPARE <query-name> FROM <text of the query>;
2) Executing a query:
EXEC SQL EXECUTE <query-name>; “Prepare” = optimize query. Prepare once, execute many.1 Embedded SQL
Key idea: Use a preprocessor to turn SQL statements into procedure calls that fit with the host-language code surrounding. All embedded SQL statements begin with EXEC SQL, so the preprocessor can find them easily.
They may be used as constants provided by the host-language program. They may get values from SQL statements and pass those values to the host-language program.
EXEC SQL BEGIN DECLARE SECTION;
Always needed
<host-language declarations>
EXEC SQL END DECLARE SECTION;
2020/12/10
4
Use of Shared Variables
In SQL, the shared variables must be preceded by a colon.
What if the program is something like a
generic query interface, that doesn’t know what
it needs to do until it runs?
2020/12/10
8
Two steps for Dynamic SQL
2020/12/10
3
Shared Variables
To connect SQL and the host-language program, the two parts must share some variables.
Declarations of shared variables are bracketed by:
In the host language, shared variables behave like any other variable.
2020/12/10
5
Example: C Plus SQL ——Insert a new studio
void printNetWorth() {
EXEC SQL BEGIN DECLARE SECTION;
char char studioName[15];
int presNetWorth;
char SQLSTATE[6];
EXEC SQL END DECLARE SECTION;
/* print request that studio name and address be entered and read response into variables studioName and studioAddr */
SQL in a Programming Environment Transactions Authorization
2020/12/10
1
7.1 SQL in a Programming Environment
Host Languages:
2020/12/10
7
7.1.2 Dynamic SQL
Most applications use specific queries and modification statements in their interaction with the database.
Thus, we can compile the EXEC SQL … statements into specific procedure calls and produce an ordinary host-language program that uses a library.
Any conventional language can be a host language, that is, a language in which SQL calls are embedded.
The use of a host/SQL combination allows us to do anything computable, yet still get the very-high-level SQL interface to the database.
EXEC SQL INSERT INTO Studio(name,address)
VALUES(:studioName, :studioAddr);
}2020/12/10
6
Cursor Statements
Declare a cursor c with:
EXEC SQL DECLARE c CURSOR FOR <query>;
Open and close cursor c with:
EXEC SQL OPEN CURSOR c;
EXEC SQL CLOSE CURSOR c;
Fetch from c by:
EXEC SQL FETCH c INTO <variable(s)>;
Macro NOT FOUND is true if and only if the FETCH fails to find a tuple.
1) Preparing a query:
1. EXEC SQL PREPARE <query-name> FROM <text of the query>;
2) Executing a query:
EXEC SQL EXECUTE <query-name>; “Prepare” = optimize query. Prepare once, execute many.1 Embedded SQL
Key idea: Use a preprocessor to turn SQL statements into procedure calls that fit with the host-language code surrounding. All embedded SQL statements begin with EXEC SQL, so the preprocessor can find them easily.
They may be used as constants provided by the host-language program. They may get values from SQL statements and pass those values to the host-language program.
EXEC SQL BEGIN DECLARE SECTION;
Always needed
<host-language declarations>
EXEC SQL END DECLARE SECTION;
2020/12/10
4
Use of Shared Variables
In SQL, the shared variables must be preceded by a colon.
What if the program is something like a
generic query interface, that doesn’t know what
it needs to do until it runs?
2020/12/10
8
Two steps for Dynamic SQL
2020/12/10
3
Shared Variables
To connect SQL and the host-language program, the two parts must share some variables.
Declarations of shared variables are bracketed by:
In the host language, shared variables behave like any other variable.
2020/12/10
5
Example: C Plus SQL ——Insert a new studio
void printNetWorth() {
EXEC SQL BEGIN DECLARE SECTION;
char char studioName[15];
int presNetWorth;
char SQLSTATE[6];
EXEC SQL END DECLARE SECTION;
/* print request that studio name and address be entered and read response into variables studioName and studioAddr */