ORACLE数据库API接口函数设计说明

ORACLE数据库API接口函数设计说明
ORACLE数据库API接口函数设计说明

ORACLE数据库API接口函数设计说明

API接口函数使用示例:

参见程序OCIDEMO.DSW

//工程中不用在连接ociw32.lib只用xjoci.lib就行了。

假定:

工程文件为newocidemo,所在目录为c:\newocidemo,newocidemo.exe 位于c:\newocidemo\debug下面

使用步骤:

1、将MyConnection.h;oratypes.h;ocidem.h;ocidfn.h;xioci.lib复制到c:\newocidemo下面

2、将xioci.dll复制到c:\newocidemo\debug下面

3、设置project 下的settings 下面的link 中的object/library modules: 为xjoci.lib

4、在file中添加MyConnection.h,从而在class中会出现connection,cursor两个新类

API接口函数类设计:

CONNECTION类

class connection

{

friend class cursor;

public:

BOOL IsConnected();

connection();

~connection();

BOOL connect(char *username, char *password,char *sername);

BOOL disconnect();

void display_error() const;

private:

Lda_Def lda;

ub1 hda[HDA_SIZE];

enum conn_state

{

not_connected,

connected

};

conn_state state;

};

BOOL connect(char *username, char *password,char *sername); 函数用途:connect函数建立OCI程序与ORACLE数据库的连接参数说明:char *username,--用户名

char *password,--口令

char *sername—主机字符串(数据库别名)。

返回值:连接成功返回TRUE,不成功返回FALSE

BOOL disconnect();

函数用途:disconnect函数断开与数据库的连接

参数说明:

返回值:断开成功返回TRUE,不成功返回FALSE

BOOL IsConnected ();

函数用途:IsConnected函数判断是否与数据库建立了连接。

参数说明:

返回值:有连接存在返回值为TRUE,没有连接返回值为FALSE void display_error() const;

函数用途:display_error当各个函数返回值为FALSE时,调用此函数可以显示错误信息。

返回值:

CURSOR类

class cursor

{

public:

BOOL IsOpened();

BOOL ExecuteSQL(char * stmt);

cursor();

~cursor();

BOOL open(connection *conn_param);

BOOL close();

BOOL parse(const char *stmt);

/* 绑定输入*/

BOOL bind_by_position(int sqlvnum, void *progvar,int progvarlen,

int datatype,short *indicator);

/* 定义输出*/

BOOL define_by_position(int position, void *buf,int bufl, int datatype);

//取得列描述信息

BOOL describe(int position, long *dbsize, int *dbtype,

void *cbuf, int *cbufl, long *dsize, int *prec,

int *scale, int *nullok);

BOOL execute();

BOOL fetch();

void display_error();

private:

int get_error_code();

Cda_Def cda;

connection *conn;

enum cursor_state

{

not_opened,

opened

};

cursor_state state;

};

BOOL IsOpened();

函数用途:判断游标是否打开

参数说明:

返回值:游标打开返回值为TRUE,游标没有打开返回值为FALSE BOOL ExecuteSQL(char * stmt);

函数用途:直接执行不带绑定输入和定义输出的SQL语句,如插入、更新、提交、回滚等。实际上完成解析(PARSE)和执行(EXECUTE)的功能。

参数说明:char * stmt构造的SQL语句

返回值:成功执行返回值为TRUE,执行不成功返回值为FALSE BOOL open(connection *conn_param);

函数用途:打开游标

参数说明:connection *conn_param connection对象的地址

返回值:打开成功返回值为TRUE,打开不成功返回值为FALSE BOOL close();

函数用途:关闭游标

参数说明:

返回值:成功关闭游标返回值为TRUE,关闭游标不成功返回值为FALSE

BOOL parse(const char *stmt);

函数用途:解析所构造的SQL语句

参数说明:const char *stmt 所构造的SQL语句

返回值:解析成功返回值为TRUE,解析不成功返回值为FALSE

BOOL bind_by_position(int sqlvnum, void *progvar,int progvarlen, int datatype,short *indicator);

函数用途:该函数用于绑定输入,即宿主变量作为SQL语句的参数,建议直接将宿主变量的值格式化进SQL语句(SQL PLUS 可以直接执行的字符串),以避免使用此函数。

参数说明:

返回值:

BOOL define_by_position(int position, void *buf,int bufl, int datatype);

函数用途:该函数用于定义输出即定义SQL语句返回的记录所保存到的宿主变量的内存地址。

参数说明:int position,--以1为开始的待定义的SQL语句记录项的索引值。

void *buf,--宿主变量的内存地址

int bufl,--宿主变量的长度

int datatype—宿主变量的数据类型(参照OCIDEM。H中的数据类型预定义)

返回值:成功返回值为TRUE,不成功返回值为FALSE

