文档库 最新最全的文档下载
当前位置:文档库 › oracle数据库期末考试试题及答案.doc

oracle数据库期末考试试题及答案.doc

oracle数据库期末考试试题及答案.doc
oracle数据库期末考试试题及答案.doc

1、以下(A )内存区不属于SGA。

A.PGA B.日志缓冲区C.数据缓冲区D.共享池

2、(D )模式存储数据库中数据字典的表和视图。

A.DBA B.SCOTT C.SYSTEM D.SYS

3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将(C )

表空间分配给用户作为默认表空间。

A.HR B.SCOTT C.SYSTEM D.SYS

4、(A )服务监听并按受来自客户端应用程序的连接请求。

A.OracleHOME_NAMETNSListener

B.OracleServiceSID

C.OracleHOME_NAMEAgent

D.OracleHOME_NAMEHTTPServer

5、(B )函数通常用来计算累计排名、移动平均数和报表聚合等。

A.汇总B.分析C.分组D.单行

6、(B )SQL语句将为计算列SAL*12生成别名Annual Salary

A.SELECT ename,sal*12 ‘Annual Salary’ FROM emp;

B.SELECT ename,sal*12 “Annual Salary” FROM emp;

C.SELECT ename,sal*12 AS Annual Salary FROM emp;

D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp;

7、锁用于提供( B )。

A.改进的性能

B.数据的完整性和一致性

C.可用性和易于维护

D.用户安全

8、( C)锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删

除行。

A.行共享B.行排他C.共享D.排他

9、带有( B )子句的SELECT语句可以在表的一行或多行上放置排他锁。

A.FOR INSERT B.FOR UPDATE

C.FOR DELETE D.FOR REFRESH

10、使用( C )命令可以在已分区表的第一个分区之前添加新分区。

A.添加分区B.截断分区

C.拆分分区D.不能在第一个分区前添加分区

11、( C )分区允许用户明确地控制无序行到分区的映射。

A.散列B.范围C.列表D.复合

12、可以使用(C )伪列来访问序列。

A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL

C.CACHE和NOCACHE D.MAXVALUE和MINVALUE 13、带有错误的视图可使用(A )选项来创建。

A.FORCE

B.WITH CHECK OPTION

C.CREATE VIEW WITH ERROR

D.CREATE ERROR VIEW

14、在联接视图中,当(B )时,该基表被称为键保留表。

A.基表的主键不是结果集的主键

B.基表的主键是结果集的主键

C.基表的主键是结果集的外键

D.基表的主键不是结果集的外键

15、在列的取值重复率比较高的列上,适合创建(D )索引。

A.标准B.唯一C.分区D.位图

16、要以自身的模式创建私有同义词,用户必须拥有(C )系统权限

A.CREATE PRIVATE SYNONYM

B.CREATE PUBLIC SYNONYM

C.CREATE SYNONYM

D.CREATE ANY SYNONYM

17、PL/SQL块中不能直接使用的SQL命令是(D)。

A.SELECT B.INSERT

C.UPDATE D.DROP

18、以零作除数时会引发(B)异常。

A.VALUE_ERROR B.ZERO_DIVIDE

C.STORAGE_ERROR D.SELF_IS_NULL

19、要更新游标结果集中的当前行,应使用(A )子句。

A.WHERE CURRENT OF B.FOR UPDATE

C.FOR DELETE D.FOR MODIFY

20、用于处理得到单行查询结果的游标为(B )。

A.循环游标B.隐式游标

C.REF游标D.显式游标

21、公用的子程序和常量在(C )中声明。

A.过程B.游标

C.包规范D.包主体

22、数据字典视图(C )包含存储过程的代码文本

A.USER_OBJECTS B.USER_TEXT

C.USER_SOURCE D.USER_DESC

23、以下不属于命名的PL/SQL块的是(C )。

A.程序包B.过程

C.游标D.函数

24、(A )包用于显示PL/SQL块和存储过程中的调试信息。

A.DBMS_OUTPUT

B.DBMS_STANDARD

C.DBMS_INPUT

D.DBMS_SESSION

25、Oracle的内置程序包由(A )用户所有。

A.SYS B.SYSTEM

C.SCOTT D.PUBLIC

26、(A)触发器允许触发操作中的语句访问行的列值。

A.行级B.语句级

C.模式D.数据库级

27、在非归档日志方式下操作的数据库禁用了(A)。

A.归档日志

B.联机日志

C.日志写入程序

D.日志文件

28、以下哪种备份方式需要在完全关闭数据库进行(A )。

A.无归档日志模式下的数据库备份

B.归档日志模式下的数据库备份

C.使用导出实用程序进行逻辑备份

D.以上都不对

