DB基础知识
数据库原理知识总结和期末试卷

数据库知识要点归纳第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)1、声音1.1 分贝的感觉当物体振动时,在它周围就会产生声波,声波不断向外传播,被人们听到成为声音。
人耳的听觉下限是0dB,低于15dB的环境是极为安静的环境,安静得会使人不知所措。
乡村的夜晚大多是25-30dB,除了细心才能够体会到的流水、风、小动物等自然声音以外,其他感觉一片宁静,这也是生活在喧嚣之中的城市人所追求的净土。
城市的夜晚会因区域不同而有所不同。
较为安静区域的室内一般在30-35dB,住在繁华的闹市区或是交通干线附近的居民,将不得不忍受室内40-50dB(甚至更高)的噪声。
人们正常讲话的声音大约是60-70dB,大声呼喊的瞬间可达100dB。
在机器轰鸣的厂房中,持续的噪声可达80-110dB,这种高强度的噪声会损害人耳的听觉,并对神经系统产生不良影响,长期还会导致神经衰弱、消化不良、听力下降、心血管等疾病。
人耳的噪声听觉上限是120dB,超过120dB的声音会耳痛、难以忍受,140dB的声音会使人失去听觉。
高分贝喇叭、重型机械、喷气飞机引擎等都能够产生超过120dB的声音。
1.2 人耳的感觉人耳听觉非常敏感,正常人能够察觉1dB的声音变化,3dB的差异将感到明显不同。
人耳存在掩蔽效应,当一个声音高于另一个声音10dB时,较小的声音因掩蔽而难于被听到和理解,由于掩蔽效应,在90-100dB的环境中,即使近距离讲话也会听不清。
人耳有感知声音频率的能力,频率高的声音人们会有“高音”的感觉,频率低的声音人们会有“低音”的感觉,人耳正常的听觉频率范围是20-20KHz。
人耳耳道类似一个2-3cm的小管,由于频率共振的原因,在2000-3000Hz的范围内声音被增强,这一频率在语言中的辅音中占主导地位,有利于听清语言和交流,但人耳最先老化的频率也在这个范围内。
一般认为,500Hz以下为低频,500-2000Hz为中频,2000Hz以上为高频。
语言的频率范围主要集中在中频。
人耳听觉敏感性由于频率的不同有所不同,频率越低或越高时敏感度变差,也就是说,同样大小的声音,中频听起来要比低频和高频的声音响。
DB2基础知识(一)

内部资料 注意保密
12
二、DB2的访问
节点目录、系统数据库目录和本地数据库目录间关系
内部资料 注意保密
13
二、DB2的访问
2.1 DB2的登录
通过本地客户端链接DB2服务器
内部资料 注意保密
14
二、DB2的访问
2.2 SQL语句的执行
内部资料 注意保密
15
二、DB2的访问
2.3 SQLSTATE & SQLCODE
说明
– – –
不能修改视图 视图不能创建索引 如果删除了某视图基于的表或另一视图,则该视图在数据库虽然有定义但不起作用
内部资料 注意保密
35
三、DB2数据库对象
视图
创建可更新视图和只读视图
• • •
视图的 SELECT 语句决定视图是只读的还是可更新的 通常,如果视图的行可映射至基表的行,则视图是可更新的。
显式地指定对象的模式名: create table DWAINE.table1 (c1 int, c2 int) 隐式地指定对象的模式名: create table t2 (c1 int) --- table tjadm.t2 created 注:隐式地指定对象的模式名,用户 需要IMPLICT_SCHEMA 特权
内部资料 注意保密
11
二、DB2的访问
2.1 DB2的登录
通过本地客户端链接DB2服务器
安装本地DB2客户端程序 配置本地Catalog(编目)
Db2cmd->db2 connect to bidbdw user scvadm
catalog tcpip node mynode remote 99.1.57.103 server 50000; catalog db bidbdw at node mynode;
数据库模型基础知识及数据库基础知识总结

