【精编_推荐】DB数据库对象基础知识
DB数据库主要知识点

09-10下学期数据库原理课(2010年6月)教材:周屹主编《数据库原理及开发应用》第1章数据库概述P2-5:掌握数据管理技术的发展过程的3个阶段:人工管理、文件系统、数据库管理系统理解各阶段的主要特征P4 掌握图1-2 数据库三级模式结构(二级映射):掌握三个模式的名字(外模式、模式、内模式)及其含义,二级映射的名字掌握二级映射的功能:实现数据独立性(掌握物理独立性和逻辑独立性的含义)数据独立性这一功能是由二级映射保证的:通过外模式/模式映射,实现了逻辑独立性。
通过模式/内模式映射,实现了物理独立性。
P8-10:掌握几个概念:掌握DB、DBMS、DBS、DBA、DDL、DML(掌握对应的中英文全称,理解各自的含义)DCL(数据控制语言)参见P51掌握DBMS:是位于用户与操作系统之间的一个数据管理软件。
P9:掌握DBMS的四大基本功能。
P10:掌握DBS的构成P10:掌握DBS的几个特点(参见作业答案)第2章数据模型P27-29:信息的三个世界:现实世界、信息世界(概念模型)、机器世界(数据模型)P28:理解信息世界中的主要术语:实体、属性、实体型、实体集、键(KEY)、域、联系。
P31:掌握实体间的联系(1:1,1:n,m:n)会判断具体2个实体之间的联系类型P33掌握数据模型的三要素:数据结构、数据操作、完整性约束。
P37掌握在用户观点下,关系模型中的数据结构是一张二维表。
这种表称为“关系”。
P41掌握表2-2 目前数据库领域中最常用的4种数据模型:层次模型、网状模型、关系模型、面向对象模型(理解各模型的主要特点)第3章关系数据库的基本理论P45 理解在关系模型中,数据的逻辑结构是二维表,表具有固定的列数和任意的行数,在数学上称为“关系”。
P46 理解几个概念:关系模型是在集合代数的基础上建立起来的:⏹⒈域(Domain)⏹ 2. 笛卡尔积(Cartesian Product)⏹ 3. 关系(Relation)笛卡尔积的表示方法:笛卡尔积可表示为一个二维表,表中的每行对应一个元组,表中的每列对应一个域。
数据库原理知识总结和期末试卷

数据库知识要点归纳第1章数据库基础知识1.数据库(DB)是一个按数据结构来存储和管理数据的计算机软件系统。
数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库管理数据两个特征:1.数据整体性 2.数据库中的数据具有数据共享性2.数据库管理系统(DBMS)是专门用于管理数据库的计算机系统软件3.数据库应用系统是在数据库管理系统(DBMS)支持下建立的计算机应用系统,简写为DBAS。
数据库应用系统是由数据库系统、应用程序系统、用户组成的。
例如,以数据库为基础的财务管理系统、人事管理系统、图书管理系统,成绩查询系统等等。
4.数据库系统DBS是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。
它通常由软件、数据库和数据管理员组成。
5.数据库中数据独立性数据和程序之间的依赖程度低,独立程度大的特性称为数据独立性高。
1、数据的物理独立性数据的物理独立性是指应用程序对数据存储结构的依赖程度。
2、数据的逻辑独立性数据的逻辑独立性是指应用程序对数据全局逻辑结构的依赖程度。
6.数据库的三级模式是模式、外模式、内模式。
1.模式(Schema)一个数据库只有一个模式 2.外模式(External Schema)一个数据库有多个外模式。
3.内模式(Internal Schema)一个数据库只有一个内模式。
7.数据库系统的二级映象技术第2章数据模型与概念模型1.实体联系的类型:一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)2.E-R图描述现实世界的概念模型,提供了表示实体集、属性和联系的方法。
长方形表示实体集椭圆形表示实体集的属性菱形表示实体集间的联系3.数据模型的三要素数据结构、数据操作、数据约束条件数据结构分为:层状结构、网状结构和关系结构常见的数据模型:层次模型、网状模型和关系模型。
层次模型用树形结构来表示各类实体以及实体间的联系1第3章数据库系统的设计方法1.数据库系统设计应分6个阶段进行,这6个阶段是需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。
《DB基础知识》课件