29、(B )方式的导出会从指定的表中导出所有数据。

A.分区B.表

C.全部数据库D.表空间

30、(C)参数用于确定是否要导入整个导出文件。

A.CONSTRAINTS B.TABLES

C.FULL D.FILE

二、填空题(每空2分,共40分)

1、假设已在某远程客户端完成网络服务名配置,服务名为aptech,请写出用户MARTIN(用

户口令martinpass)连接到服务器的命令:

Connect

martin/martinpass@aptech________[1]__________________________________;

2、SYS用户以管理员身份登录后,要授予用户MARTIN可以对SCOTT用户的EMP表进

行查询的权限,请写出授权命令:(假设MARTIN用户已存在)

___________________Grant select on scott.emp to martin______[2]___________________________________;

3创建表employee的副本,但不包含表中的记录:

CREATE TABLE employee_copy AS______Select * from employee where 1=2______[3]___________________;

itemfile表中itemrate列的信息,要求将数值转换为字符串,并使用当前货币符号作为前缀:

SELECT ____[4]_To_char___(itemrate,'C99999') FROM itemfile;

5、查itemfile表中itemdesc、re_level列的信息,要求re_level为NULL时显示为0

SELECT itemdesc, __[5]NVL__(re_level,0) FROM itemfile;

6、完成以下PL/SQL块,功能是:显示2 到50的25个偶数。

BEGIN

FOR____[6]_even_number____ IN ____[7]___1..25__

LOOP

DBMS_OUTPUT.PUT_LINE(even_number*2);

END LOOP

END;

7、完成以下PL/SQL块,功能是:接受职员编号并检索职员姓名。将职员姓名存储在变量

empname中,如果代码引发VALUE_ERROR异常,则向用户显示错误消息。

DELCARE

empname employee.ename%TYPE;;

eno employee.empno%TYPE;

BEGIN

eno:=’&employee_number’;

_____________________________;

DBMS_OUTPUT.PUT_LINE(‘职员姓名:’||empname);

______[9]___EXCEPTION___

WHEN VALUE_ERROR THEN

DBMS_OUTPUT.PUT_LINE(‘要存储在变量中的值过大’)

END;

8、完成以下PL/SQL块,功能是:使用游标,显示所有单价低于250元的玩具的单价。

DECLARE

my_toy_price toys.toyprice%TYPE;

CURSOR toy_cur IS

SELECT toyprice FROM toys

WHERE toyprice<250;

BEGIN

________[10]__OPEN toy_cur_____

LOOP

_______________[11]_____FETCH toy_cur INTO my_toy_price;________

EXIT WHEN toy_cur%NOTFOUND;

DBMS_OUTPUT.PUT_LINE (toy_cur%ROWCOUNT || '. 玩具单价:' ||

my_toy_price);

END LOOP;

CLOSE toy_cur;

END;

9、完成以下PL/SQL块,功能是:使用游标显示销售报表。如果目标销售额(tsales)大

于实际销售额(asales),则显示消息“需提高销售额”。如果tsales等于asales,则显示消息“已达到销售额”,否则显示消息“销售业绩出色”

DECLARE

CURSOR sales_cur IS SELECT * FROM salesdetails;

BEGIN

_____________________[12]___FOR sales_rec IN sales_cur LOOP___________

IF sales_rec.tsales > sales_rec.asales THEN

DBMS_OUTPUT.PUT_LINE('产品:'||sales_rec.pid||' 需提高销售额');

ELSE

IF _____________[13]_____sales_rec.tsales = sales_rec.asales_________ THEN

DBMS_OUTPUT.PUT_LINE('产品:'||sales_rec.pid||'已达到销售额');

ELSE

DBMS_OUTPUT.PUT_LINE('产品:' ||sales_rec.pid||'销售业绩出色');

END IF;

END IF;

END LOOP;

END;

10、完成以下PL/SQL块,功能是:创建一个交换两数的过程。

CREATE OR REPLACE PROCEDURE

swap(p1 IN OUT NUMBER, p2____[14]__IN OUT___ NUMBER) IS

v_temp NUMBER;

BEGIN

v_temp := p1;

p1 := p2;

p2 := v_temp;

END;

11、完成以下PL/SQL块,功能是:创建一个函数dept_name,其功能是接受职员编号后返回职员所在部门名称。(注:部门名称在dept表中,而职员信息在emp表中,职员所在部门号的列名为deptno)

CREATE OR REPLACE FUNCTION dept_name (emp_no NUMBER)

RETURN VARCHAR2 AS

dept_no NUMBER(2);

result dept.dname%TYPE;

BEGIN

___________________[15]___________SELECT deptno INTO dept_no FROM emp WHERE empno=emp_no