数据库模型基础知识及数据库基础知识总结数据库的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): 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体型内部的联系(各属性)和实体型之间的联系(各实体集)。
有一对一,一对多,多对多等。
第二类:逻辑模型和物理模型逻辑模型是数据在计算机中的组织方式物理模型是数据在计算机中的存储方式数据模型的组成要素数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成关系模型(数据模型的一种,最重要的一种)从用户观点看关系模型由一组关系组成。
每个关系的数据结构是一张规范化的二维表。
射频知识基本概念和术

E面方向图指与电场平行的平面内辐射方向图;
H面方向图指与磁场平行的平面内辐射方向图。
一般是方向图越宽,增益越低;方向图越窄,增益越高。
12、天线前后比:指最大正向增益与最大反向增益之比,用分贝表示。
TNC型:外导体内径为6.5mm(0.256英寸)、特性阻抗50Ω的螺纹式射频同轴连接器。(IEC169-17)
SMA型:外导体内径为4.13mm(0.163英寸)、特性阻抗50Ω的螺纹式射频同轴连接器。(IEC169-15)
SMB型:外导体内径为3mm(0.12英寸)、特性阻抗50Ω的推入锁定式射频同轴连接器。(IEC169-10)
SSMC型:外导体内径为2.08mm(0.082英寸)、特性阻抗50Ω的螺纹式射频同轴连接器。(IEC169-20)
SC型(SC-A和SC-B型):外导体内径为9.5mm(0.374英寸)、特性阻抗50Ω的螺纹式(两种型号有不同类型连接螺纹)射频同轴连接器。(IEC169-21)
APC7型:外导体内径为7mm(0.276英寸)、特性阻抗50Ω的精密中型射频同轴连接器。(IEC457-2)
10、蜂窝:用正六边形无线小区(又称蜂窝小区)邻接构成的整个通信面状服务区的形状很象蜂窝,故形象地称为蜂窝状网(Cellular System),也称为蜂窝移动通信网。
四、电连接器命名方法
通用射频连接器的型号由主称代号和结构形式代号两部分组成,中间用短横线"-"隔开。其它需说明的情况可在详细轨范中作出规定,并用短横线与结构形式代号隔开。
11、尾 纤:一端带有光纤连接器的单芯光缆。
数据库基础知识 答案版