关系数据库系统的基本概念
关系数据库系统是一种基于关系模型的数据库管理系统。
关系模型是一种数学模型,它将数据表示为二维表,其中每一行代表一个记录,每 一列代表一个属性。 关系数据库系统使用SQL(结构化查询语言)作为查询语言,用于操作和访问数据。
关系数据库系统具有数据独立性、数据安全性、数据完整性等特点。
数据恢复管理
数据备份:定期备份数据,防止数据丢失 数据恢复:在数据丢失或损坏时,通过备份数据恢复 数据恢复策略:制定数据恢复策略,包括备份频率、备份位置等
数据恢复工具:使用数据恢复工具,如SQL Server、Oracle等,进行数据恢复
数据并发控制
并发控制:确保数据的一致性和完 整性
锁类型:共享锁、排他锁、更新锁 等
物理设计阶段
确定数据库存储结构 设计数据库物理模型 选择合适的数据库管理系统 优化数据库性能和效率
数据库实施和维护阶段
数据库设计:确定数据库结构、数据模型、数据关系等 数据库实施:创建数据库、数据表、索引等,并导入数据 数据库维护:定期备份、优化数据库性能、修复数据库错误等 数据库升级:根据业务需求,对数据库进行升级和扩展
图、存储过程等
逻辑设计阶段
确定实体和属性:识别数据库中的实体和属性,确定实体之间的关系
设计实体关系图:使用实体关系图(ERD)表示实体和属性之间的关系
确定主键和外键:确定每个实体的主键和外键,确保数据的完整性和一致性
设计数据模型:根据实体关系图和数据模型,设计数据库结构,包括表、视图、存储 过程等
DB基础知识
汇报人:
目录
添加目录标题
数据模型
01
04
数据库概述
关系数据库系统
02
db 概念

db 概念DB概念简述什么是DB•DB (数据库) 是指计算机系统中存储、管理和检索数据的系统。
数据库的重要性•数据库是现代信息系统的核心组成部分,无论企业还是个人,在不同的场景中都离不开数据库。
DB的基本概念•数据:数据是存储在数据库中的基本单位,可以是数字、文本、图像等形式。
•数据库管理系统 (DBMS):DBMS 是一种软件,用于管理数据库,包括数据的存储、检索、备份、恢复等功能。
•表:表是数据库中的一个基本组成部分,由行和列组成,用于存储特定类型的数据。
•列:在表中,列代表了一种数据类型,用于存储相关数据。
•行:在表中,行代表了一条记录,包含了各个列的具体数值。
DB的类型•关系型数据库 (RDBMS):以表的形式组织数据,并且通过关系建立表与表之间的联系,如MySQL、Oracle等。
•非关系型数据库 (NoSQL):以键值对、文档、图形等形式存储数据,不需要使用表结构,如MongoDB、Redis等。
常见的DB操作•增:向数据库中插入新的数据。
•删:从数据库中删除数据。
•改:更新数据库中已有数据的值。
•查:从数据库中检索数据。
DB的优势•数据的持久化存储:数据库可以将数据长期保存在磁盘中,即使系统关闭,数据也不会丢失。
•数据的高效管理:数据库提供了强大的查询和管理功能,可以快速检索和处理大量数据。
•数据的安全性和完整性:数据库通过各种机制保护数据的安全性,并提供数据的完整性验证。
总结DB作为一个重要的概念,在计算机系统中扮演着不可或缺的角色。
通过本文,我们了解了数据库的基本概念、类型以及常见操作,并体会到数据库的优势。
无论是企业应用还是个人项目,了解和掌握数据库相关知识都是至关重要的。
DB的设计原则•数据库设计需要考虑数据的结构和关系,以及数据的增删改查的需求。
•数据库的设计原则包括数据的一致性、完整性、可扩展性和高性能。
DB的数据模型•数据模型是数据库中数据的逻辑结构的表示方式,常见的数据模型包括层次模型、网状模型、关系模型和面向对象模型等。
数据库技术知识点