________________________

SELECT dname INTO result FROM dept

WHERE deptno = dept_no;

________[16]______RETURN result;____;

EXCEPTION

WHEN OTHERS THEN

RETURN NULL;

END;

12、要执行pack_me包中的order_proc过程(有一个输入参数),假设参数值为’002’,可

以输入以下命令:

EXECUTE ___________[17]________pack_m a.order_proc(‘002’)__________

13、完成以下PL/SQL块的功能是:创建一个触发器biu_job_emp,无论用户插入记录,

还是修改EMP表的job列,都将用户指定的job列的值转换成大写。

CREATE OR REPLACE TRIGGER biu_job_emp

_________________[18]_________BEFORE INSERT OR UPDATE OF job ON emp_______

____________[19]____FOR EACH ROW___

BEGIN

:NEW.job :=______[20]_UPPER(:NEW.job)____;

END;

中南大学oracle数据库期末考试试题及答案

A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。 A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。 A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。 A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; B7、锁用于提供( )。 A.改进的性能

B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。 A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE A13、带有错误的视图可使用()选项来创建。 A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR

Oracle数据库系统-课程设计文档

Oracle数据库 课程设计报告班级:浦计软1303 姓名:陈子阳 学号:P1405130307 学期:2014 上半学期

1.数据项和数据结构 (1)学生基本信息 组成:学号、姓名、班级、性别、出生日期、所在年级、所在班级、联系电话(2)课程基本信息 组成:课程编号、课程名称、授课教师、学分、学时、课程简介 (3)学生成绩信息 组成:考试编号、所在班级、学生学号、课程名称、考试分数 (4)课程设置信息 组成:年级、课程名称 数据库结构 2.系统功能

(1)课程管理功能: 完成课程信息的录入、修改、删除、查询等功能,基本信息包括:课程编号,课程名称,任课教师、学分、学时和课程内容简介等。 (2)成绩录入功能: 主要功能用来对学生的成绩进行收集和修改。具体包括学生成绩录入、修改、删除、查询、打印等功能,由于一些资料可以Word文档或Excel表格输入,故需要增加导入、导出数据功能。成绩录入需要分班级、分年级以及考试时间。修改要与成绩录入相对应。查询条件设置应该齐全,可以班级查询,年级查询,也可以姓名查询,学号查询等等。要实现打印功能。 (3)班级统计功能: 主要用于对学生的成绩以班级为单位进行处理。具体包括各班学生总成绩、平均成绩、统计班级某分数段内的学生人数及班级内排名。各项统计仅对于某学期某次考试而言。 (4)用户信息管理功能: 本系统包括三类使用用户:系统管理员,学生和教师。管理员具有最高权限,但不能修改成绩。教师只能录入和修改自己所教课程的成绩。成绩一旦录入完成,教师也不可轻易修改,除非向管理员申请。学生只有查询自己成绩的权限。所有用户必须注册登录后方可使用本管理系统。所有用户都可以修改自己登录的密码。 学生的信息包括:学号、姓名、性别、出生日期、班级、年级等。教师的信息包括:编号、姓名、性别、职称等。 (5)系统维护功能: 数据备份、数据恢复,帮助信息,用户注册、登陆及退出。 3.实现过程 创建学生基本信息表

Oracle数据库设计文档模板

DR-RD-020(V1.1) 超市管理系统 数据库设计说明书 (内部资料请勿外传) 编写:丁东亚日期:2013-12-03 检查:日期: 审核:日期: 批准:日期: 淮阴师范学校 超市管理系统 (1) 数据库设计说明书 (1)

1 引言 (2) 1.1 编写目的 (2) 1.2 术语表 (2) 1.3 参考资料 (3) 2 数据库环境说明 (3) 3 数据库的命名规则 (3) 4 逻辑设计 (3) 5 物理设计 (4) 5.1 表汇总 (4) 5.2 表[X]:[XXX表] (4) 5.3 视图的设计 (6) 5.4 存储过程、函数及触发器的设计 (6) 6 安全性设计 (6) 6.1 防止用户直接操作数据库的方法 (6) 6.2 用户帐号密码的加密方法 (7) 6.3 角色与权限 (7) 7 优化 (7) 8 数据库管理与维护说明 (7) 1引言 1.1 编写目的 本需求的编写目的在于研究超市管理系统软件的开发途径和应用方法。 本需求的预期读者是与超市管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。 1.2 术语表 定义系统或产品中涉及的重要术语,为读者在阅读文档时提供必要的参考信息。