数据库基础知识(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的文件是()。
DB2基础知识

BSDS
系统下包含了一整套系统文件、一套
系统数据库和用户定义的多个
系统 数据库
应用 数据库
应用数据库
■ DB2 Object
CATALOG
DB2 SUBSYSTEM
DIRECTORY OTHER SYSTEM OBJECTS
DATABASE 1
TABLE SPACES1
DATABASE2.etc.
■分区表空间
某个分区可以STOP,不影响其它分区
上例中,STOP 0300—0399:天津地区 有交易查询: WHERE ZONENO=200 因没有涉及到0300-0399分区,查询交易仍然可以成功
■ PARTITION表划分原则
数据量过大的表(超过2G) 并行批量程序涉及的表
■顺序预取 SEQUENTIAL PREFETCH
用于读取连续的页 既可用于在TABLE SPACE SCAN中访问连续的数 据页,也可用于在INDEX SCAN中访问连续的数 据页和索引页 页 页 页 页
页 页 页 页 页 页 页 页 页 页 页 页 页
单个I/O
单个I/O
页
页
页
页
页
页
页
页
TABLE SPACES2
STORAGE GROUP1 VOLUME1 VOLUME2
TABLE1
INDEX1 VIEW1
TABLE2. etc.
INDEX2.etc. VIEW2 VIEW3.etc STORAGE GROUP2 VOLUME3
■ DB2 Objects 概述
■ PARTITION TABLESPACE 的缺点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、Berkeley DB的介绍(1)Berkeley DB是一个嵌入式数据库,它适合于管理海量的、简单的数据。
如Google使用其来保存账户信息,Heritrix用其来保存froniter.(2)key/value是Berkeley DB用来管理数据的基础,每个key/value对代表一条记录。
(3)Berkeley DB在底层实现采用B树,可以看成能够存储大量数据的HashMap。
(4)它是Oracle公司的一个产品,C++版本最新出现,之后JAVA等版本也陆续出现。
它不支持SQL语句,应用程序通过API对数据库进行操作。
以下内容转载至百度文库Berkeley DB是由美国Sleepycat Software公司开发的一套开放源码的嵌入式数据库的程序库(database library),它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。
Berkeley DB为数据的存取和管理提供了一组简洁的函数调用API接口。
它是一个经典的C-library模式的toolkit,为程序员提供广泛丰富的函数集,是为应用程序开发者提供工业级强度的数据库服务而设计的。
其主要特点如下:嵌入式(Embedded):它直接链接到应用程序中,与应用程序运行于同样的地址空间中,因此,无论是在网络上不同计算机之间还是在同一台计算机的不同进程之间,数据库操作并不要求进程间通讯。
Berkeley DB为多种编程语言提供了API接口,其中包括C、C++、Java、Perl、Tcl、Python和PHP,所有的数据库操作都在程序库内部发生。
多个进程,或者同一进程的多个线程可同时使用数据库,有如各自单独使用,底层的服务如加锁、事务日志、共享缓冲区管理、内存管理等等都由程序库透明地执行。
轻便灵活(Portable):它可以运行于几乎所有的UNIX和Linux系统及其变种系统、Windows操作系统以及多种嵌入式实时操作系统之下。
它在32位和64位系统上均可运行,已经被好多高端的因特网服务器、台式机、掌上电脑、机顶盒、网络交换机以及其他一些应用领域所采用。
一旦Berkeley DB被链接到应用程序中,终端用户一般根本感觉不到有一个数据库系统存在。
可伸缩(Scalable):这一点表现在很多方面。
Database library本身是很精简的(少于300KB的文本空间),但它能够管理规模高达256TB的数据库。
它支持高并发度,成千上万个用户可同时操纵同一个数据库。
Berkeley DB能以足够小的空间占用量运行于有严格约束的嵌入式系统,也可以在高端服务器上耗用若干GB的内存和若干TB的磁盘空间。
Berkeley DB在嵌入式应用中比关系数据库和面向对象数据库要好,有以下两点原因:(1)因为数据库程序库同应用程序在相同的地址空间中运行,所以数据库操作不需要进程间的通讯。
在一台机器的不同进程间或在网络中不同机器间进行进程通讯所花费的开销,要远远大于函数调用的开销;(2)因为Berkeley DB对所有操作都使用一组API接口,因此不需要对某种查询语言进行解析,也不用生成执行计划,大大提高了运行效.BerkeleyDB系统结构Berkeley DB由五个主要的子系统构成.包括: 存取管理子系统、内存池管理子系统、事务子系统、锁子系统以及日志子系统。
其中存取管理子系统作为Berkeley DB数据库进程包内部核心组件,而其他子系统都存在于Berkeley DB数据库进程包的外部。
每个子系统支持不同的应用级别。
1.数据存取子系统数据存取(Access Methods)子系统为创建和访问数据库文件提供了多种支持。
Berkeley DB提供了以下四种文件存储方法:哈希文件、B树、定长记录(队列)和变长记录(基于记录号的简单存储方式),应用程序可以从中选择最适合的文件组织结构。
程序员创建表时可以使用任意一种结构,并且可以在同一个应用程序中对不同存储类型的文件进行混合操作。
在没有事务管理的情况下,该子系统中的模块可单独使用,为应用程序提供快速高效的数据存取服务。
数据存取子系统适用于不需事务只需快速格式文件访问的应用。
2.内存池管理子系统内存池(Memory pool)子系统对Berkeley DB所使用的共享缓冲区进行有效的管理。
它允许同时访问数据库的多个进程或者进程的多个线程共享一个高速缓存,负责将修改后的页写回文件和为新调入的页分配内存空间。
它也可以独立于Berkeley DB系统之外,单独被应用程序使用,为其自己的文件和页分配内存空间。
内存池管理子系统适用于需要灵活的、面向页的、缓冲的共享文件访问的应用。
3.事务子系统事务(Transaction)子系统为Berkeley DB提供事务管理功能。
它允许把一组对数据库的修改看作一个原子单位,这组操作要么全做,要么全不做。
在默认的情况下,系统将提供严格的ACID事务属性,但是应用程序可以选择不使用系统所作的隔离保证。
该子系统使用两段锁技术和先写日志策略来保证数据库数据的正确性和一致性。
它也可以被应用程序单独使用来对其自身的数据更新进行事务保护。
事务子系统适用于需要事务保证数据的修改的应用。
4.锁子系统锁(Locking)子系统为Berkeley DB提供锁机制,为系统提供多用户读取和单用户修改同一对象的共享控制。
数据存取子系统可利用该子系统获得对页或记录的读写权限;事务子系统利用锁机制来实现多个事务的并发控制。
该子系统也可被应用程序单独采用。
锁子系统适用于一个灵活的、快速的、可设置的锁管理器。
5.日志子系统日志(Logging)子系统采用的是先写日志的策略,用于支持事务子系统进行数据恢复,保证数据一致性。
它不大可能被应用程序单独使用,只能作为事务子系统的调用模块。
以上几部分构成了整个Berkeley DB数据库系统。
各部分的关系如下图所示:在这个模型中,应用程序直接调用的是数据存取子系统和事务管理子系统,这两个系统进而调用更下层的内存管理子系统、锁子系统和日志子系统。
由于几个子系统相对比较独立,所以应用程序在开始的时候可以指定哪些数据管理服务将被使用。
可以全部使用,也可以只用其中的一部分。
例如,如果一个应用程序需要支持多用户并发操作,但不需要进行事务管理,那它就可以只用锁子系统而不用事务。
有些应用程序可能需要快速的、单用户、没有事务管理功能的B 树存储结构,那么应用程序可以使锁子系统和事务子系统失效,这样就会减少开销。
BerkeleyDB存储功能概述Berkeley DB所管理数据的逻辑组织单位是若干个独立或有一定关系的数据库(database),每个数据库由若干记录组成,这些记录全都被表示成(key,value)的形式. 如果把一组相关的(key,value)对也看作一个表的话,那么每一个数据库只允许存放一个table,这一点不同于一般的关系数据库。
实际上,在Berkeley DB中所提到的“数据库”,相当于一般关系数据库系统中的表;而“key/data”对相当于关系数据库系统中的行(rows);Berkeley DB不提供关系数据库中列直接访问的功能,而是在“key/data”对中的data项中通过实际应用来封装字段(列)。
在物理组织上,每一个数据库在创建的时候可以由应用程序根据其数据特点来选择一种合适的存储结构。
可供选择的四种文件存储结构分别是:哈希文件、B树、定长记录(队列)和变长记录(基于记录号的简单存储方式)。
一个物理的文件中可以只存放一个单独的数据库,也可以存放若干相关或不相关的数据库,而且这些数据库可以分别采用除队列之外任意不同的组织方式,以队列组织的数据库只能单独存放于一个文件,不能同其他存储类型混合存放。
一个文件除了受最大文件长度和存储空间的约束之外,理论上可以存储任意多个数据库。
因此系统定位一个数据库通常需要两个参数——“文件名”和“数据库名”,这也是Berkeley DB不同于一般关系数据库的地方。
Berkeley DB存储系统为应用程序提供了一系列的接口函数,用于对数据库的管理和操作。
其中包括:(1)数据库的创建、打开、关闭、删除、重命名等,以及对数据的检索和增删改操作;(2)提供一些附加的功能,例如读取数据库状态信息、读取所在文件的信息、读取所在数据库环境的信息、清空数据库的内容、数据库的同步备份、版本升级、提示出错信息等等;(3)系统还提供了游标机制,用于存取和访问成组的数据,以及对两个或多个相关数据库进行关联和等值连接操作;(4)系统还给出了一些接口函数用于对存取策略进行优化配置,比如应用程序可以自己设置B树的排序比较函数、每页中存放key的最少数目,哈希桶的填充因子、哈希函数、哈希表最大长度,队列的最大长度,数据库存放的字节顺序,底层存储页的大小,内存分配函数,高速缓存的大小,定长记录的大小和填充位,变长记录所用的分隔符等等。
二、Berkeley DB的应用1、从官方网站/technetwork/database/database-technologies/berkeleydb/overview/index.html下载Berkeley DB的安装文件及JAVA开发包。
2、在windows安装Berkeley DB,一直按下一步即可。
为开发方便,安装了windows版本,正式运行时应该使用Linux版本。
(设置path时出错,需要以管理员身份运行安装程序)。
3、将JAVA开发包中的jar文件放入buildpath中。
主要包括je-6.0.11.jar、JEJConsole.jar、epJEJConsole.jar三个包。
测试程序:[java]view plaincopy1.package com.ljh.test;2.3.import static org.junit.Assert.*;4.5.import org.junit.Before;6.import org.junit.Test;7.8.public class BerkeleyDBUtilTest {9.10.private BerkeleyDBUtil dbUtil = null;11.12.@Before13.public void setup() {14. dbUtil = new BerkeleyDBUtil("D:/tmp");15. }16.17.18.@Test19.public void testWriteToDatabase() {20.for (int i = 0; i < 10; i++){21. dbUtil.writeToDatabase(i+"", "学生"+i, true);22. }23. }24.25.@Test26.public void testReadFromDatabase() {27. String value = dbUtil.readFromDatabase("2");28. assertEquals(value, "学生2");29. }30.31.@Test32.public void testGetEveryItem() {33.int size = dbUtil.getEveryItem().size();34. assertEquals(size, 10);35. }36.37.@Test38.public void testDeleteFromDatabase() {39. dbUtil.deleteFromDatabase("4");40. assertEquals(9, dbUtil.getEveryItem().size());41. }42.43.public void cleanup() {44. dbUtil.closeDB();45. }46.47.}Berkeley DB的基本操作:包括以下部分(1)打开数据库(2)向数据库写入数据(3)根据Key值读取某个数据(4)读取全量数据列表(5)根据Key值删除某个数据(6)关闭数据库注意:由于各个操作可能对应同一个数据库,因此是否需要使用单例模式?[java]view plaincopy1.package com.ljh.test;2.3.import java.io.File;4.import java.io.UnsupportedEncodingException;5.import java.util.ArrayList;6.7.import com.sleepycat.je.Cursor;8.import com.sleepycat.je.CursorConfig;9.import com.sleepycat.je.Database;10.import com.sleepycat.je.DatabaseConfig;11.import com.sleepycat.je.DatabaseEntry;12.import com.sleepycat.je.Environment;13.import com.sleepycat.je.EnvironmentConfig;14.import com.sleepycat.je.LockConflictException;15.import com.sleepycat.je.LockMode;16.import com.sleepycat.je.OperationStatus;17.import com.sleepycat.je.Transaction;18.import com.sleepycat.je.TransactionConfig;19.20.public class BerkeleyDBUtil {21.22.// 数据库环境23.private Environment env = null;24.25.// 数据库26.private static Database frontierDatabase = null;27.28.// 数据库名29.private static String dbName = "frontier_database";30.31.public BerkeleyDBUtil(String homeDirectory) {32.33.// 1、创建EnvironmentConfig34. EnvironmentConfig envConfig = new EnvironmentConfig();35. envConfig.setTransactional(true);36. envConfig.setAllowCreate(true);37.38.// 2、使用EnvironmentConfig配置Environment39. env = new Environment(new File(homeDirectory), envConfig);40.41.// 3、创建DatabaseConfig42. DatabaseConfig dbConfig = new DatabaseConfig();43. dbConfig.setTransactional(true);44. dbConfig.setAllowCreate(true);45.46.// 4、使用Environment与DatabaseConfig打开Database47. frontierDatabase = env.openDatabase(null, dbName, dbConfig);48.49. }50.51./*52. * 向数据库中写入记录,并判断是否可以有重复数据。