数据库大作业
更新时间:2023-10-17 14:23:01 阅读量: 综合文库 文档下载
2015 - 2016 年 课程名称:学生管理系统
班级:14级软件设计4班 学号:1415925316 姓名:汪奎
《 大 型 数 据 库 技 术 》 大 作 业
一. ORACLE11g的安装与配置实验,数据名为wk。实验要求截图如下: 企业版与只安装oralce服务器以及安装完成为以下3张截图
利用DBCA创建数据库并以汪奎首字母wk命名
所有账户使用同一管理口令为本人学号1415925316
共享数据库以及选择示例模式截图如下
二. 用户的创建与权限管理
(1)新建一个用户表空间MYTBS,要求大小为500M。MYTBS表空间下有两个数据文件MYTBS1.DBF和MyTBS2.DBF,文件分别放在E和F两个不同的磁盘分区。
在E盘建立一个wk的文件夹,在F盘建立一个wk的文件夹,开始创建表空间。
输入
Create tablespace MYTBS
Datafile ‘E\\wk\\MYTBS1.dbf’ size 250M, ‘F\\wk\\MYTBS2.dbf’ size 250M;
2. )创建用户配置文件userprofile
输入代码如下:Create profile userprofilelimit
Password_life_time 10密码生存周期10天 Failed_login_attempts 3密码输入不得超过3次 Password_lock_time 1;超过3次锁一天
查询代码以及截图 select * from dba_profiles:
3.创建一个用户名称为wk的用户,密码为1415925316为新帐号设置默认表空间为MYTBS。系统所有对象必须建立在该帐号下,所有对象必须存储在MYTBS表空间中。用户的配置文件为userprofile; 输入代码:Create user wk indentified by 1415925316 Default tablespace MYTBS;
查询以及查询结果
(4)为用户赋予登录Oracle的权限;为用户赋予创建任何表、创建任何索引的权限;将DBA的角色给新建用户;查看对应的用户获得的权限和角色(用数据字典表user_sys_privs,user_tab_privs,user_role_等,,截图语句及查询结果)
(5)用新建的帐号登录。并执行show user命令,显示当前登录用户。 完成以上命令,并写入文档中。
(三)Oracle对象的创建与管理 1.课题简介
学生信息管理系统是因需求而必须具备相应管理功能的系统。采用pl/sql作为编程语言,oracle作为数据存储。在完成用户需求同时,针对学生成绩及其数据特点,可以全面实现对学生成绩的插入、查询、修改、删除和输出等功能的计算机管理。大大减轻了工作量,减少人为的工作失误,提高学生成绩管理的效率。 2.数据库表清单
数据库所有数据表的清单,包括表的类型,表的名称和中文含义。 学生表:
字段名 Sname Sno Ssex Sage Sdept 课程表:
字段名 Cname Cno Score Tname 成绩表: 字段名 Sno Cno Grade 老师表:
字段名 Tname Tno Tage Tsex Cname 学生表:
create table wk_student( Sname char(30) not null, Sno char(20) primary key, Ssex char(4) not null, Sage char(8) not null, Sdept char(40) not null ); 课程表
类型 Char(30) Char(20) Int Char(4) Char(40) 属性 老师姓名 老师编号 老师年龄 老师性别 所授课程 备注 Not null Primary(主键) Not null Not null Not null 类型 Char(20) Char(20) fioat 属性 学号 课程号 该成绩 备注 联合Primary(主键) Sno与wk_student表中的sno外键关联 Cno与wk_couese表中的cno外键关联 Not null 类型 Char(30) Char(20) Numeric(2,1) Char(40) 约束 Not null Primary(主键) Not null Not null 属性 课程名 课程号 学分 任课老师 类型 Char(30) Char(20) Char(4) Char(8) Char(40) 属性 学生姓名 学生学号 学生性别 学生年龄 学生系别 备注 Not null Primary(主键) Not null Not null Not null create table wk_course( Cname char(30) not null, Cno char(20) primary key, Score Numeric(2,1) not null, Tname char(40) not null ); 成绩表:
create table wk_grade(
Sno char(20) references wk _student(Sno) , Cno char(20) references wk _course(Cno), Grade float not null,
constraint sc_wk_grade primary key(Sno,Cno) ); 老师表:
create table wk_teacher( Tname char(30) not null, Tno char(20) primary key, Tage int not null, Tsex char(4) not null, Cname char(40) not null );
3.普通数据表及索引的实现
普通表的创建语法(含主键、外键及自定义约束的实现)。
查看建立的四个表:
4.索引、视图的实现
SQL> create index student_name on wk_student(Sname); 索引已创建。
SQL> create unique index student_grade on wk_grade(Grade);
索引已创建。
SQL> create index course_name on wk_course(Cname ASC); 索引已创建。
SQL> create view wk_teacher_view as 2 select Tname,Tno,Tage,Tsex,Cname 3 from teacher; 视图已创建。
SQL> create view wk_course_view as 2 select Cname,Cno,Score,Tname 3 from wk_course; 视图已创建。
SQL> create view wk_grade_view as 2 select Sno,Cno,Grade 3 from wk_grade; 视图已创建。
SQL> create view wk_student_view as 2 select Sname,Sno,Ssex,Sage,Sdept 3 from wk_student; 视图已创建。
SQL> SELECT VIEW_NAME,VIEW_TYPE,READ_ONLY,TEXT_LENGTH 2 FROM USER_VIEWS;
VIEW_NAME VIEW_TYPE R TEXT_LENGTH ------------------------------ ------------------------------ - -----------
wk_COURSE_VIEW N 44 wk_GRADE_VIEW N 35 wk_STUDENT_VIEW N 49 wk_TEACHER_VIEW N 45
(四)PL/SQL编程(30分)
(1)创建函数功能
1.1实现功能为:在wk_student_表和wk_grade表中查询出任意给定的学生号的姓名及学生的课程号。 SQL> create or replace function wkfun_name (s_Sno wk_student.Sno%type) 2 return wk_student.Sname%type 3 as
4 s_sname wk_student.Sname%type; 5 c_cno wk_grade.Cno%type; 6 begin
7 select Sname into s_sname from wk_student where Sno = s_Sno; 8 select Cno into c_cno from wk_grade where Sno = s_Sno; 9 return s_sname; 10 exception
11 when no_data_found then
12 dbms_output.put_line('未找到该学号。'); 13 end; 14 / 函数已创建。 【截图】
1.2函数
SQL> create or replace function wkfun_name (s_sno wk_grade.Sno%type) 2 return wk_grade.Cno%type 3 as
4 s_grade wk_grade.Grade%type;
5 begin
6 select sum(grade) into s_grade from wk_grade where Sno = s_sno; 7 return s_grade; 8 exception
9 when no_data_found then
10 dbms_output.put_line('未找到该学号。'); 11 end; 12 / 函数已创建。
创建触发器功能:实现更新wk_grade表中的Grade值,级联更新wk_student表相应值。 SQL> create or replace trigger wk_tri 2 after update of sno on wk_student 3 for each row 4 begin
5 update wk_grade set Sno=:new.Sno 6 where Sno=:old.Sno;
7 dbms_output.put_line('更新完毕。'); 8 end; 9 / 触发器已创建
过程1:计算老师的总人数。
SQL> create or replace procedure wk_pcd1_eacher_count is 2 t_count number; 3 begin
4 select count(*) into t_count from wk_student;
5 dbms_output.put_line('教师总人数为:'||' '|| t_count); 6 end; 7 / 过程已创建。
(五)数据库的备份与恢复(20分) (1)设置归档模式。
SQL> conn sys/1415925316 as sysdba 已连接。
SQL> archive log list
数据库日志模式 非存档模式 自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 8
当前日志序列 10SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> starup mount
SP2-0734: 未知的命令开头 \忽略了剩余的行。 SQL> startup mount ORACLE 例程已经启动。
Total System Global Area 1670221824 bytes Fixed Size 2176328 bytes Variable Size 989858488 bytes Database Buffers 671088640 bytes Redo Buffers 7098368 bytes 数据库装载完毕。
SQL> alter database archivelog; 数据库已更改。
(2)归档当前日志。 SQL> alter database open;
数据库已更改。
SQL> alter system switch logfile; 系统已更改。
(3)数据库完全备份及实现。 SQL> select name from v$controlfile 2 union all
3 select member from v$logfile 4 union all
5 select name from v$datafile 6 union all
7 select name from v$tempfile;
NAME
-------------------------------------------------------------------------------- E:\\APP\\ASUS\\ORADATA\\wk\\CONTROL01.CTL
E:\\APP\\ASUS\\FLASH_RECOVERY_AREA\\wk\\CONTROL02.CTL E:\\APP\\ASUS\\ORADATA\\wk\\REDO03.LOG E:\\APP\\ASUS\\ORADATA\\wk\\REDO02.LOG E:\\APP\\ASUS\\ORADATA\\wk\\REDO01.LOG E:\\APP\\ASUS\\ORADATA\\wk\\SYSTEM01.DBF E:\\APP\\ASUS\\ORADATA\\wk\\SYSAUX01.DBF E:\\APP\\ASUS\\ORADATA\\wk\\UNDOTBS01.DBF E:\\APP\\ASUS\\ORADATA\\wk\\USERS01.DBF E:\\APP\\ASUS\\ORADATA\\wk\\EXAMPLE01.DBF E:\\APP\\MYTBS1.DBF NAME
-------------------------------------------------------------------------------- F:\\wk\\MYTBS2.DBF
E:\\APP\\ASUS\\ORADATA\\wk\\TEMP01.DBF 已选择13行。
(4)数据库完全恢复及实现。
启动mount模式:startup mount;打开数据库:alter database open;
(5)利用数据泵实现逻辑导出与导入。
首先在 g:\\wk 下创建directory 目录 dump_dir 用来存放转储文件
create directory dump_dir as 'g:\\wk';
然后打开CMD,输入以下代码: C:\\Users\\asus>expdp 用户名:wk 口令:1415925316
正在阅读:
数据库大作业10-17
大二毛概复习资料05-31
护理应急预案及处理流程01-12
对小产权房法律问题的思考05-04
江苏省无锡市12-13学年高三下学期期初质量检测(数学)07-17
国家CAD考试CAD题库1汇总09-29
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 作业
- 数据库
- 如何观察宏观经济指标?
- 物理2
- 2010年陈某滥用职权二审辩护词
- 王长喜六级听力补充听力(六) - 补充听力(十)文本
- 篮球特色项目活动实施方案
- 八年级英语上册Unit4Whatsthebestmovietheater写作小专题同步练习(新版)人教新目标版
- 新PLC铸焊机说明书 - 图文
- 年产100万米聚氨酯合成革毕业论文
- 五年级英语下册句子专项练习
- 美国血液CS5+自体血液回输机操作手册 - 图文
- 如何写好政务信息
- 例文 爸爸的
- 广场舞调查问卷
- 创建区级文明单位汇报
- 物理竞赛辅导力学
- 班组突发事件应对
- 数据库在线测试1—11章简答题部分及个别简答题
- 导流洞临时堵头施工措施
- 大学英语课堂演讲 Maintain yourself!坚持做自己
- 米字格楷体2500字 - 图文