Oracle实验报告Word文件下载.docx
《Oracle实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《Oracle实验报告Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。
教师评语:
实验二教学数据库设计
需求:
1、每个学生可以选修多门课程,每门课程可以被多个学生选修;
2、每门课程可以由多个老师来教学,每个老师可以教多门课程,每个教师上一门课程为一个教学班,且此教学班的每门课程只能有一个教师;
3、每个学生只能属于一个班级,每个班级可以有多个学生;
4、每个教室同一时间只能有一门课程在此上课。
要求:
1、E-R图:
2、概念模型转换为关系模型:
实体的转换:
学生(学号,班级号,姓名,性别,年龄,专业)
课程(课程号,课程名,学分)
老师(职工号,姓名,性别,年龄,职称)
教室(教室编号,人数)
教学班(教学班号,人数)
班级(班级号,人数)
联系的转换:
选修(学号,课程号,成绩)
教授(课程号,职工号)
开课(课程号,教学班号)
使用(课程号,教室编号,同一时间)
教学(职工号,教学班号)
上课(职工号,班级号)
开设(课程号,班级号)
包含(学号,班级号)
关系的优化:
对上述关系模式的优化
没有相同的关系模式,所以不能再优化,上面的关系模型为最终关系模型。
合并方案:
对可以合并的关系进行合并
3、数据字典
1、Student(学生表)
序号
字段名称
数据类型
长度
NULL
PK/FK
注释
1
Stu_id
Char
8
no
PK
学号
2
Stu_name
Varchar2
20
姓名
3
Stu_sex
4
性别
Stu_age
int
10
年龄
5
Stu_major
专业
6
Stu_class
FK
班级
注:
字段名称要规范,命名方式要统一
2.Course(课程表)
Course_id
char
课程号
Course_name
课程名
credit
学分
3.Teacher(教师表)
Teach_id
职工号
Teach_name
Teach_sex
Teach_age
Teach_job
职称
4.Class(班级表)
Class_id
班级号
Class_num
50
人数
5ClassRoom(教室表)
ClassRoom_id
教室编号
ClassRoom_num
6.TeachingClass(教学班表)
TeachingClass_id
教学班号
TeachingClass_num
实验三使用Oracle数据库配置助手创建数据库
学号:
姓名:
成绩:
使用Oracle数据库配置助手创建数据库
利用Oracle数据库配置助手创建一个数据库
实验步骤:
1、打开开始菜单,点击oracle下的配置和移植工具下的databasecofigurationAssistant,
2、点击下一步:
勾选创建数据库:
3、直接勾选一般用途或事物处理:
5、创建数据库名称:
6、直接点击下一步:
7、这里我使用的是所有账户使用同一个口令:
8、这一步不用修改,直接点击下一步:
9、
10、
11、直接点击完成即可:
实验中遇到
的问题及
解决办法:
在使用Oracle数据库配置助手创建数据库之前,我做了准备工作,通过XX、论坛等途径获取了如何创建数据库的知识。
因此,使用Oracle数据库配置助手创建数据库的过程比较顺利,最后创建成功。
实验四创建存储过程和调用存储过程
姓名:
存储过程的创建
编写java程序调用创建的存储过程
1.学会存储过程的创建;
2.学会用java语言调用存储过程。
代码:
存储过程的创建:
createorreplaceprocedurenum(in_sexinstudent.sex%type,out_numoutnumber)
as
begin
ifin_sex='
男'
then
selectcount(sex)intoout_num
fromstudent
wheresex='
;
else
女'
endif;
endnum;
调用存储过程:
declare
sexnumber(3);
num('
sex);
dbms_output.put_line(sex);
end;
用java程序在Myeclipse中调用存储过程:
publicstaticvoidmain(Stringargs[])
throwsException{
Connectionconn=null;
Statementstate=null;
ResultSetrs=null;
Stringdriver="
oracle.jdbc.driver.OracleDriver"
Stringurl="
jdbc:
oracle:
thin:
@127.0.0.1:
1521:
ORCL"
try{
Class.forName(driver);
conn=DriverManager.getConnection(url,"
root"
"
test123"
);
CallableStatementproc=null;
proc=conn.prepareCall("
{callnum(?
?
)}"
proc.setString(1,"
100"
proc.registerOutParameter(2,java.sql.Types.INTEGER);
proc.execute();
Stringtextp=proc.getString
(2);
System.out.println("
textpis="
+textp);
}catch(Exceptione){
}finally{
try{
if(rs!
=null)
rs.close();
if(state!
state.close();
if(conn!
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
1.存储过程在SqlPlus中创建成功。
2.用java程序在Myeclipse中也成功的调用所创建的存储过程。
1.在编写程序时需要加载数据库的驱动,并且要注意用户名和密码是否正确。
2.在实验过程中,遇到问题要积极思考解决的办法,勤动脑,勤动手。
3.知识的掌握离不开理论和实践,因此要将理论和实践结合起来学习。
实验五数据库实例的启动和关闭
成绩:
数据库实例的启动和关闭
实现数据库实例的启动和关闭
重要步骤(代码或截图)
首先区分几个术语:
Oracle实例、Oracle数据库和Oracle服务器
数据库的启动和关闭可分为两种:
1.OracleDBConsolestudent、OracleJOBSchedulerSTUDENT和OracleServiceSTUDENT等,即可启动和关闭数据库实例。
2.使用OEM也可关闭数据库实例
使用OEM的方法如下:
首先登录OEM,在“主目录”页面的“一般信息”中,点击“关闭”按钮。
此时要求对用户进行身份验证,分别输入正确的操作系统身份证明(用户名/密码)和数据库身份证明。
在数据库身份证明中,需要一个DBA身份的帐户信息,如“sys/pasword”,然后点击右下角的“确定”按钮。
如果通过身份验证,将进行数据库关闭操作。
也可以将已经关闭的数据库重新启动。
默认情况下,在身份验证信息页面中输入操作系统用户和数据库用户之后,会显示“用户名/密码”错误,如图
解决此问题,需要对操作系统的安全设置进行修改。
从“控制面板—管理工具—本地安全策略”进入本地安全设置。
如图:
输入操作系统登录名,如“pzc”,然后点击“确定”,回到属性窗口。
可以看到刚刚添加的用户名。
点击“确定”返回,并推出本地安全设置。
这样,就可以通过身份验证,执行数据库的关闭操作。
在属性窗口中点击“添加用户或组”,打开添加用户对话窗。
实验中遇到的问题及解决方法
1.在使用语句对数据库操作时,要注意单词的大小写是否要区分。
2.在实验中遇到问题要积极去解决,不管问题最终是否解决这都对我们又很大好处。
实验六创建表和修改表
姓名:
创建表和修改表
1、创建表;
2、修改表。
数据库表的创建
1.student(学生)表的创建:
createtablestudent(
stu_idchar(8)primarykey,
stu_namevarchar2(20)notnull,
stu_sexchar(4),
stu_ageint,
stu_majorvarchar2(20)notnull,
stu_classchar(10)
2.course(课程)表的创建:
createtablecourse(
course_idchar(10)primarykey,
course_namevarchar2(20)notnull,
creditint
3.teacher(教师)表的创建:
createtableteacher(
teach_idchar(10)primarykey,
teach_namevarchar2(20)notnull,
teach_sexchar(4),
teach_ageint,
teach_jobvarchar2(20)notnull
4.class(班级)表的创建:
createtableclass(
class_idchar(10)primarykey,
class_numint(50notnull
5.classRoom(教室)表的创建:
createtableclassRoom(
classRoom_idchar(10)primarykey,
classRoom_numint(50notnull
6.teachingClass(教学班)表的创建:
createtableteachingClass(
teachingClass_idchar(10)primarykey,
teachingClass_numint(50notnull
创建成功
1.学习数据库,最基本的就是对数据库操作的语句了。
因此,我们必须要熟练的使用这些语句。
2.学习就是要学以致用。
所有,我们在学习编程的时候就尽量的综合对数据库使用。
这样不仅掌握了对数据库的使用,还将它用于了实际项目中,真正的用到了实处。
实验七创建和修改索引和视图
创建和修改索引和视图
1.掌握oracle索引的创建和修改
2.掌握oracle视图的创建和修改
索引的创建使用createindex语句来实现,用户使用createanyindex来创建。
createindexindex_on_studentname
onstudent(stu_name)
tablespacemyTB
pctfree30;
修改索引:
alterindexindex_on_studentname
pctfree35;
创建视图:
Createorreplaceviewv_ageSorce
As
Selectstudent_no,avg(sco.score)avg_score
Fromscore
Wherestu_noin(selectstu_nofromstudentwherestu_sex=’1’)
Groupbystu_no;
修改视图:
Wherestu_noin(selectstu_nofromstudentwherestu_sex=’2’)
1.创建索引是的createindex语法结构要注意。
2.视图也是一样,特别是语句中的标点不能遗漏。
3.总而言之,细节决定成败。
实验八创建表空间和数据文件
姓名:
成绩:
创建临时表空间
实验内容:
1.创建临时表空间
Createtemporarytablespaceuser_temp
Tempfile‘D:
\oracle\oradata\user_temp.dbf’
Size50m
Autoextendon
Next50mmaxsize20480m
Extentmanagementlocal;
2.创建数据表空间
Createtablespaceuser_data
Loggingdatafile‘D:
\oracle\oradata\user_data.dbf’
Size50m
Extentmanagementlocal
实验名称
实验内容
创建数据文件
1.创建语句
Altertablespaceadddatafile‘/u01/datafile/user01.dbf’size10mautoextendon;
2.创建内容
variable
position
Type
Lable
Columnwidth
decimals
Number
Numeric
编号
Name
String
Sex
Age
Wenhua
Work
Income
Live
Fat
Method1
Method2
method3
7
9
11
12
13
文化程度
职业
收入级别
居住情况
肥胖程度调整饮食
进行运动
其他措施
实验九管理控制文件和日志文件
管理控制文件和日志文件
1、管理控制文件;
2、日志文件;
一:
管理控制文件
(1):
控制文件是数据库中最小。
包含数据库的结构信息,包括数据文件和日志文件。
(2):
控制文件在数据库中被自动创建,并且每一次数据库发生物理变化时都被更新。
(3):
多路复用控制文件。
Eg:
添加一个控制文件altersystemsetcontrol_fifles=’哪个盘下的什么位置’;
从“服务器-存储-控制文件”打开控制文件管理页面。
(4):
删除控制文件可以根据以下步骤进行:
(1)关闭数据库SQL>
shutdownimmediate
(2)编辑初始化参数编辑初始化参数CONTROL_FILES,从中删除此控制文件的名称。
(3)重新启动数据库
需要注意的是:
以上步骤只是将控制文件的信息从数据库中删除,并没有将控制文件物理地从磁盘上删除,要真正删除控制文件,可以在操作系统下执行删除操作将其删除。
(5):
创建重做日志组
创建重做日志文件,可以使用ALTERDATABASE命令的ADDLOGFILE字句。
Eg:
SQL>
ALTERDATABASEADDLOGFILEGROUP3
2(’e:
\oracle\oradata\orcl\redolog04.log’,
3‘d:
\dataorcl\redo05.log’)
4SIZE10M
(6):
日志文件的移动和重命名.
(1)关闭数据库
SQL>
connect/assysdba
shutdown
(2)复制日志文件
在操作系统中重新命名重做日志文件,或者将重做日志文件复制到新的位置上,然后再删除原来位置上的文件。
(3)重新启动数据库实例
启动数据库实例,加载数据库。
但是不打开数据库。
startupmount
(4)重新设置日志文件路径
(5)打开数据库
ALTERDATABASEOPEN
(6)启动数据库
重新启动数据库之后,对联机重做日志文件的修改将生效,通过查询数据字典视图V$LOGFILE可以看到重做日志的更改情况。
SELECTMEMBERFROMV$LOGFILE
MEMBER
(7)清空重做日志文件就是将重做日志文件的内部全郜初始化,这相当于删除该重做日志文件,然后再重新创建日志文件。
(8)在此页面中可以执行添加日志文件和对已有日志文件的编辑操作。
实验成功
1、本实验是一个操作相对繁琐的实验,并且需要我们掌握许多的概念。
这对我们提出了较高的要求,要不厌其烦,多实践才能掌握本实验提出的要求。
2、在实验中遇到问题要积极思考解决的办法,这本身也是一种能力的锻炼。
实验十创建用户和分配权限
创建用户和分配权限
1.创建一个用户;
2.给用户分配权限
创建一个新用户可以使用createuser命令来实现
创建用户:
createuserluhaoindentifiedbypzc
defaulttablespaceusers
temporarytablespacetemp
quota0onsystem;
分配权限:
赋予luhao用户创建临时会话的权限
GRANTcreatesessiontolunar;
赋予luhao用户创建表的权限
GRANTcreatetabletopzc;
赋予luhao用户对student表的所有权限
GRANTallonstudenttopzc;
为用户luhao授予链接数据库和开发系统权限
GRANTconnect,resourceTOpzc;
为用户luhao授予创建索引权限
GRANTCRREATEANYINDEXTOpzc;
为用户luhao授予链接数据库和开发系统权限,并且允许luhao将权限传递给其他用户
GRANTconnect,resourceTOluhaoWITHADMINOPTION;
1.创建用户时注意用户的每条自断所对应的数据类型,不能弄错。
2.在授予权限时也是同样的问题,每个自断必须相互对应,否则权限会出错。
3.在学习知识的过程中,遇