BOOL describe(int position, long *dbsize, int *dbtype,

void *cbuf, int *cbufl, long *dsize, int *prec,

int *scale, int *nullok);

函数用途:该函数用于返回表结构信息

参数说明:

返回值:

BOOL execute();

函数用途:execute执行经过解析(、定义输出)的SQL语句。

参数说明:

返回值:执行成功返回值为TRUE,执行不成功返回值为FALSE

BOOL fetch();

函数用途:fetch 函数取一条SELECT语句返回的记录。再次执行此函数时,取出下一条记录。

参数说明:

返回值:执行成功返回值为TRUE,当取记录失败或没有记录可取时,返回FALSE。

void display_error();

函数用途:display_error当各个函数返回值为FALSE时,调用此函数可以显示错误信息。*FETCH函数除外。

参数说明:

返回值:

ORACLE数据库与实例的关系

ORACLE数据库与实例的关系 1 数据库名 1.1 数据库名的概念 数据库名(db_name)就是一个数据库的标识,就像人的身份证号一样。如果一台机 器上装了多个数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入参数文件之中。 数据库名在$Oracle_HOME/admin/db_name/pfile/init.ora(或 $ORACLE_BASE/admin/db_name/pfile/init.ora或$ORACLE_HOME/dbs/SPFILE<实 例名>.ORA)文件中 ########################################### # Database Identification ########################################### db_domain="" db_name=orcl 在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是 以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改DB_NAME的值。但是在Oracle启动时,由于参数文件中的DB_NAME与控制文件中的数据库名不一致,导致数据库启动失败,将返回ORA-01103错误。 1.2 数据库名的作用 数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的(注意这些时候不能使用sid,还有alter database时都是使用数据库名)。 有很多Oracle安装文件目录是与数据库名相关的,如: winnt: F:\oracle\product\10.2.0\oradata\DB_NAME\...

网站整体架构设计及搭建

网站发展历史与基础概念 网站的诞生与发展 因特网起源于美国国防部高级研究计划管理局建立的阿帕网。网站(Website)开始是指在因特网上,根据一定的规则,使用HTML等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。人们可以通过网页浏览器来访问网站,获取自己需要的资讯或者享受网络服务。 在因特网的早期,网站还只能保存单纯的文本。经过几年的发展,当万维网出现之后,图像、声音、动画、视频,甚至3D技术等多媒体资源开始在因特网上流行起来,网站也慢慢地发展成我们现在看到的图文并茂的样子,即基于HTTP协议(超文本传输协议)的多媒体资源展示与共享。 在信息技术飞速发展的今天,通过综合运用软件开发技术、多媒体技术、网页呈现技术、数据库技术以及矢量动画技术,使得现代网站拥有丰富多彩的功能和用户UI。 目前互联网已经来到了的时代,大量复杂的富浏览器端功能在网站中得到应用。给网站的发展和推广带来新的活力和机遇。 与网站相关的概念 域名(Domain Name) 域名是由一串用点分隔的字母组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置),目前域名已经成为互联网的品牌、网上商标保护必备的产品之一。 域名与IP地址一一对应,用于在互联网上区分开各个主机。 扩展学习:域名域名分类 域名分类 常用国家地区代码

空间(虚拟主机Virtual Machine) 虚拟主机也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务器(支持WWW、FTP、E-mail 等)功能。这种技术极大的促进了网络技术的应用和普及。租用主机也成了网络时代新的经济形式。扩展学习:虚拟主机 界面与程序(UI、Program) 网站的界面与后台程序是网站外貌、风格和功能的集中体现,是网站的核心组成部分。界面和程序的实现需要综合运用多种技术,如HTML、XHTML、Css、Javascript、XML、Flash、Sliverlight、Jsp、.Net等。 通信协议(Communication protocol) 所有的需要互通信息的机器或设备都要采用通用的通信标准。类似于不同国家的人要交流时讲述同一种语言。网络通信协议为连接不同操作系统和不同硬件体系结构的互联网络引提供通信支持,是一种网络通用语言。 常见的网络通信协议 TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议) HTTP协议(Hypertext Transfer Protocol,超文本传输协议) SMTP协议(Simple Mail Transfer Protocol,简单邮件传输协议) POP3协议(Post Office Protocol 3,电子邮件协议的第3个版本) 第二章网站建设的目标、原则与规划 明确网站建设的目标 常见的网站建设目标: 政府部门信息公开,网上办公等需要。 信息发布及塑造企业形象。通过Internet,可发布企业的产品及服务信息,宣传展示企业,塑造企业形象。 从事商务活动。建立网站,以Internet为媒介,充分利用其上的客户群以及通信作用进行商务活动。 吸引投资。纯粹是为了出售站点,根据其所建设的网站的价值。 兴趣与爱好。主要是一些个人,因爱好而建网。 明确网站建设的原则 在网站规划建设前一定要对自己的网站进行定位,明确网站建设的目的和功能,避免盲目设计,否则既达不到宣传及实用目的,又浪费了人力和物力。 要考虑网站的用户群体特点和数量,使网站在访问承载能力和数据吞吐能力上能够适应实际需求。 规划网站时,还要考虑使用哪种技术平台和架构,以满足网站功能和用户的需求。 网站建设的整体规划 网站整体规划的主要内容: (1)C I 形象策划(2)网站栏目、文件结构(3)网站技术架构(4)页面布局与外观设计 C I 形象策划 (1)设计网站的标志(logo) (2)设计网站的标准色彩 (3)设计网站的标准字体(4)设计网站的宣传标语

