oracle数据库教程答案,oracle数据库考试简答题,请回答一下吧,三个都回答了才会给分哦
oracle数据库教程答案,oracle数据库考试简答题,请回答一下吧,三个都回答了才会给分哦详细介绍
本文目录一览: oracle11g安装教程完整版
在本教程中,我们将逐步介绍如何下载Oracle 11g数据库并演示如何安装在Windows 10 64位机器上,以便在系统中学习和实践PL/SQL编程。下载并安装Oracle数据库首先,需要到Oracle官方网站下载Oracle数据库方法如下:
1、在电脑上安装Oracle数据库。解压文件得到一个database文件,双击setup.exe程序。
2、出现INS-13001环境不满足最低要求提示,先点击“否”,去修改一下配置
3、进入配置安全更新界面,将电子邮件置空,并取消选中安全更新选项,之后单击“下一步”
4、弹出尚未提供电子邮件地址对话框,单击“是”
5、进入安装选项界面,选择“创建和配置数据库”,接着点击“下一步”
6、进入系统类界面,选择“桌面类”,点击“下一步”
7、进入典型安装界面,Oracle安装目录建议在D盘,输入管理口令(符合标准的口令为:大写、小写、数字组合)
8、进入先决条件检查界面,等待检查结果。
9、检查完成之后,就进入概要,点击“完成”开始安装
10、进入安装产品界面,等待安装(需要一段时间,取决于电脑配置),如果电脑上面安装安全卫士,还会弹出提醒,千万要记得允许,不然不会成功
11、在口令管理界面,找到SCOTT,去掉签名勾选,输入口令;这是由于SCOTT属于敏感账户,有入侵风险。
12、安装完成
13、可以用navicate进行连接,主机输入:localhost,用户名:system,口令:第七步设置的,然后点击连接测试,跳出连接成功,到此Oracle安装成功。
Oracle监听器配置:
选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认监听器名称是LISTENER。选中名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。在出现网络地址栏的协议下拉选项中选中“TCP/IP”,主机文本框中输入主机名称或IP地址,端口文本框中输入数字端口,也可自定义任意有效数字端口。
关于Oracle数据库编程题的解答。谢谢各位!
1.select count(tno) from teacher where tname like '李%';
2.SELECT stu.SID, stu.name
FROM SC t, student stu
WHERE cid ='001'
AND EXITS (SELECT 1 FROM SC WHERE cid = '002' AND sid = t.sid)
and t.sid = stu.sid;
3.select sno,sname from (select sno fromstudent sc,(select cno from teacher,course where tname='叶平') a where a.cno=sc.cno) b,student stu where b.sno=stu.sno;
4.select sno,sname from sc a,student stu where cno='c001' and exits(select 1 from sc where cno='c002' and a.score>sc.score) and a.sno=stu.sno;
5.select sno,aver(score) from sc group by sno having aver(score)>60;
6.select sno,sname,a.ccount,b.sscore from student stu left join (select sno,count(*) as ccount from sc group by sno ) a on a.sno=sut.sno left join (select sno,sum(score) as sscore from sc group by sno) b on b.sno=stu.sno;
7.select sno,sname from student,(select sno from sc group by sno having count(cno)<(select count(*) from course)) a where a.sno=student.sno;
1、查询姓“李”的老师的个数;
SELECT COUNT(Tno) FROM Teacher WHERE Tname LIKE '李%'
2、查询学过“c001”并且也学过编号“c002”课程的同学的学号、姓名;
SELECT Sno, Sname
FROM Student
WHERE sno IN(SELECT sno
FROM (SELECT Sno FROM SC WHERE Cno = 'c001') t1
(SELECT Sno FROM SC WHERE Cno = 'c002') t2
WHERE t1.sno = t2.sno)
3、查询学过“叶平”老师所教的所有课的同学的学号、姓名;
SELECT Sno, Sname
FROM student
WHERE Sno IN(SELECT SC
FROM SC
WHERE CNO IN (SELECT CNO FROM Course WHERE Cname = '叶平')
GROUP BY SC HAVING COUNT(CNO) = (SELECT COUNT(CNO) FROM Course WHERE Cname = '叶平'))
4、查询“c001”课程比“c002”课程成绩高的所有学生的学号
SELECT C1.SC
FROM (SELECT SC, Score FROM SC WHERE Cno = 'c001') c1
(SELECT SC, Score FROM SC WHERE Cno = 'c002') c2
WHERE c1.SC = c2.SC
AND c1.Score > c2.Score
如果只有C1,而没有C2成绩,用这个好一点
SELECT SC
FROM (SELECT SC, Score FROM SC WHERE Cno = 'c001') c1
left join (SELECT SC, Score FROM SC WHERE Cno = 'c002') c2
ON c1.SC = c2.SC AND c1.Score > c2.Score
5、查询平均成绩大于60分的同学的学号和平均成绩;
SELECT Sno, AVG(score)
FROM SC GROUP BY Sno Having AVG(score) > 60
6、查询所有同学的学号、姓名、选课数、总成绩;
SELECT stu.Sno, stu.Sname, COUNT(Cno), SUM(score)
FROM Student stu, SC
WHERE stu.Sno = Sc.sno
GROUP BY stu.sno, stu.Sname
7、查询没有学全所有课的同学的学号、姓名;
SELECT Sno, Sname
FROM SC
WHERE Sno NOT IN (SELECT Sno
FROM SC
GROUP BY SC
HAVING COUNT(CNO) < (SELECT COUNT(DISTINCT CNO) FROM SC))
安装好了oracle11g数据库然后怎么使用
MySQL云数据库创建、配置与使用教程,五秒钟创建属于自己的mysql云数据库,申请地址:xmjar.cn
你好:
检查系统:打开下载后的数据库安装文件夹,运行“setup.exe”开始安装数据库,此程序运行后,会检查系统。
配置安全更新:检查完系统进入正式安装,此时会检查更新,这步可以不需要配置,检查更新没有什么必要。
安装选项:
此步骤就是选择本次安装的类型,有三种:
1、创建和配置数据库;
2、仅安装数据库软件;
3、升级现有的数据库;
一般情况下,如果电脑上没有数据库,选择第一项就可以了。
系统类:此步骤有两个选项,桌面类和服务器类,就是安装机器的系统类型。一般的电脑、笔记本等,选择桌面类就可以,如果是作为服务器使用的,选择服务器类。
典型安装:
此处配置的是数据库的安装目录、全局数据库、管理员的密码等。其中:
1、安装程序会自动选择系统中盘空间大的作为数据库的安装目录。
2、如果密码太简单,安装程序会提示,如果是自己用的话,简单一些也没问题,选是就可以了。
配置完成后,点击下一步。
先决条件检查:
此步骤会检查系统的配置,如果电脑的配置低的话,就会提示检查结果为失败,不过也是可以安装的,就是可能安装上去后,会有点卡。在检查结果的界面,右上角有一个“忽略全部”的选择框,选上此框,就可以继续安装了,点击下一步。
概要:
此步骤就是把数据库的一些信息显示出来,界面右边有一个“保存响应文件”的功能,如果需要此信息的话,保存即可,也可以不保存。完成操作后,点击完成,这样配置信息过程就完成了,下面就要开始安装程序了。
安装产品:
这步就是正式开始安装数据库程序了,需要一些时间,安装时间根据电脑配置而定,等待安装完成。安装完成后,会弹出一个数据库解锁的对话框,因为在安装时,数据库的账户都是默认锁着的,要使用的话,需要解锁。点击对话框的“密码管理”,在这里选择需要解锁的账户,设置上密码就可以了。
完成:
此步骤为信息显示,即显示如数据库安装到那个目录等,关闭就可以了。到此,oracle11g数据库就安装完成了。好了,以上是oracle11g数据库如安装的分享。
oracle数据库考试简答题,请回答一下吧,三个都回答了才会给分哦
有意思,我也来简答一下(简答哦,前面那位兄弟回答的也不错的,就是有点多了)
1:一个是静态SQL 一个是动态SQL用的
2:多版本一致性
3:nomount --- mount --- open
nomont:仅仅开启pfile spfile
mount:开启控制文件
open:开启其他所有文件
REF CURSOR游标:
动态游标,在运行的时候才能确定游标使用的查询。分类:
强类型(限制)REF CURSOR,规定返回类型
弱类型(非限制)REF CURSOR,不规定返回类型,可以获取任何结果集。
TYPE ref_cursor_name IS REF CURSOR [RETURN return_type]
Oracle 的隔离级别
SQL92定义的隔离级别在理论上很完善,但是 Oracle 显然认为在实际实现的时候并不应该完全照搬SQL92的模型。
- Oracle不支持 SQL92 标准中的“读取未提交数据(read uncommitted)”隔离级别,想要脏读都没可能。
- Oracle 支持 SQL92 标准中的“读取已提交数据(read committed)”隔离级别,(这也是Oracle默认的隔离级别)。
- Oracle不支持 SQL92 标准中的“可重现的读取(repeatable read)”隔离级别,要想避免“不可重现的读取(nonrepeatable read)”可以直接使用“序列化(serializable)”隔离级别。
- Oracle 支持 SQL92 标准中的“序列化(serializable)”隔离级别,但是并不真正阻塞事务的执行(这一点在后文还有详述)。
- Oracle 还另外增加了一个非SQL92标准的“只读(read-only)”隔离级别。
oracle startup的时候分为三个步骤:
1. Start an instance.
2. Mount the database.
3. Open the database.
三个步骤中所要做的工作主要如下:
1、start an instance
命令为 startup nomount
在这一步中主要工作有:
Reading the parameter file initsid.ora
Allocating the SGA
Starting the background processes
Opening the ALERT file and the trace files
读参数文件是为了读里面的dbname,各个内存参数的大小,比如sga的大小,以便分配内存,还有控制文件的路径等。在这一步并不打开控制文件,所以如果你要重建控制文件的时候,需要工作在这个状态下。
2、Mount the database.
命令为 startup mount,如果在nomount状态下命令为: alter database mount
在这一步中主要工作有:
Associating a database with a previously started instance
Locating and opening the control files specified in the parameter file
Reading the control files to obtain the names and status of the data files and redo log files
在这一步,主要用到的文件是控制文件.然后读控制文件,得到各个数据文件和联机日志文件的名字和状态(online or offline) ,但是并不去检查各个文件是否存在.所以如果你要修改数据文件的名字和重建联机日志文件等操作,就需要工作在mount状态下.因为下一步要打开各个数据文件和联机日志文件,所以如果数据文件不存在,你就需要在mount状态下,恢复文件,才能使下一步不报错误.
3、Open the database.
命令为 startup,如果在mount状态下命令为: alter database open.
在这一步中主要工作有:
Opening the online data files
Opening the online redo log files
在这一步中,数据库主要的工作是打开第2步中在控制文件中读到的在线的联机日志文件和数据文件.如果数据文件和联机日志文件不存在,oracle就会报错.oracle打开数据文件和日志文件之后,会对数据文件和日志文件进行一致性检查,如果发现不一致,会启动SMON进程进行实例恢复.
另外,在整个过程中密码文件都是必须的,因为要验证操作的用户是否具有适当的权限。这个只是从宏观上来看oracle启动的整个过程。
oracle数据库入门教程
oracle是块结构语言,oracle程序划分成几个部分,并在每个部分中写入逻辑代码块,每个块由三个子部分组成。
声明部分:此部分是以关键字DECLARE开头。这是一个可选部分,并定义了程序中要使用的所有变量,游标,子程序和其他元素。
可执行命令部分:此部分包含在关键字BEGIN和END之间,这是一个强制性部分。由程序的可执行oracle语句组成。应该有至少一个可执行代码行,可以只是一个NULL命令,表示不执行任何操作。
异常处理部分 :此部分以关键字EXCEPTION开头。这是一个可选部分,包含处理程序中错误的异常。
每个oracle语句以分号(;)结尾。使用BEGIN和END可以将oracle块嵌套在其他oracle块中。以下是Poracle块的基本结构。
Hello World示例:
END;行表示oracle块的结尾。要从oracle命令行运行代码,需要在代码的最后一行之后键入/字符。当上述代码在oracle提示符下执行时,它会产生以下结果:
oracle标识符:oracle标识符是常量,变量,异常,过程,游标和保留字。标识符包括一个字母,可选地后跟多个字母,数字,美元符号,下划线和数字符号,不得超过30个字符。
默认情况下,标识符不区分大小写。例如,可以使用integer或INTEGER来表示一个数值。 不能使用保留关键字作为标识符。
扩展资料
oracle注释程序:注释可以在编写的oracle代码中包含的说明性文字,并帮助其他人阅读源代码。所有编程语言都允许某种形式的注释。
oracle支持单行和多行注释。注释中的所有字符都被oracle编译器忽略。oracle单行注释以分隔符开头 --(双连字符),多行注释由/*和*/括起来。
当上述代码在oracle提示符下执行时,会产生以下结果:
oracle变量的名称由可选的字母,数字,美元($)符号,下划线和数字符号组成,不能超过30个字符。 默认情况下,变量名不区分大小写。不能将保留的oracle关键字用作变量名称。
oracle编程语言允许定义各种类型的变量,如:日期时间数据类型,记录,集合等,我们将在后面的章节中介绍。 在本章中仅学习基本的变量类型。
关于Oracle数据库的几个问题,希望高人能帮忙解答。只有20分~~全给您了~谢谢~~急
这些可有点麻烦,从3到5要写代码。。。
5. Oracle数据库的逻辑结构分数据块、数据区间 、数据段、 、 和 6层。 3、概念问题,不好说了 4、控制文件、数据文件 5、表空间、数据库(没听说
1.
Create tablespace student datafile
'C:\data.dbf' size 50m autoextend on
next 5m maxsize 500m;
2.
Create Table student(stu_id number(8)
constraint student_stu_id_pk primary key,
stu_name varchar2(10) Not Null ,
stu_grade Number(2) Default 1 Not Null,
stu_phone varchar2(20)
constraint stu_phone_uk unique)
(说明,外键的设置应该有另外一张表的说明,此处未能创建外键。如果要创建,可参考以下语句:
constraint student_stu_name_fk
references table_name(col_name)
)
3.
Create Or Replace Trigger phonetrigger
Before Update On student
For Each Row
Declare
Ln_Stu_Id Number; --学生ID
Ls_Stu_Phone Varchar2(50); --学生电话
Begin
If :New.Stu_Phone <> :Old.Stu_Phone Then
Ls_Stu_Phone := :New.Stu_Phone;
Ln_Stu_Id := :New.Stu_Id;
Update Student_Phone
Set Stu_Phone = Ls_Stu_Phone
Where Stu_Id = Ln_Stu_Id;
End If;
End;
4.--这个问题返回值应该不止一个,所以得用表值函数,这个不是很清楚,只能列举一下大概的语法:
Create Or Replace Function Studentphone(In_Gread Number) Return < Student.Stu_Phone > %Type Is
Result < Student.Stu_Phone > %Type;
Begin
Select Stu_Phone Into Result From Student Where Stu_Gread > In_Gread;
Return(Result);
End Studentphone;
5---
Create Or Replace Procedure Setgread(In_Gread Number) As
Begin
Update Student Set Stu_Grade = In_Gread;
End Setgread;
以上代码请测试,希望可以帮助到你。
Oracle数据库的面试题目及答案
Oracle数据库的面试题目及答案
基础题目:
1. 比较truncate和 命令
解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要 rollback segment .
而Delete是DML操作, 需要rollback segment 且花费较长时间.
【相同点
truncate和不带where子句的, 以及drop都会删除表内的数据
不同点:
1. truncate和 只删除数据不删除表的结构(定义)
drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的.存储过程/函数将保留,
但是变为invalid状态.
2.语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.
truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger.
3.语句不影响表所占用的extent, 高水线(high watermark)保持原位置不动
显然drop语句将表所占用的空间全部释放
truncate 语句缺省情况下见空间释放到 minextents个 extent,除非使用reuse storage; truncate会将高水线复位(回到最开始).
4.速度,一般来说: drop>; truncate >;
5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及
使用上,想删除部分数据行用,注意带上where子句. 回滚段要足够大.
想删除表,当然用drop
想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用.
如果是整理表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据
】
2.Oracle中,需要在查询语句中把空值(NULL)输出为0,如何处理?
答案:nvl(字段,0).
nvl( ) 函数
从两个表达式返回一个非 null 值。
语法
NVL(eExpression1, eExpression2)
参数
eExpression1, eExpression2
如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,
则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2
的结果皆为 null 值,则 NVL( ) 返回 .NULL.。
返回值类型
字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值
说明
在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值。
select nvl(a.name,空得) as name from student a join school b on a.ID=b.ID
注意:两个参数得类型要匹配
3.Oracle中char和varchar2数据类型有什么区别?有数据”test”分别存放到10)和varchar2(10)类型的字段中,
其存储长度及类型有何区别?
答案:
区别: 1).CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“test",对于CHAR (10),
;
在oracle中如何创建用户?
可按如下步骤创建用户:
1、打开oracle第三方工具,如plsq,然后用一个具有dba权限的用户登录。
2、然后打开一个SQL窗口。
3、执行语句:“create user 用户名 identified by 密码”(其中用户名需要为英文,密码为数字或字母或英文符号或组合)。
4、执行完毕后,可按需要给用户赋予相应的权限,如:“grant connect,resource,dba to 用户名”。
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle数据库的权限该怎样设置?
【答案】:先是dba的身份进入数据库,才可以给别的用户授权!使用dba身份进入:conn sys/sys as sysdba;然后就可以授权了:grant dba to scottdba:是个权限名字,scott是个 用户名,想给别的用户授权的话换成那个用户的名字就可以了,权限名也可以改,还有 connection,create table等权限。
如果dba登不进去,
运行---cmd输入sqlplus/nolog再输入conn sys/sys as sysdba