数据库技术知识点第一章数据:描述事物的符号记录称为数据。
数据库DB:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库系统DBS:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库DB、数据库管理系统DBMS(及其开发工具)、应用系统、数据库管理员构成。
数据库管理系统DBMS:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 的主要功能包括(1)数据库定义(2)数据存取功能(3)数据操纵(4)数据库运行管理(5)数据库的建立和维护功能数据模型:数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。
数据模型通常由数据结构(描述组成对象、联系及系统静态特性)、数据操作(查询和更新)和完整性约束(参照第五章)三部分组成。
概念模型:概念模型是现实世界到机器世界的中间层次,有实体、属性、码、域、联系等概念。
关系模型:关系(二维表)、元组(行)、属性(列)、主码(唯一属性组)、域(属性取值范围)、分量(一个属性值)。
关系模式:学生(学号、姓名、年龄、性别、系名)数据库系统三级模式结构:外模式:能看能使用的特征描述(视图,多个)、模式:逻辑结构特征描述(基本表、一个)、内模式:内部表示,存储方式(存储文件、一个)两级映像:外模式/模式映像与模式/内模式映像保证了物理独立性和逻辑独立性。
数据库系统组成:硬件平台及数据库、软件、人员(DBA、系统分析员、数据库设计师、应用程序员、用户)第二章关系数据库:实体及实体之间联系的关系集合。
关系操作:查、增、删、改。
查询分为:选择、投影、连接、除、并、差、交、笛卡尔积。
特点:集合操作。
完整性约束:实体(主码存在且唯一)、参照(外码为空或者为其他关系的主码值)、用户自定义。
第三章:SQL语言特点:(1)综合统一。
SQL语言集多语言功能于一体。
数据库模型基础知识及数据库基础知识总结