Oracle数据库数据对象分析_张达宇

Oracle数据库数据对象分析 日期:2006-01-18 08:00 点击: Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。 表和视图 Oracle中表是数据存储的基本结构。ORACLE8引入了分区表和对象表,ORACLE8i引入了临时表,使表的功能更强大。视图是一个或多个表中数据的逻辑表达式。本文我们将讨论怎样创建和管理简单的表和视图。 管理表 表可以看作有行和列的电子数据表,表是关系数据库中一种拥有数据的结构。用CREATE TABLE语句建立表,在建立表的同时,必须定义表名,列,以及列的数据类型和大小。例如: 这样我们就建立了一个名为products的表,关键词CREATE TABLE后紧跟的表名,然后定义了三列,同时规定了列的数据类型和大小。 在创建表的同时你可以规定表的完整性约束,也可以规定列的完整性约束,在列上普通的约束是NOT NULL,关于约束的讨论我们在以后进行。 在建立或更改表时,可以给表一个缺省值。缺省值是在增加行时,增加的数据行中某一项值为null时,oracle即认为该值为缺省值。 下列数据字典视图提供表和表的列的信息: . DBA_TABLES . DBA_ALL_TABLES . USER_TABLES . USER_ALL_TABLES . ALL_TABLES . ALL_ALL_TABLES . DBA_TAB_COLUMNS . USER_TAB_COLUMNS . ALL_TAB_COLUMNS 表的命名规则 表名标识一个表,所以应尽可能在表名中描述表,oracle中表名或列名最长可以达30个字符串。表名应该以字母开始,可以在表名中包含数

ORACLE常用SQL语句大全

ORACLE常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not nul l],..) 根据已有的表创建新表: A:select * into table_new from table_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only<仅适用于Oracle> 5、说明:删除表 drop table tablename

6、说明:增加一个列,删除一个列 A:alter table tabname add column col type B:alter table tabname drop column colname 注:DB2DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、添加主键: Alter table tabname add primary key(col) 删除主键: Alter table tabname drop primary key(col) 8、创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、创建视图:create view viewname as select statement 删除视图:drop view viewname 10、几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、几个高级查询运算词 A:UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B:EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C:INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 12、使用外连接

windows环境下配置连接oracle数据库的方法及步骤

配置oracle连接 怎么在windows环境下配置连接oracle数据库? 步骤如下: 一、安装PL/SQL: 1、获取PL/SQL安装包;(PL/SQL是连接oracle的客户端) 2、安装PL/SQL; (1)双击PL/SQL安装程序,安装PL/SQL; (2)选择“I Agree”进行安装;

(3)选择安装路径(一般选择默认路径);点击【Next】按钮; (4)默认选择,点击【Next】按钮; (5)默认选择,点击【Finish】按钮,开始安装;

(6)安装进度显示 (7)窗口提示“PL/SQL Developer installed successfully”,安装完成,点击【Close】按钮。

二、配置连接 1、获取oci.dll文件(该文件是用来连接数据库的文件),将该文件及其所在的文件夹放置在一个不含有中文的路径下(如:F:\instantclient); 2、双击打开PL/SQL客户端,点击【Cancel】按钮; 3、跳转到PL/SQL页面,如下图所示。选择【Tool】—>Preferences; 4、按下图进行选择,在“Oracle Home(enpty is autodetect)”栏中选择oci.dll文件所在的目录;在“OCI library(enpty is autodetect)”栏中选择oci.dll文件

5、点击【OK】按钮即可完成 6、退出PL/SQL页面,重新登录。双击PL/SQL客户端,在Oracle Logon窗口中填写数据库的用户名、密码、数据库名和连接方式;点击【OK】按钮即可查询数据库。 完毕!谢谢!

Oracle数据库基本知识点

