大型数据库技术大作业
《大型数据库技术》大作业
课题名称:学生成绩管理系统
班 级: 16级软工云计算四班
学 号: 1615925594
姓 名: 刁云恒
成 绩:
(一)Oracle的安装与配置
(1)Oracle 11g的安装
1.解压下载的包,然后进入包内,点击setup.exe开始安装
选择创建和配置数据库,点击下一步。
选择桌面类,点击下一步:
输入数据库名字和口令,点击下一步:
准备安装:
安装成功:
(2)创建数据库
用户与权限管理
(1)表空间的创建
(2)用户配置文件的创建
(3)用户的创建
(4)权限的分配
(5)用户登录
(三)Oracle对象创建与管理
(1)课题简介
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理提目前随着个大高校的扩招,在校学生数量庞大。拥有一款好的学习成绩管理系统软件,对于加强对在校生的成绩管理起到积极作用。并且,可以为在校生随时查阅自己的成绩信息、教师录入成绩等提供方便,为学校节省大量人力资源本系统就是为了管理好学生成绩信息而设计的
(2)数据库表清单
1.学生表(学号(主键),姓名,性别,出生日期,专业,学分)
2.课程表(课程号(主键),课程名,开课日期,学时,学分)
3.教师表(工号(主键),姓名,性别,课程名)
4.成绩表(学号(主键),课程号,教师,成绩)
5.用户表(用户名,密码)
E-R图
(3)普通数据表及索引的实现
索引、视图的实现
(四)PL/SQL编程
(1)课程平均成绩:此功能主要是求指定课程号的课程平均成绩
实现代码
create or replace function dyh_avg_score(dyh_couno number) return number is
num_avg_score number;
begin
select avg(stucredits) into num_avg_score from dyh_score where couno=dyh_couno;
return(round(num_avg_score,2));
exception
when no_data_found then
dbms_output.put_line('不存在这门课');
return(0);
end;
set serveroutput on
declare
avg_score number;
begin
avg_score:=dyh_avg_score(1);
dbms_output.put_line('平均成绩是:'||avg_score);
end;
(2)判断用户名和密码:此功能主要是判断输入的用户名和密码是否和用户表信息一直,若一致则输出1,若不一致输出0
实现代码
create or replace procedure dyh_login
(
c_name varchar2,
c_password number,
flag out number)
is
counts number;
pcounts number;
begin
select count(username) into counts from dyh_users where username=c_name;
if counts>0 then
select count(password) into pcounts from dyh_users where password=c_password;
if pcounts>0 then
flag:=1;
end if;
else
flag:=0;
end if;
end dyh_login;
存储过程:此功能为直接调用此过程进行对用户表进行插入操作
实现代码:
create or replace procedure dyh_insert_users
(
dyh_username in varchar2,
dyh_password in number)
is
begin
insert into dyh_users(username,pass