数据库模型基础知识及数据库基础知识总结数据库的4个基本概念1.数据(Data):描述事物的符号记录称为数据。
2.数据库(DataBase,DB):长期存储在计算机内、有组织的、可共享的大量数据的集合。
3.数据库管理系统(DataBase Management System,DBMS4.数据库系统(DataBase System,DBS)数据模型数据模型(data model)也是一种模型,是对现实世界数据特征的抽象。
用来抽象、表示和处理现实世界中的数据和信息。
数据模型是数据库系统的核心和基础。
数据模型的分类第一类:概念模型按用户的观点来对数据和信息建模,完全不涉及信息在计算机中的表示,主要用于数据库设计现实世界到机器世界的一个中间层次➢实体(Entity): 客观存在并可相互区分的事物。
可以是具体的人事物,也可以使抽象的概念或联系➢实体集(Entity Set): 同类型实体的集合。
每个实体集必须命名。
➢属性(Attribute): 实体所具有的特征和性质。
➢属性值(Attribute Value): 为实体的属性取值。
➢域(Domain): 属性值的取值范围。
➢码(Key): 唯一标识实体集中一个实体的属性或属性集。
学号是学生的码➢实体型(Entity Type): 表示实体信息结构,由实体名及其属性名集合表示。
如:实体名(属性1,属性2,…)➢联系(Relationship): 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体型内部的联系(各属性)和实体型之间的联系(各实体集)。
有一对一,一对多,多对多等。
第二类:逻辑模型和物理模型逻辑模型是数据在计算机中的组织方式物理模型是数据在计算机中的存储方式数据模型的组成要素数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成关系模型(数据模型的一种,最重要的一种)从用户观点看关系模型由一组关系组成。
每个关系的数据结构是一张规范化的二维表。
《DB》知识总结
一、单项选择题1.Access 2010是一种( C数据库管理系统)2.筛选图书编号是"01"或"02"的记录,可以在条件中输入 ( C.in ("01" , "02") )3.在同一学校中,人事部门的教师表和财务部门的个人工资表的关系是(A.一对一)4.设有选修计算机基础的学生关系R,选修数据库Accesss的学生关系S,求选修了计算机基础而没有选修数据库Access的学生,则需进行的运算是(B.差)5.无论是自动创建窗体还是报表,都必须选定要创建该窗体或报表基于的(A.数据来源)6.要显示一组数据的平均值,应该使用的函数是( B.avg )7.如果在创建表中建立字段"简历",其数据类型应当是(D.备注)8.条件"性别="女" Or 工资额>2000" 的意思是(B.性别为"女"或者工资额大于2000的记录)9.Access 2010数据库对象中,实际存放数据的地方是(A.表)10.查找数据时,可以通配任何单个数字字符的通配符是(B. # )二、名词解释11.数据处理系统为实现特定的数据处理目标所需要的各种资源的总和称为数据处理系统.12.二范式(2NF)二范式(2NF)是指若关系R∈1NF,并且在R中不存在非主属性对候选键的部分函数依赖,即它的每一个非主属性都完全函数依赖于候选键,则R∈2NF.13.删除查询删除查询是指在指定表中删除符合条件的数据记录。
14.数据表窗体数据表窗体是指可以一次显示记录源中的多个字段和记录,与表对象的数据表视图显示的一样,每个记录显示在一行。
15.弹出式窗体弹出式窗体是指用来显示信息或提示用户输入数据,会显示在当前打开的窗体之上.16.数据库系统数据库系统是指运用数据库技术的数据处理系统,由计算机软/硬件、数据库、DBMS、应用程序以及数据库管理员和数据库用户构成。
数据库基础知识
2.网状数据模型的数据结构
网状模型
满足下面两个条件的基本层次联系的集合为网状
模型。
1. 允许一个以上的结点无双亲; 2. 一个结点可以有多于一个的双亲。
网状数据模型的数据结构
R1 L1
R2 L2
L1
R1
R2
L3 L2
R3
L4 R5
R3
R4
网状数据模型的数据结构(续)
学生宿舍 系
学生
教研室
教师
(6) 实体集(Entity Set)
同型实体的集合称为实体集
例如:全体学生就是一个实体集。
信息世界中的基本概念(续)
(7) 联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系
两个实体型间联系可以分为三类:
一对一联系(1:1) 一对多联系(1:n) 多对多联系(m:n)
常用数据模型(续)
关系模型(Relational Model)
数据结构:表
面向对象模型(Object Oriented Model)
数据结构:对象
1. 层次数据模型的数据结构
层次模型
满足下面两个条件的基本层次联系的集合为层次模型。
1. 有且只有一个结点没有双亲结点,这个结点称为根 结点 2. 根以外的其它结点有且只有一个双亲结点
易扩展
三、数据库管理系统
什么是DBMS
数 据 库 管 理 系 统 ( Database Management System ,简称 DBMS )是位于用户与操作系统 之间的一层数据管理软件。
数据库基础知识 答案版
数据库基础知识(A)1.数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系是()。
A)DBS包括DB和DBMS B)DBMS包括DB和DBSC)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS(C)2.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
A)DB包含DBS和DBMS B)DBMS包含DB和DBSC)DBS包含DB和DBMS D)没有任何关系(B)3.DBMS的含义是:()。
A)数据库系统 B)数据库管理系统 C)数据库管理员 D)数据库(A)4.英文缩写DBMS代表含义是()。
A)数据库管理系统 B)数据库定义语言 C)Visual FoxPro D)数据库操作语言(A)5.数据库系统中对数据库进行管理的核心软件是()。
A)DBMS B)DB C)OS D)DBS(C)6.数据库系统的核心是()。
A)数据库 B)操作系统 C)数据库管理系统 D)文件(B)7.VFP支持的数据模型是()。
A)层次数据模型 B)关系数据模型 C)网状数据模型 D)树状数据模型(A)8.Visual FoxPro 6.0支持的数据模型是()。
A)关系数据库模型 B)网状数据库模型 C)线性数据库模型 D)层次数据库模型(D)9.用数据二维表来表示实体及实体之间联系的数据模型称为()。
A)实体–联系模型 B)层次模型 C)网状模型 D)关系模型(C)10.Visual FoxPro 6.0是一种关系型数据库管理系统,所谓关系是指()。
A)各条记录中的数据彼此有一定的关系B)一个数据库文件与另一个数据库文件之间有一定的关系C)数据模型符合满足一定条件的二维表格式D)数据库中各个字段之间彼此有一定的关系(C)11.关系型数据库管理系统的关系是指()。
A)各条记录中的数据彼此有一定的关系B)一个数据库文件与另一个数据库文件之间有一定的关系C)数据模型符合满足一定条件的二维表格式D)数据库中各个字段之间彼此有一定的关系(B)12.扩展名为.dbf的文件是()。
数据库基础知识
数据库基础知识一、数据库及其相关概念数据库(DatabaseDB)是存储在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型进行组织和描述,具有较小的冗余度、较高的数据易扩展性和独立性,并可为多个用户所共享。
数据库管理系统(Database Management Sys,DBMS)是位于用户应用软件与操作系统之间的数据管理软件。
数据库系统(Database System, DBS) 由计算机硬件系统、数据库、数据库管理系统、应用软件、包括用户在内的各类人员构成。
一个完整的数据库系统由3部分组成:数据库、数据库管理系统和数据库应用,三者的关系如图所示。
1.数据库数据以表的形式保存在数据库中。
数据表的结构保证了表中数据是有组织、有条理的,每个数据都有其确切的含义。
在目前流行的数据库系统中,用户一般无法得知数据的真实物理地址,必须通过数据库管理系统访问数据库。
数据库系统的3个组成部分2.数据库管理系统一个实际运行中的数据库有复杂的结构和存储方式,用户如果直接访问数据库中的数据是很困难的。
数据库管理系统(Database Management System,DBMS)是一个商业软件,它如同一座桥梁,一端连接面向用户的数据库应用,另一端连接数据库。
这样DBMS将数据库复杂的物理结构和存储格式封装起来,用户访问数据库时只需发出简单的指令,这些指令由DBMS自动译成机器代码并执行,用户不必关心数据的存储方式、物理位置和执行过程,使得数据库系统的运行效率和空间资源得到充分的、合理的使用。
3.数据库应用数据库应用系指用户对数据库的各种操作,其方式有多种,包括通过交互式命令、各类向导和视图、SQL命令以及为非计算机专业用户开发的应用程序,这些程序可以用数据库管理系统内嵌的程序设计语言编写,也可以用其他程序语言编写。
数据库的基本操作(实际中图书管理系统的功能更多、更完善):增删改查、数据管理(如书籍的采购入库、分类索引、登记造册、淘汰处理)、各种统计工作(对各种数据信息的分析、计算、汇总等工作,并生成各种报表)、报警备份处理等等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DB2数据库对象基本数据库对象数据库对象是一个数据库的构造块(building block)。
DB2 提供了不同类型的数据库对象来存储和表示不同信息。
通过使用数据定义语言(DDL),可以创建、修改和删除数据库对象。
要操纵数据库对象,可以使用数据操纵语言(DML),例如SELECT、UPDATE、INSERT 和SELECT 语句。
常用的数据库对象有:表用户定义数据类型约束视图索引除了Family Fundamentals 教程里介绍的一些数据库对象外,还有一些其他的对象,很多开发人员在开发DB2 应用程序时会发现这些对象比较有用。
本节我们将介绍这些对象。
在继续之前,有一点要注意:在下面看到的一些例子中,对象名称是以小写形式指定的。
无论DB2 在哪个平台上运行,它总是以大写形式存储名称,除非标识符的名称以双引号("")括起来了。
例如,下面的语句创建一个名为employee(小写)的表,该表的列定义与表EMPLOYEE (大写)是一样的。
CREATE TABLE "employee" LIKE employee别名别名(alias)是指一个已有的表、视图的另一个名称,也叫昵称(nickname)。
别名也可以作为另一个别名的昵称。
与这些对象一样,别名也可以被创建或删除,可以有与之相关的注释。
下面是CREATE ALIAS 语句的一些例子:CREATE ALIAS aliastab1 FOR tab1;CREATE ALIAS bob.aliastab1 FOR tom.tab1;CREATE SYNONYM bob.aliastab2 FOR bob.aliastab1;可以看到,CREATE ALIAS 语句比较简单。
可以在源对象所在的同一模式中创建别名(如第1 行),或者也可以全限定别名(如第2 行)。
为了与DB2 for zSeries 兼容,使用关键字SYNONYM 代替ALIAS 也是合法的(如第3 行)。
使用别名时无需专门的授权或权限。
不过,需要获得与别名所引用的底层对象相关的授权。
关于数据库对象权限的完整清单,请参考DB2 DBA 认证教程Server management(请参阅参考资料)。
前面已提到,我们也可以为昵称创建别名。
昵称是引用位于联邦系统上的数据表或视图的数据库对象。
联邦数据库支持超出了本教程的范围。
在本教程系列的第 2 部分,Data manipulation ,我们将学习更多有关联邦系统的知识。
要为别名添加注释,可以发出以下语句:COMMENT ON aliastab1 IS 'My first alias on tab1'要删除一个别名,使用DROP 语句,这与所有其他数据库对象是一样的:DROP ALIAS aliastab1序列对象序列(sequence)是一种数据库对象,这种对象允许自动生成值。
序列对象与标识列(identity column)不同,标识列是要与一个特定的表绑在一起的,而序列是一种全局的、独立的对象,同一个数据库中的任何表都可以使用它。
标识列是序列对象的一种特例。
因此,标识列的特征也适用于序列对象。
下面就例释了一条CREATE SEQUENCE 语句:CREATE SEQUENCE myseq AS INTEGERSTART WITH 360INCREMENT BY 10NO MAXV ALUECYCLECACHE 20任何包括0 在内的数字数据类型都可用于序列值。
这些类型包括SMALLINT、INTEGER、BIGINT 或DECIMAL。
基于这些数据类型的任何用户定义独特类型(distinct type)也都可以用于序列值。
这进一步扩展了用户定义独特类型在应用程序中的使用。
如上面的例子所示,您可以为序列对象指定起始值,从而自定义序列对象。
在这个例子中,序列的第一个值是360。
后续值的生成是由INCREMENT BY 子句控制的。
这里还支持正、负常量,以产生升序和降序值。
缺省情况下,一个序列所生成的最小值和最大值是由该序列数据类型的取值范围来界定的。
例如,INTEGER 类型的序列值必须处在-2,147,483,647 到2,147,483,647 之间的范围内。
在DB2 SQL Reference Guide 中可以找到所有数字数据类型的取值范围。
为了改变这种缺省行为,可以使用MINV ALUE 和MAXV ALUE 选项来为生成的值设置一个边界。
如果达到了最小值或最大值,那么可以使用另一个选项,即CYCLE 或NO CYCLE 来规定序列值是否应该循环。
注意,如果CYCLE 生效,则序列就可以生成重复的值。
CACHE 选项允许DB2 将一些预先分配好空间的值保留在内存中,以提高性能。
CACHE 20 是缺省的行为。
关于这个选项有一点要谨记:如果在所有缓存的值被使用之前关闭DB2,那么任何缓存的值和未使用的值都将被丢弃。
当DB2 重新启动时,又会生成和缓存下一块的值,从而造成值之间的不连续,即值之间存在间隔。
如果应用程序不允许值之间有间隔,可以考虑使用NOCACHE 选项。
如果没有使用缓存,则性能就会下降,因为要频繁地生成序列数字。
每当生成一个新值的时候,都会写下一条日志记录。
因此,更高效的做法是根据请求来获取值,并将这些值缓存在内存中。
通过ALTER SEQUENCE 语句,可以更改序列对象的特征。
除了序列值的数据类型以外,上面所讨论的所有的设置都可以修改。
要获得完整的语法,请参考DB2 SQL Reference Guide (请参阅参考资料)。
删除一个序列对象与删除任何其他的数据库对象是一样的,不同之处是这里还要使用到一个RESTRICT 关键字。
这样可以防止在有依赖的情况下删除序列。
DROP SEQUENCE myseq RESTRICT生成和获取序列值序列是一种数据库对象,因此对序列的访问也是由权限来控制的。
缺省情况下,只有序列的创建者,即SYSADM 和DBADM 拥有该对象的USAGE 权限。
如果希望其他用户也能够使用序列,则需要使用下面的语句:GRANT USAGE ON SEQUENCE seq_object_name TO PUBLIC有两种表达式可用于生成和获取序列值。
NEXTV AL FOR seq-name 用于获取下一个序列值,而PREVV AL FOR seq-name 则用于获取上一个生成的序列值。
下面的例子例释了这些表达式的使用。
INSERT INTO t1 V ALUES (NEXTV AL FOR myseq, 'BOB');INSERT INTO t1 V ALUES (NEXTV AL FOR myseq, 'PAT');COMMIT;INSERT INTO t1 V ALUES (NEXTV AL FOR myseq, 'GENE');ROLLBACK;INSERT INTO t1 V ALUES (NEXTV AL FOR myseq, 'PAUL');V ALUES PREVVAL FOR myseq INTO :hostvar假设我们以一个空表t1 开始,myseq 的下一个序列值是1。
如果禁用了autocommit,则在执行上述语句之后,t1 将包含下面几行:1 NAME------- -------1 BOB2 PAT4 PAUL3 record(s) selected.虽然为GENE 生成的值被回滚了,但是DB2 并没有再次使用它。
因而,下一个为PAUL 生成的序列值就是4,而不是3。
这个例子中的最后一条语句展示了如何使用PREVV AL 表达式。
宿主变量:hostvar 存储当前会话中生成的最后一个值。
如果想保存前面生成的值,那么应该在生成下一个值之前保存PREVV AL 值。
临时表顾名思义,临时表(temporary table)不是永久性的数据库对象。
临时表与普通的表在行为上是一样的,不同之处是,并非所有的功能和选项都是受支持的和/或是必需的。
临时表只能维持在一次连接期间。
当连接关闭时,在此连接内声明的所有临时表都将自动删除掉。
只有声明临时表的会话或应用程序才能访问临时表。
如果两个应用程序用相同的名字创建了一个临时表,该临时表的每个实例仍然是惟一的。
因而,完全不必担心出现临时数据冲突的情况。
由于临时表只允许单连接(single-connection)访问,因此这里无需使用锁。
这正是临时表的一个主要的性能优势。
声明临时表要声明一个临时表,必须存在一个USER 临时表空间(不同于SYSTEM 临时表空间),用以存储临时表的定义和内容。
SYSTEM 临时表空间只是DB2 在内部用来执行诸如排序之类操作的。
下面这条简单的语句将创建一个用户临时表空间。
CREATE USER TEMPORARY TABLESPACE usertempspaceMANAGED BY SYSTEM USING ('usertempspace')声明全局临时表时,可以使用很多可选子句。
下面的例子对这些子句的特性作了说明。
DECLARE GLOBAL TEMPORARY TABLE t_dept( deptid CHAR(6),deptname CHAR(20) )ON COMMIT DELETE ROWSNOT LOGGEDIN usertempspace在这个例子中,声明了临时表t_dept,这个表有两列。
ON COMMIT DELETE ROWS 子句规定在每次执行COMMIT 操作时删除临时表的内容。
在DB2 V8 中,可以选择记录对临时表的更改,以便回滚。
这个例子规定对该表的更改是NOT LOGGED。
这意味着对该表的任何操作,包括创建以及更改,都不做日志记录。
如果在一个工作单位内创建表,然后回滚,则临时表将被删除。
另一方面,如果在此工作单位内删除该表,则该表在恢复时将没有任何行。
无需使用IN 子句来指定该临时表将要使用的用户临时表空间。
如果没有指定该信息,DB2 就会搜索最适用的表空间。
如果找不到用户临时表空间,DB2 将产生一个错误。
让我们看看另一个例子:DECLARE GLOBAL TEMPORARY TABLE t_projLIKE projectON COMMIT PRESERVE ROWSWITH REPLACEIN usertempspace临时表t_proj 是用LIKE 关键字声明的,因此它拥有与名为project 的持久表或视图相同的列定义。
ON COMMIT PRESERVE ROWS 子句表明,在执行COMMIT 语句时,该临时表中的所有行都将被保留。