1、数据库基本语句 (1)表结构处理 创建一个表:cteate table 表名(列1 类型,列2 类型); 修改表的名字 alter table 旧表名 rename to 新表名 查看表结构 desc 表名(cmd) 添加一个字段 alter table 表名 add(列类型); 修改字段类型 alter table 表名 modify(列类型); 删除一个字段 alter table 表名 drop column列名; 删除表 drop table 表名 修改列名 alter table 表名 rename column 旧列名 to 新列名; (2)表数据处理 增加数据:insert into 表名 values(所有列的值); insert into 表名(列)values(对应的值); 更新语句:update 表 set 列=新的值,…[where 条件] 删除数据:delete from 表名 where 条件 删除所有数据,不会影响表结构,不会记录日志, 数据不能恢复--》删除很快: truncate table 表名 删除所有数据,包括表结构一并删除: drop table 表名 去除重复的显示:select distinct 列 from 表名 日期类型:to_date(字符串1,字符串2)字符串1是日期的字 符串,字符串2是格式 to_date('1990-1-1','yyyy-mm-dd')-->返回日期的 类型是1990-1-1 (3)查询语句 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id

互联网数据库网上作业客观题答案

一、单选题: 1.数据模型是()。 A.现实世界数据内容的抽象 B.现实世界数据特征的抽象 C.现实世界数据库结构的抽象 D.现实世界数据库物理存储的抽象 2.实际的数据库管理系统产品在体系结构上通常具有的相同的特征是()。 A.树型结构和网状结构的并用 B.有多种接口,提供树型结构到网状结构的映射功能 C.采用三级模式结构并提供两级印象功能 D.采用关系模型 3.范式是指()。 A.规范化的等式 B.规范化的关系 C.规范化的数学表达式 D.规范化的抽象表达式 4.SQL语言中,模式对应于()。 A.视图和部分基本表 B.基本表 C.存储文件 D.物理磁盘 5.SQL语言中,内模式对应于()。 A.视图和部分基本表 B.基本表

C.存储文件 D.物理磁盘 6.所谓2NF,就是()。 A.不允许关系模式的属性之间有函数依赖Y→X,X是码的真子集,Y是非主属性 B.不允许关系模式的属性之间有函数依赖X→Y,X是码的真子集,Y是非主属性 C.允许关系模式的属性之间有函数依赖Y→X,X是码的真子集,Y是非主属性 D.允许关系模式的属性之间有函数依赖X→Y,X是码的真子集,Y是非主属性 7.所谓静态元组约束,就是()。 A.规定组成一个行的各个元组之间的约束关系 B.规定组成一个元组的各个之间的约束关系 C.规定组成一个列的各个元组之间的约束关系 D.规定组成一个元组的各个行之间的约束关系 8.在数据字典中,反映了数据之间的组合关系的是()。 A.数据结构 B.数据逻辑 C.数据存储方式 D.数据记录 9.在传输表单数据时,跟在httpheader后有一专门的数据段,这个数据段包含在表单中输入的查询参数,它一起被发送给Web服务器,这种传递方法是()。 A.GET方法 B.POST方法 C.PUT方法 D.REP方法

数据中心建设架构设计

数据中心架构建设计方案建议书 1、数据中心网络功能区分区说明 功能区说明 图1:数据中心网络拓扑图 数据中心网络通过防火墙和交换机等网络安全设备分隔为个功能区:互联网区、应用服务器区、核心数据区、存储数据区、管理区和测试区。可通过在防火墙上设置策略来灵活控制各功能区之间的访问。各功能区拓扑结构应保持基本一致,并可根据需要新增功能区。 在安全级别的设定上,互联网区最低,应用区次之,测试区等,核心数据区和存储数据区最高。 数据中心网络采用冗余设计,实现网络设备、线路的冗余备份以保证较高的可靠性。 互联网区网络 外联区位于第一道防火墙之外,是数据中心网络的Internet接口,提供与Internet高速、可靠的连接,保证客户通过Internet访问支付中心。 根据中国南电信、北联通的网络分割现状,数据中心同时申请中国电信、中国联通各1条Internet线路。实现自动为来访用户选择最优的网络线路,保证优质的网络访问服务。当1条线路出现故障时,所有访问自动切换到另1条线路,即实现线路的冗余备份。

但随着移动互联网的迅猛发展,将来一定会有中国移动接入的需求,互联区网络为未来增加中国移动(铁通)链路接入提供了硬件准备,无需增加硬件便可以接入更多互联网接入链路。 外联区网络设备主要有:2台高性能链路负载均衡设备F5 LC1600,此交换机不断能够支持链路负载,通过DNS智能选择最佳线路给接入用户,同时确保其中一条链路发生故障后,另外一条链路能够迅速接管。互联网区使用交换机可以利用现有二层交换机,也可以通过VLAN方式从核心交换机上借用端口。 交换机具有端口镜像功能,并且每台交换机至少保留4个未使用端口,以便未来网络入侵检测器、网络流量分析仪等设备等接入。 建议未来在此处部署应用防火墙产品,以防止黑客在应用层上对应用系统的攻击。 应用服务器区网络 应用服务器区位于防火墙内,主要用于放置WEB服务器、应用服务器等。所有应用服务器和web服务器可以通过F5 BigIP1600实现服务器负载均衡。 外网防火墙均应采用千兆高性能防火墙。防火墙采用模块式设计,具有端口扩展能力,以满足未来扩展功能区的需要。 在此区部署服务器负载均衡交换机,实现服务器的负载均衡。也可以采用F5虚拟化版本,即无需硬件,只需要使用软件就可以象一台虚拟服务器一样,运行在vmware ESXi上。 数据库区