1.3 参考资料 2数据库环境说明 提示: (1)说明所采用的数据库系统,设计工具,编程工具等 (2)详细配置 3数据库的命名规则 提示: (1)说明本数据库的命名规则,例如:本数据库设计完全按照《xx数据库设计规范》命名。 (2)如果本数据库的命名规则与公司的标准不完全一致的话,请作出解释。 4逻辑设计 数据实体-关系图 (说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,建

ORACLE数据库期末考试题目及答案

期末考试卷(卷) 课程名称:数据库考试方式:开卷()闭卷(√) 、本试卷共4 页,请查看试卷中是否有缺页。 2、考试结束后,考生不得将试卷、答题纸带出考场。 1、以下(a )内存区不属于SGA。 A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、d )模式存储数据库中数据字典的表和视图。 (A.DBA B.SCOTT C.SYSTEM D.SYS 3、Oracle 中创建用户时,在若未提及DEFAULT TABLESPACE 关键字,Oracle 就将 c )则(表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS

4、a )服务监听并按受来自客户端应用程序的连接请求。(A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、b )函数通常用来计算累计排名、移动平均数和报表聚合等。(A.汇总B.分析C.分组D.单行 6、b)SQL 语句将为计算列SAL*12 生成别名Annual Salary (A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供(b )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( c )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 9、带有( b )子句的SELECT 语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH

oracle数据库基本命令

oracle数据库基本命令 oracle安装后 sys:超级管理员(dba),默认密码为:change_on_install system:系统管理员(dbaoper),默认密码为:manager; sys与system的不同在于sys能够create datebase而system则不能。scott:普通用户,默认密码:tiger 1.切换用户:conn 用户名/密码; SQL> conn system/manager; Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as system SQL> conn sys/change_on_install as sysdba; Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as SYS 注意:sys与其他用户在命令窗口切换时的不同。 2.修改密码:passw username;(普通用户可以修改自己密码,管理员可以修改其他人的密码) 3.显示当前用户。show user; 4.断开数据库同时推出:exit; 文件操作 5.运行sql脚本,start d:\a.sql; 6.编辑指定的sql脚本。Edit d:\a.sql; 7.将屏幕上指定的内容输出到指定文本中去。spool e:\b.sql;执行语句;spool off;

8.显示设置环境变量; 可以用来控制输出的各种格式,如果希望永久保存可以修改glogin.sql脚本。 Linesize(行宽): show linesize;显示行宽 set linesize 90;设置行宽为90个字符。 Pagesize(页面大小): Show pagesize;显示页面大小 Set pagesize 180;设置页面的小。 (做报表时可以用。一页设定几行。)

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数据库管理系统介绍精编

O R A C L E数据库管理系 统介绍精编 Lele was written in 2021

ORACLE 数据库管理系统介绍 的特点: 可移植性 ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。 可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。 的总体结构 (1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。 数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。 日志文件须有两个或两个以上,用来记录所有数据库的变化,用于数据库的恢复。控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件含有数据库例程起时所需的配置参数。 (2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。

SGA(System Global Area)包括数据库缓冲区、日志缓冲区及共享区域。 PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。 (3)ORACLE的进程结构ORACLE包括三类进程: ①用户进程用来执行用户应用程序的。 ②服务进程处理与之相连的一组用户进程的请求。 ③后台进程 ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括: DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。 SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON(Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。 ARCH(ARCHIVER)进程。每当联机日志文件写满时,该进程将其拷贝到归档存储设备上。另外还包括分布式DB 中事务恢复进程RECO和对服务进程与用户进程进行匹配的Dnnn进程等。

ORACLE数据库设计指南

数据库设计核心原则 罗代均 一、3NF第三范式 通常认为,第三范式在性能,扩展性和数据完整性方面达到了最好平衡. 通常认为,第三范式在性能,扩展性和数据完整性方面达到了最好平衡. 有以下几个要点。有以下几个要点。 1.一个表只描述一个单一的事物(实体)。一个表只描述一个单一的事物 2.表内的每一个值在整个数据库只出现一次(外键除外) 2.表内的每一个值在整个数据库只出现一次(外键除外)。表内的每一个值在整个数据库只出现一次 3.表内的每一行都应该被唯一的标识(有唯一主键)。 3.表内的每一行都应该被唯一的标识(有唯一主键)。表内的每一行都应该被唯一的标识 4.表内不存储与主键无关的信息。表内不存储与主键无关的信息 二、字段设计技巧 1.确保表中没有计算字段 计算字段的值,是由其他字段的值计算而来,当你更新其他字段的时候,很容易忽略同时更新这个计算字段,造成数据的错误。 2.确保这个字段的值只有一个 例如下表Users: 用户ID 用户名称电话号码 001 robin 1358888888/028-*******/… 电话号码的值就不只一个,因此电话字段不能放在users表中,解决办法是增加一个表Phone 电话号码ID 用户ID 电话号码 001 001 13588888 002 001 028-888888 这个表就是Users的从表,用户ID是外键. 还有地址address,和电话的情况类似。 3.尽可能地细分字段 如下雇员表(employee) 雇员ID 雇员名称地址 emp_id emp_name emp_address 001 Robin 四川省成都市高新区天泰路1号 这里的emp_address就可以细分,改进的表如下 雇员ID 雇员名称国家省/直辖市地/市 001 罗代均china 四川成都区/县高新区街道天泰路1号 这样更方便我们编辑和统计,有利于保证数据的完整性。 三数据表设计技巧 1.为表内的每一个字段添加表名缩写 例如客户表 customer cust_id cust_name cust_type cust_city ... 这样书写SQL语句时,很容易就知道这个字段属于哪个表,代表什么含义。 例如cust_city ,就不会和employee表的emp_city混淆了。

oracle数据库期末考试试题及复习资料

oracle数据库期末考试试题及答案 A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 ‘Annual Salary' FROM emp; B.SELECT ename,sal*12 “Annual Salary”FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM

12 / 1 emp; B7、锁用于提供( )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE

ORACLE数据库学习心得

ORACLE数据库结课论文 一个好的程序,必然联系着一个庞大的数据库网路... 今年我们学习了oracle数据库这门课程,起初的我,对这个字眼是要多陌生有多陌生,后来上课的时候听一会老师讲课,偶尔再跟上上机课,渐渐的学会了不少东西,但我感觉,我学到的仍是一些皮毛而已,怀着疑惑和求知的心态,我在网上搜索了关于oracle数据库的一些知识。 1.ORACLE的特点: 可移植性ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。 可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。 2.ORACLE的总体结构 (1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。 数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。 日志文件须有两个或两个以上,用来记录所有数据库的变化,

用于数据库的恢复。控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件含有数据库例程起时所需的配置参数。 (2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。 SGA(System Global Area)包括数据库缓冲区、日志缓冲区及共享区域。 PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。 (3)ORACLE的进程结构ORACLE包括三类进程: ①用户进程用来执行用户应用程序的。 ②服务进程处理与之相连的一组用户进程的请求。 ③后台进程ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括: DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。 SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON (Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。

ORACLE-数据库管理系统介绍

数据库管理系统介绍 1的特点: 可移植性采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行的产品。可在、、等操作系统上运行。可兼容性由于采用了国际标准的数据查询语言,与的、2等均兼容。并提供读取其它数据库文件的间接方法。 可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ˉ数据库产品。 2的总体结构 (1)的文件结构一个数据库系统包括以下5类文件的代码文件。 数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。 日志文件须有两个或两个以上,用来记录所有数据库的变化,用于数据库的恢复。控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件含有数据库例程起时所需的配置参数。 (2)的内存结构一个例程拥有一个系统全程区()和一组程序全程区()。 ()包括数据库缓冲区、日志缓冲区及共享区域。 ()是每一个进程有一个。一个进程起动时,就为其分配一个

区,以存放数据及控制信息。 (3)的进程结构包括三类进程: ①用户进程用来执行用户应用程序的。 ②服务进程处理与之相连的一组用户进程的请求。 ③后台进程为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括: ()进程,负责把已修改的数据块从数据库缓冲区写到数据库中。()进程,负责把日志从中的缓冲区中写到日志文件中。 ()进程,该进程有规律地扫描进程信息,注销失败的数据库例程,回收不再使用的内存空间。()进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。 ()进程。每当联机日志文件写满时,该进程将其拷贝到归档存储设备上。另外还包括分布式中事务恢复进程和对服务进程与用户进程进行匹配的进程等。 3的逻辑结构 构成的数据库的逻辑结构包括: (1)表空间 (2)5种类型的段() ①数据段;②索引段;③回滚()段;④临时段;⑤自举()段。 段的分配单位叫范围() 表空间()一个数据库划分成的若干逻辑部分称为表空间。一

oracle数据库操作手册

操作手册 目录 一.表空间 (4) 1.创建表空间 (4) 2.增加表空间 (4) 3.删除表空间 (5) 4.查询表空间状态 (5) 5.查询数据文件路径 (5) 6.移动表空间中数据文件的路径 (5) 7.移动表和索引到其他表空间 (6) 8.查看表空间的使用率 (7) 二.用户和权限 (9) 1.创建用户 (9) 2.修改用户的密码 (9) 3.给用户授权 (9) 4. 查询数据库系统上有多少用户,文件名和创建时间 (10) 三.归档和非归档模式 (10) 1.查看数据库的归档模式 (10) 2.修改数据库的归档模式 (10) 四.日志文件 (11) 1.查询日志文件信息 (11) 2.增加日志文件配置信息 (12) 3.增加日志成员 (12) 4.删除一组日志 (12) 五.密码文件 (13) 1.创建密码文件 (13) 六.参数文件(SPFILE PFILE) (13) 1.查看数据库使用参数文件(SPFILE 还是PFILE) (13) 2.创建SPFILE (13) 3.通过PFILE 启动数据库 (13) 七.STATSPACK (14) 1.安装STATSPACK (14) 2.数据采集 (14) 3.设置自动快照 (14) 4.设置数据采集的时间 (14) 八.ORACLE信息查询 (15) 1.查询ORACLE数据库的名字,创建日期 (15) 2. 查询ORACLE所在操作系统的主机名,实例名,版本 (15) 3.查询ORACLE数据库系统版本详细信息 (15) 九.控制文件 (16) 1.查询控制文件 (16) 2.备份控制文件 (16)

十.索引 (16) 1.创建普通索引 (16) 2.创建位图索引 (16) 3.查询索引所在的表,表空间,索引类型 (16) 4.查询索引所在的列 (17) 十一.主键 (17) 1.定义主键 (17) 2.查询主键索引 (18) 3.查询约束信息 (18) 4.禁止约束 (18) 5.开启主键 (19) 十二.手工建库脚本 (19) 十三..PROFILE文件内容 (19) 十四.做定时JOB (20) 1.创建存储过程,为此存储过程作定时JOB (20) 2.定时JOB 的参数说明 (21) 十五.查询出SQL语句 (22) 1.通过SID 找出HASH VALUE 值 (22) 2.通过HASH VALUE 值查询出SQL 语句 (22) 3.根据HASH VALUE 值查询出对应的 SESSLIN SID (22) 4.根据HASH VALUE 找出对应的机器名称 (22) 5.通过HASH VALUE 查询出该语句的执行计划 (23) 6.查询存储过程 (23) 7.查询对象属于哪个用户 (23) 8.查询表的分析时间 (23) 9.查询对象(表)的类型 (23) 十六.查询脚本 (24) 1.查询等待事件 (24) 2.查询大表已经索引超过2G 的对象 (24) 3.查看锁 (25) 十七.基本的SQL语句 (25) 1.对表的操作 (25) 2.常用的函数 (26) 十八.安装手册 (27) 十九.错误总结 (27) 1. ORA-00257: 归档程序错误 (27) 二十.故障处理 (29) 1.日志挖掘 (29) 2.行链接行迁移 (30) 3.逻辑备份(exp/imp) (35) 4.关闭和启动数据库的步骤 (36) 二十一.METALINK操作 (37) 1.开二级别SR (37) 2.OPATCH 下载地址 (37)

ORACLE 数据库管理系统介绍

ORACLE 数据库管理系统介绍 1.ORACLE的特点: 可移植性ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。 可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。 2.ORACLE的总体结构 (1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。 数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。 日志文件须有两个或两个以上,用来记录所有数据库的变化,用于数据库的恢复。控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件含有数据库例程起时所需的配置参数。 (2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。 SGA(System Global Area)包括数据库缓冲区、日志缓冲区及共

享区域。 PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。 (3)ORACLE的进程结构ORACLE包括三类进程: ①用户进程用来执行用户应用程序的。 ②服务进程处理与之相连的一组用户进程的请求。 ③后台进程ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括: DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。 SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON (Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。 ARCH(ARCHIVER)进程。每当联机日志文件写满时,该进程将其拷贝到归档存储设备上。另外还包括分布式DB中事务恢复进程RECO和对服务进程与用户进程进行匹配的Dnnn进程等。 3.ORACLE的逻辑结构 构成ORACLE的数据库的逻辑结构包括: (1)表空间

Oracle数据库课程设计报告

课程设计报告书

目录 第1章引言 (3) 第2章概要设计 (5) 2.1系统需求分析 (5) 2.2系统结构设计 (5) 2.3系统功能模块 (6) 第3章数据库分析 (7) 3.1 数据库总体设计 (7) 3.2 数据表设计 (7) 3.3 数据库的创建 (8) 3.4存储过程和触发器 (10) 第4章详细设计及测试 (12) 4.1 系统界面 (12) 4.2 主要代码设计 (15) 4.3 功能整体链接测试 (18) 第5章课程设计心得 (19)

第1章引言 1.设计目的 使用VC,C++,C#等作为前台开发工具,使用Oracle作为后台数据库,所设计的管理系统应包含输入输出、查询、插入、修改、删除等基本功能。根据题目的基本需求,设计系统界面、数据库、编写程序(Oracle),并写出课程设计报告 1、阅读资料:每个人必须提前阅读教材有关Oracle、VC、C++、C#应用方面的内容以及其它相关书籍。 2、需求分析:题目要求达到的功能,所提供的原始数据,需要输出的数据及样式等。 3、数据库的设计:根据要求设计数据库的结构,包括:表、数据完整性、关系、视图。 4、数据库的安全性设计:登录用户、数据库用户、数据库角色、命令许可等方面 涉及到数据的所有操作要求采用存储过程的方式进行。 2.设计要求 1.选好题目:先分组,每组两个人(或单独完成),必须确保每题有两组人员选做,班长将本班同学的选题情况汇总后于16周之前交。 2.独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝,否则不管是抄袭还是被抄袭,雷同的全部直接评定为不及格。 3.做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。 4.根据编程实现的结果,按课程设计报告的撰写规范完成数据库系统课程设计报告(课程设计报告中必须有相关原理分析、程序设计、程序实现和程序调试等内容);课程设计报告的具体要求如下: 1)课设报告按照规定用A4纸张进行排版打印,否则要求返工; 2)课设报告的内容顺序如下:封面—任务书—中文摘要—目录—正文—附录; 3)正文不少于4000字,正文部分至少包含以下内容,并可大致作如下安排 1.引言(包括设计目的、要求、设计环境、同组人员及分工等内容)

2019-2020学年第一学期《Oracle数据库》期末考试

2019-2020学年第一学期《Oracle数据库》期末考试适用班级:1801,1802,1803,1804 1、手动创建数据库的第一步是() A.启动实例 B.启动SQL*Plus 以SYSDBA身份连接Oracle C.查看系统的实例名 D.创建参数文件 2、创建一个数据库至少需要几个控制文件?() A.一个B.二个C.三个D.无 3、执行CREATE DATABASE命令之前,应该发出的命令是() A.STARTUP INSTANCE B.STARTUP NOMOUNT C.STARTUP MOUNT D.以上都不是 4、DBA使用哪个命令显示当前归档状态?() A.ARCHIVE LOG LIST B.FROM ARCHIVE LOGS C.SELECT * FROM V$THREAD D.SELECT * FROM ARCHIVE_LOG_LIST 5、把多路镜像控制文件存于不同磁盘最大的好处是() A.数据库性能提高 B.防止失败 C.提高归档速度 D.能并发访问提高控制文件的写入速度6、段的集合称为() A.区B.段C.表空间D.数据库 7、数据字典表和视图存储在() A.USERS表空间B.SYSTEM表空间 C.TEMPORARY表空间D.以上三个中任意 8、数据块的哪三个部分合称为块头部?() A.表目录、行目录和行数据 B.标题、表目录、空闲区 C.表目录、行目录、标题 D.块头部、行数据、行头部 9、临时表空间中用于排序的段是何时创建的() A.排序操作开始的时候 B.临时表空间创建的时候 C.当排序操作需要内存操过1KB的时候。 D.上述所有选项。 10、如果未定义临时表空间,哪一个会作为默认的临时表空间?() A.ROLLBACK B.USERS C.INDEX D.SYSTEM 11、Oracle实例是() A.Oracle 内存结构B.Oracle I/O 结构 C.Oracle 后台进程D.以上都是 12、最近使用过的SQL语句存储在() A.共享池B.数据高速缓冲区C.私有全局区D.用户全局区13、Oracle事务提交即() A.数据由DBWR进程写入磁盘文件 B.LGWR进程成功写入日志 C.PMON 进程提交 D.SMON 进程写数据 14、实例启动时数据库所处的状态是() A.MOUNT B.OPEN C.NOMOUNT D.None 15、用于删除约束的命令是哪一个?() 一、单选题(20*2分=40分)

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 )

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

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

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

大数据库oracle银行管理系统

目录 摘要 (1) 一、设计银行管理系统结构图 1.1系统结构图 (2) 二、银行管理系统E-R图和表结构 2.1E-R图 (3) 2.2表结构 (5) 三、创建系统数据表 3.1创建表空间和用户 (6) 3.2创建用户信息表并添加约束 (6) 3.3创建银行卡信息表 (8) 3.4创建交易信息表 (9) 四、模拟常规业务操作 4.1建立更新账号触发器 (11) 4.2存取款交易操作 (11) 4.3用户开户 (12) 4.4更改密码 (15) 4.5账号挂失 (16) 4.6余额查询 (16) 4.7转账业务设置 (17) 4.8银行盈利结算 (18) 4.9撤户操作 (18) 五、总结 (20) 参考文献 (21) 附录 (22)

摘要 随着计算机的飞速发展及应用领域的扩大,特别是计算机网络和电子商务的发展,极大的改变了商业银行传统的经营模式。能够为客户提供方便、快捷、安全的服务,也能够有效的降低银行的营运成本,这是银行存储系统追求的目标。目前,对于现代化银行运营的要求是客户可以实现方便安全的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。方便用户快速的进行存款、取款、修改密码以及完成一些转账的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。

一、设计银行管理系统结构图 1.1系统结构图 图1.1系统结构图 银行系统 账户管理 财务管理 信息查询 开户 修改密码 账户挂失 销户 存款 取款 转账 余额查询

二、银行管理系统E-R图和表结构 2.1E-R图 图2.1

Oracle数据库设计策略及规范

Oracle数据库设计策略及规范 设计策略及规范 1. 目的 定义Oracle数据库设计规范,作为数据库规划、设计、开发以及维护人员的技术参考资料。用以规范和指导相关人员的设计行为。 2. 概述 本文档根据Oracle数据库性能特点,描述对表、视图、存储过程、对象命名等方面的设计规范。 3. 基本策略 3.1 设计策略 ◆?分类拆分数据量大的表。 对于经常使用的表(如某些参数表或代码对照表),由于其使用频率很高,要尽量减少表中的记录数量。例如,银行的户主账表原来设计成一张表,虽然可以方便程序的设计与维护,但经过分析发现,由于数据量太大,会影响数据的迅速定位。如果将户主账表分别设计为活期户主账、定期户主账及对公户主账等,则可以大大提高查询效率。 ◆?分区策略 在拥有数500行以上的表时,采用分区策略。 ◆?索引设计。 对于大的数据库表,合理的索引能够提高整个数据库的操作效率。在索引设计中,索引字段应挑选重复值较少的字段;在对建有复合索引的字段进行检索时,应注意按照复合索引字段建立的顺序进行。例如,如果对一个5万多条记录的流水表以日期和流水号为序建立复合索引,由于在该表中日期的重复值接近整个表的记录数,用流水号进行查询所用的时间接近3秒;而如果以流水号为索引字段建立索引进行相同的查询,所用时间不到1秒。因此在大型数据库设计中,只有进行合理的索引字段选择,才能有效提高整个数据库的操作效率。 ◆?有时候为了提高性能。减少表的关联,恰当的数据冗余是允许的。 ◆?索引对新增,删除,更新的性能影响比较大,对相关的表的索引使用要权衡 ◆?为表和索引建立不同的表空间,禁止在系统表空间中放入非核心oracle系统成分的对象,确保数据表空间和索引表空间位于不同的磁盘磁盘驱动器上。 ◆?对于经常发生同时查询或频繁查询的表,最好把他放到不同的磁盘空间上 4. 逻辑设计规范 4.1 范式 ◆?如果没有性能上的原因,应该使用关系数据库理论,达到较高的范式,避免数据冗余。 ◆?如果在数据量上与性能上无特别要求,考虑到实现的方便性可以有适当的数据冗余,但基本上要达到3NF。 4.2 表设计 ◆?对于数据量比较大的表,根据表数据的属性进行分区,以得到较好的性能。如果表按某些字段进行增长,则采用按字段值范围进行范围分区;如果表按某个字段 的几个关键值进行分布,则采用列表分区;对于静态表,则采用Hash分区或列表分区;在范围分区中,如果数据按某关键字段均衡分布,则采用子分区的复合分区方法。 ◆?每个表均创建类型为Sequence的主键字段。 4.3 索引设计 ◆?常规OLTP应用,创建B-TREE索引,不创建位图索引。 ◆?不需要为小型数据表(<5000)创建索引。 ◆?给单个表创建的索引不超过5个,特别是海量交易类表。 ◆?索引条件查询结果记录,不超总记录的20%。 ◆?不要给固定选项的字段创建独立索引。 如只有‘男,女’的性别字段;‘是,否’的状态字段等,不要创建独立索引,位可以建立复合索引。 ◆?对于复合索引,索引字段顺序比较关键,把查询频率比较高的字段排在索引组合的最前面。 ◆?索引放到独立的表空间,该表空间不需要REDO LOG。 ◆?含有外键约束的表的字段,必须有单独索引。如订单明细的表头外键。 5. 对象命名规范 5.1 一般规范 5.1.1 语言 ◆?命名使用英文单词,不使用复数。 ◆?英文单词使用同对象本身意义相对或相近的单词。选择最简单或最通用的单词。不能使用毫不相干的单词来命名。 ◆?当一个单词不能表达对象含义时,用词组组合,如果组合太长时,采用简写或缩写,缩写要基本能表达原单词的意义。 ◆?当出现对象名重名时,是不同类型对象时,加类型前缀或后缀以示区别。 ◆?禁止使用中文或拼音缩写进行命名

相关文档
相关文档 最新文档