浅谈对的理解对象—关系型数据库

浅谈对对象—关系型数据库的理解 姓名:杨小敏 学号:2010206190026

针对对象—关系型数据库的理解我想结合自己的专业(地图学与地理信息系统)从下面三个方面来理解:(1)关系型数据的发展以及在空间数据管理方面的优缺点(2)面向对象数据库的发展及在空间数据管理方面的优缺点(3)关系型数据库和面向对象技术的融合在数据库发展中所起到的独特作用在我们GIS专业领域内,随着信息技术的发展,各种应用系统建设的不断深入,像现在面向21世纪的应急应用系统的建设、城市基础地理空间信息数据库系统与共享平台的建设、地理信息公共服务平台的建设,小到“数字城市”的建设,大到“数字地球”乃至“智慧地球”的建设,我们已经开始不满足数值和文字的信息处理,为了达到系统建设平台尤其是公共服务平台的建设起到良好的客户友好体验,大量的图形信息,音频信息已经深入到数据库的设计中,其中尤其是空间数据库管理备受瞩目。所以,面对信息爆炸的21世纪,海量数据的存储和管路已经不是传统的数据库能解决的,空间数据管理需要更强的数据库——对象关系型数据库。 为什么空间数据需要对象关系型数据库的管理才更有效?我想简单的说一下GIS空间数据的基本特征:(1)空间特征:每个空间对象都具有空间坐标,所以在存储空间数据的同时我们要考虑数据的空间分布特征;(2)非结构化特征:通用数据库或者是传统数据库数据记录一般是结构化的,在面对空间图形信息的时候难以直接采用关系数据管理系统;(3)空间关系特征:空间数据的空间关系最重要的就是空间拓扑关系,这种拓扑结构方便了空间数据的查询和空间分析,但是给空间数据的一致性和完整性的维护增加了复杂性;(4)海量数据的特征:数据库在面对海量数据的存储和组织时,一般在二维空间上划分块或图幅,在垂直的方向上划分层在组织海量空间数据。 在空间数据的管理技术的发展中,从手工管理管理阶段到文件管理阶段再到数据库管理阶段,在三个数据管理阶段,对数据管理方式也不尽相同,在这里,我想说的是空间数据库的发展历史对空间数据管理的影响,第一是层次关系型数据库:只是数据库发展的初级阶段,这是空间数据的管理大多用文件方式管理,很显然不适合管理海量的空间数据,所以淘汰;第二是网络关系型数据库:在一定程度上解决了空间数据复杂管理的难题,但还是被日益崛起的关系型数据库所淘汰;第三是关系型数据库的发展:为了解决难于保证数据的完整性,开始将空

oracle大型数据库简答题题库

共享和专用操作模式的工作过程有什么区别? 在专用服务器操作模式中,Oracle为每个连接到数据库实例的用户进程启动一个专门的服务进程,其用户进程数与服务器进程数的比例为1:1因为在用户进程空闲期间,对应的服务器进程始终存在,数据库的效率比较低。共享服务器操作模式可以实现只运行少量的服务器进程,由少量的服务器进程为大量用户提供服务。在此模式下,数据库实例启动的同时也将启动一定数量的服务进程,在调度进程Dnnn 的调度下位任意数量的用户进程提供服务。 简述oracle的初始化参数文件? 答:在传统上,Oracle在启动实例时将读取本地的一个文本文件,并利用从中获取初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称为PFILE)。 简述如何修改初始化参数文件? 答:如果要对初始化参数进行修改,必须先关闭数据库,然后在初始化参数文件中进行编辑,再重新启动数据库使修改生效。 简述启动数据库时的状态。 答:开启数据库分成4种状态。SHUTDOWN状态:数据库是关闭的。NOMOUNT状态:Instance被开启的状态,会去读取初始化参数文件。MOUNT状态:会去读取控制文件。数据库被装载。OPEN状态:读取数据文件、在线重做日志文件等,数据库开启。 简述数据库的各种关闭方式。 答:(1)正常关闭(SHUTDOWN NORMAL):不允许新的USER连进来。(2)事务关闭(SHUTDOWN TRANSACTIONAL):等待所有未提交的事务完成后再关闭数据库(3)立即关闭(SHUTDOWN IMMEDIATE):任何未提交的事务均被回退。(4)终止关闭(SHUTDOWN ABORT):立即终止当前正在执行的SQL语句,任何未提交的事务 页脚内容1

数据库设计实例需求分析、概念结构、逻辑结构

数据库设计实例分析 一、需求分析实例 现要开发高校图书管理系统。经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能: (1)读者注册。 (2)读者借书。 (3)读者还书。 (4)图书查询。 1、数据流图 顶层数据流图反映了图书管理系统与外界的接口,但未表明数据的加工要求,需要进一步细化。根据前面图书管理系统功能边界的确定,再对图书管理系统顶层数据流图中的处理功能做进一步分解,可分解为读者注册、借书、还书和查询四个子功能,这样就得到了图书管理系统的第0层数据流图 从图书管理系统第0层数据流图中可以看出,在图书管理的不同业务中,借书、还书、查询这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图。下面的图8-7分别给出了借书、还书、查询子功能的第1层数据流图 2、数据字典 数据项 数据项名称:借书证号 别名:卡号 含义说明:惟一标识一个借书证 类型:字符型 长度:20 …… 数据结构 (1)名称:读者类别 含义说明:定义了一个读者类别的有关信息 组成结构:类别代码+类别名称+可借阅数量+借阅天数+超期罚款额 (2)名称:读者 含义说明:定义了一个读者的有关信息 组成结构:姓名+性别+所在部门+读者类型 (3)名称:图书 含义说明:定义了一本图书的有关信息 组成结构:图书编号+图书名称+作者+出版社+价格 ……

数据流 (1)数据流名称:借书单 含义:读者借书时填写的单据 来源:读者 去向:审核借书 数据流量:250份/天 组成:借书证编号+借阅日期+图书编号 (2)数据流名称:还书单 含义:读者还书时填写的单据 来源:读者 去向:审核还书 数据流量:250份/天 组成:借书证编号+还书日期+图书编号 …… 数据存储 (1)数据存储名称:图书信息表 含义说明:存放图书有关信息 组成结构:图书+库存数量 说明:数量用来说明图书在仓库中的存放数 (2)数据存储名称:读者信息表 含义说明:存放读者的注册信息 组成结构:读者+卡号+卡状态+办卡日期 说明:卡状态是指借书证当前被锁定还是正常使用 (3)数据存储名称:借书记录 含义说明:存放读者的借书、还书信息 组成结构:卡号+书号+借书日期+还书日期 说明:要求能立即查询并修改 …… 处理过程 (1)处理过程名称:审核借书证 输入:借书证 输出:认定合格的借书证 加工逻辑:根据读者信息表和读者借书证,如果借书证在读者信息表中存在并且没有被锁定,那么借书证是有效的借书证,否则是无效的借书证。 …… 二、概念结构设计实例 1.标识图书管理系统中的实体和属性 参照数据字典中对数据存储的描述,可初步确定三个实体的属性为: 读者:{卡号,姓名,性别,部门,类别、办卡日期,卡状态} 读者类别:{类别代码,类别名称,可借阅天数、可借阅数量,超期罚款额}

Oracle数据库管理与应用实例教程(刘志成)课后习题及答案

【填空题】 1.默认情况OEM的URL地址是https://sd04:1158/em(其中sd04为机器名) 2.Oracle9i发布于2001,i代表Internet,11G发布于2007,g代表grid(网格) 3.在oracle内存结构中,保存正在执行或可能执行的代码的区是代码区 4.在oracle进程结构中,用于实现进程监控功能的进程是PMON 1.Oracle数据库系统的物理存储结构主要由3类文件组成,分别为数据文件、重做日志文件、控制文件。 2.一个表空间物理上对应一个或多数据文件 3.在oracle的逻辑存储结构中,根据存储数据的类型,可以将段分成为数据段、索引段、回滚段、LOB段和临时段。 1.在设计表时,对于邮政编码最适合的数据类型是CHAR 2.在alter table语句中,如果要删除列,可以通过指定DROP COLUMN关键字来实现。 3.如果需要在表中插入一批已经存在的数据,可以在insert语句中使用SELECT语句。 4创建一个update语句来修改goods表中的数据,并且把每一行的t-id值都改成15,应该使用的SQL语句是UPDATE SCOTT.Goods SET t_ID=’15’ 5.使用DESC命令可以显示表的结构信息 6.两个表的主关键字和外关键字的数据应该对应一致,这是属于引用完整性,通常可以通过主键和外键来实现。 7.UNIQUE约束通过确保在列中不输入重复值保证一列或多列的实体完整性。 1.在select语句中选择满足条件的记录使用where关键字,分组之后进行选择使用having 关键字 2.用来返回特定字段中所有值得总和的聚合函数是SUM 3.编写查询语句时,使用%通配符可以匹配多个字符。 18.集合运算符UNION实现集合的并运算,操作符INTERSECT实现了对集合的交运算,而MINUS则实现了减运算 19.如果要定义只读的视图,可以在创建视图时使用READ ONLY关键字 20.删除视图的PL\SQL语句是DROP VIEW [用户方案.]视图名 21.在使用CREATE INDEX创建索引时,使用BITMAP关键字可以创建位图索引 22.聚集(Cluster)是存储表数据的可选择的方法。一个聚集是一组表,将具有同一公共列值的行存储在一起,并且它们经常一起使用,表中相关的列称为聚集键 23.在为表中某个列定义PRIMARY KEY约束PK_ID后,则系统默认创建的索引名为PK_ID 24.如果表中某列的基数比较低,则应该在该列上创建反向索引 25.如果要获知索引的使用情况,可以通过查询DBA_INDEXES视图,而要获知索引的当前状态,可以查询INDEX_STATS视图。 26. 在Oracle的PL/SQL程序中,除了可以使用Oracle规定的数据类型外,还可以使用%TYPE 类型的变量,由系统根据检索的数据表列的数据类型决定该变量的类型,也可以使用%ROWTYPE 类型的变量用来一次存储从数据表中检索的一行数据。 27. SYSDATE函数可以获得当前系统的日期,SUBSTR(s,start,len)函数可以实现从指定的字符串中取指定长度的字符串。 28. 用来变异存储过程的PL/SQL语句是ALTER PROCEDURE,CREATE FUNCTION语句可以用来创建函数。

Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实 例。( T )2、Oracle服务器端的监听程序是驻留在服务器上的单独 进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务, 非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不 可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信 息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多 个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文 件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使 用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特 殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字 段列表的末尾。( T )  20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在 结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时, 自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可 以访问多行。( F )

Oracle 数据库 常用命令

SPOOL将屏幕所有的输出输出到指定文件 -- spool 文件路径名; spool g:\mysql.sql; --业务操作 --结束输出 spool off; 执行一个SQL脚本文件 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 --start file_name -- @ file_name start g:\mysql.sql; @ g:\mysql.sql; 对当前的输入进行编辑 edit ed 重新运行上一次运行的sql语句 / 显示一个表的结构 desc table_name ; 清屏 clear screen; 退出 exit; 置当前session是否对修改的数据进行自动提交 --SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n} set autocommit on; 在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句 -- SET ECHO {ON|OFF}; set echo on; 是否显示当前sql语句查询或修改的行数 --SET FEED[BACK] {6|n|ON|OFF}

-- 默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数 set feedback 1; 是否显示列标题 --当set heading off 时,在每页的上面不显示列标题,而是以空白行代替 --SET HEA[DING] {ON|OFF} set heading on; 设置一行可以容纳的字符数 -- 如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示 --SET LIN[ESIZE] {80|n} set linesize 100; 设置页与页之间的分隔 -- SET NEWP[AGE] {1|n|NONE} --当set newpage 0 时,会在每页的开头有一个小的黑方框。 --当set newpage n 时,会在页和页之间隔着n个空行。 --当set newpage none 时,会在页和页之间没有任何间隔 set newpage 1; 设置一页有多少行数 --如果设为0,则所有的输出内容为一页并且不显示列标题 --SET PAGES[IZE] {24|n} set pagesize 20; 是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。 --SET SERVEROUT[PUT] {ON|OFF} set serveroutput on; 是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。 --在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,--设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度 --SET TERM[OUT] {ON|OFF} set termout off; 在dos里连接oracle数据库 CONNECT user_name/passwd@l_jiayou

互联网构架

软件设计工作量 一、数据库服务器工作量 1.对关系型数据库全部表格架构的设计(包括字段、类型、列集、默认状态、计算规范、 DTS复制、可合并行属性的设计) 2.数据库访问中用到的全部存储过程的设计(包括接口定义、语句访问权限、存储性能分 析设计工作) 3.数据库用户权限的分配(包括确定登录名的服务器角色、登录名数据库映射、登录名数 据库角色、安全对象模板) 4.计划任务的设计和布置(包括定时备份、定时优化计划任务) 5.数据库代理服务的布置(包括作业内容、代理脚本设计和错误日志记录) 二、服务器端的调度软件工作量 1.审核并确认登录用户的级并建立数据库的连接(对用户Sha512加密结果进行检索以确 定用户身份) 2.协调客户端并发请求(建立自适应缓冲池、建立多线程向数据库添加数据) 3.向服务器增、删、改客户端上传数据(为解决可能存在的并发冲突,多线程并发的调用 数据库预先设计存储过程,实现数据多种数据处理) 4.接收“不满意报告”并反馈给医师端以及将医师端报告重新发给用户并对服务器对应数 据做修改(基于Windows消息机制模型,设计病例数据传发消息,将“不满意报告”发给医师重新审定,并再次发送至用户) 5.接收在线售卡系统及财务提交的申请并自动生成加密串号反馈给用户或财务端软件(串 号的生成要求加密,从而实现防伪的功能) 6.向客户端发出续费提示(实时查询用户在数据库中的储值情况,及时向用户发送续费提 示) 7.向客户端发送公司的群发消息(以系统托盘弹出消息的方式提示用户公司需要发布的最 新消息) 8.医师离线时,服务器会动态分配“不满意报告”(建立后台定时器,对于超时任务,自 动派发给在线医师) 9.按次数及用户等级对用户卡中金额进行扣除(按照公司预定义的费率扣除费用) 10.按照用户等级生成并向客户端发送诊断报告(建立分级处理线程,根据用户等级,并行 处理) 三、医师端软件工作量 1.医师用户登录权限审核(对医师用户Sha512加密结果进行检索以确定医师用户身份) 2.接收服务器端发来的“不满意报告”(基于Windows消息机制模型,设计病例数据传发 消息,将“不满意报告”重新审定) 3.对报告进行修改反馈给数据库(修改自动生成的诊断结果,将新结果反馈给用户) 4.患者历史数据和历史诊断的查询和分析图样 5.患者测量数据图样的绘制及可能患病的分析(根据需求绘制病例图样,以方便医师诊断) 四、缴费系统工作量

Oracle数据库链接建立技巧与实例讲解

Oracle数据库链接建立技巧与实例讲解 数据库链接(DATABASE LINK)是在分布式环境下,为了访问远程数据库而创建的数据通信链路。数据库链接隐藏了对远程数据库访问的复杂性。通常,我们把正在登录的数据库称为本地数据库,另外的一个数据库称为远程数据库。有了数据库链接,可以直接通过数据库链接来访问远程数据库的表。常见的形式是访问远程数据库固定用户的链接,即链接到指定的用户,创建这种形式的数据库链接的语句如下: CREATE DATABASE LINK 链接名 CONNECT TO 账户 IDENTIFIED BY 口令 USING 服务名; 创建数据库链接,需要CREATE DATABASE LINK系统权限。 数据库链接一旦建立并测试成功,就可以使用以下形式来访问远程用户的表。 表名@数据库链接名 例:在局域网上创建和使用数据库链接。 步骤1:创建远程数据库的服务名,假定局域网上另一个数据库服务名为MYDB_REMOTE。 步骤2:登录本地数据库SCOTT账户,创建数据库链接: CONNECT SCOTT/TIGER@MYDB CREATE DATABASE LINK abc CONNECT TO scott IDENTIFIED BY tiger USING 'MYDB_REMOTE'; 执行结果为: 数据库链接已创建。 查询远程数据库的数据: SELECT * FROM emp@abc; 结果略。 步骤4:一个分布查询: SELECT ename,dname FROM emp@abc e,dept d WHERE e.deptno=d.deptno; 结果略。

ORACLE数据库日常维护手册(最全+最实用)

ORACLE 日常维护手册 查看数据库版本 SELECT*FROM V$VERSION; 查看数据库语言环境 SELECT USERENV('LANGUAGE')FROM DUAL; 查看ORACLE实例状态 SELECT INSTANCE_NAME,HOST_NAME,STARTUP_TIME,STATUS,DATABASE_STATUS FROM V$INSTANCE; 查看ORACLE监听状态 lsnrctl status 查看数据库归档模式 SELECT NAME,LOG_MODE,OPEN_MODE FROM V$DATABASE; 查看回收站中对象 SELECT OBJECT_NAME,ORIGINAL_NAME,TYPE FROM RECYCLEBIN; 清空回收站中对象 PURGE RECYCLEBIN; 还原回收站中的对象 FLASHBACK TABLE"BIN$GOZUQZ6GS222JZDCCTFLHQ==$0" TO BEFORE DROP RENAME TO TEST;

闪回误删除的表 FLASHBACK TABLE AAA TO BEFORE DROP; 闪回表中记录到某一时间点 ALTER TABLE TEST ENABLE ROW MOVEMENT; FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2009-10-15 21:17:47','YYYY-MM-DD HH24:MI:SS'); 查看当前会话 SELECT SID,SERIAL#,USERNAME,PROGRAM,MACHINE,STATUS FROM V$SESSION; 查看DDL锁 SELECT* FROM DBA_DDL_LOCKS WHERE OWNER ='FWYANG'; 检查等待事件 SELECT SID, https://www.360docs.net/doc/304561899.html,ERNAME, EVENT, WAIT_CLASS, T1.SQL_TEXT FROM V$SESSION A, V$SQLAREA T1 WHERE WAIT_CLASS <>'Idle' AND A.SQL_ID = T1.SQL_ID; 检查数据文件状态 SELECT FILE_NAME,STATUS FROM DBA_DATA_FILES; 检查表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB -F.TOTAL_BYTES)/D.TOT_GROOTTE_MB *100, 2), '990.99') "使用比", F.TOTAL_BYTES "空闲空间(M)",

相关文档
最新文档