学生成绩管理系统.docx
《学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统.docx(52页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统
课题名称:
学生成绩管理系统
班级:
学号:
姓名:
成绩:
一:
ORACLE11g的安装与配置
<一>:
oracle的安装:
1:
点击setup.exe开始安装;
2:
把小对勾取消,点击下一步进行;
3:
点击“是”
4:
选择创建和配置数据库,点击下一步;
5:
选择服务器类,然后点击下一步;
6:
选择单实例数据库,点击下一步;
7:
选择高级安装,点击下一步;
8:
选择语言,如果数据库内没有用到其他的语言,就这样默认的就可以了,下一步;
9:
选择安装版本,用企业版的,点击下一步;
10:
新建一个自定义的目录,然后点击下一步;
11:
选择‘一般用途事务处理’然后直接点击下一步;
12:
‘全局数据库名’,可以自己定义。
下面的服务标识符也是可以自己定义。
一般这两个就使用默认的了,然后点击下一步;
13:
按照默认的,然后点击下一步;
14:
选择默认,然后点击下一步;
15:
选择默认,然后点击下一步;
16:
直接下一步;
17:
使用统一口令,然后点击下一步;
18:
检测环境;
19:
环境检测完后,有的是可以直接点击下一步的,有的会出现如下图:
这个时候,一般是下图这样的,那么就应该没多大问题,选择全部忽略,再点击下一步就行了。
20:
出现如下:
点击完成,就可以开始安装了;
21:
开始安装。
<二>:
oracle11g网络配置:
Pingip:
Netca(本地网络服务名)
添加:
选择监听程序名;
选择TCP:
主机名1521
否:
监听程序配置完成;
完成
Sqlpulsscott/@oracle
<三>:
使用DBCA创建数据库:
打开命令行:
输入dbca,回车,出现DBCA欢迎界面,如图,点击下一步:
选择创建数据库,点击下一步:
选择一般用途或事务处理,下一步:
输入数据库名称,默认全局和SID是一样的,此处用自己名字的首字母缩写,然后点击下一步:
配置EM,这里你可以去掉勾,不去配置。
点下一步:
添加口令,此处使用了自己的学号,然后点击下一步:
因为口令简单,所以会有提示,不用管它,直接点击“是”:
此后一路“下一步”即可:
点击完成:
点击确定:
开始创建数据库,需要几分钟:
数据库创建成功:
二:
用户的创建与权限管理:
(1)新建一个用户表空间MYTBS,要求大小为500M。
MYTBS表空间下有两个数据文件MYTBS1.DBF和MyTBS2.DBF,文件分别放在E和F两个不同的磁盘分区。
create tablespace MYTBS
datafile ‘E:
\wanglili\MYTBS1.DBF’ size 250M,
‘F:
\wanglili\MYTBS2.DBF’ size 250M;
(2)创建用户配置文件userprofile,要求密码的生存周期为30天,允许输入错误的密码不得超过5次,超过5次密码锁2天。
createprofilelock_countlimit
password_life_time30
failed_login_attempts5
password_lock_time2;
用语句查看该配置文件中的资源配置结果,dba_profiles数据字典表,截图语句及查询结果
selectusername,default_tablespace,temporany_tablespacefromdba_profileswhereusername=wll;
(3)新建一个用户,用户名称为学生姓名的首字母,密码为学生的学号。
如学生姓名为“张三”,则用户名称则为zs。
为新帐号设置默认表空间为MYTBS。
createuserwllidentifiedby1315925167
defaulttablespaceMYTBS;
(4)权限的分配
为用户赋予oracle的权限:
grantconnect,resourcetowll;
查看对应的用户获得的权限和角色:
selectusername,default_tablespacefromuser_users;
select*fromuser_role_privs;
(5)用户登录
执行showuser命令,显示当前登录用户:
showuser;
三:
Oracle对象的创建与管理
(1)课题简述
一个学校由于学生不断增多因此成绩管理系统也就越来越重要了它需要对学生的成绩进行录入,查询,删除,增加,修改等等,因此只有一个好的成绩管理系统才能提供跟强大的功能,才能提高效率。
我们应该跟上时代的步伐逐步发展和扩大我们的成绩管理系统。
系统设计主要包括五个主要功能模块:
(2)学生信息管理:
包括基本信息录入、基本信息修改
(3)学生成绩管理:
包括学生成绩录入、学生成绩修改
(4)信息查询:
包括基本信息查询、成绩信息查询、学校人数统计
(5)对教师的信息管理
学生可以查询课程信息,教师信息,成绩信息,个人信息。
而管理员可以对学生成绩进行管理,可以有增、删、该、查等等。
表格wll-student
代码
类型
名称
主键
是否为空
sno
char(20)
学号
Key
否
Sname
char(20)
姓名
否
Ssex
char(4)
性别
否
Sdept
char(20)
系别
否
Sclass
char(20)
班级
否
Sage
char(4)
年龄
否
表wll-score
代码
类型
名称
是否为空
Sno
Char(20)
学号
否
Cno
Char(20)
课程号
否
Sgrad
char(4)
成绩
表wll-user
代码
类型
名称
主键
是否为空
Uno
Int
用户号
Key
否
Cname
Varchar(20)
课程名
否
Uname
Varchar(20)
用户名
表wll-course
代码
类型
名称
主键
是否为空
Cno
char(20)
课程号
是
否
Cname
char(20)
课程名
否
Hour
char(20)
课时
否
表wll-teacher
代码
类型
名称
主键
是否为空
Tno
char(20)
教师号
是
否
Tname
char(20)
教师名
否
Cname
char(20)
课程名
否
(2)设计出系统的表结构,至少4个表。
学生信息表:
createtablewll_student(
Snochar(20)primarykey,
Snamechar(20)notnull,
Ssexchar(4)notnull,
Sdeptchar(4)notnull,
Sclasschar(20)notnull,
Sagechar(4)notnull
);
课程表:
createtablewll_course(
Cnochar(20)primarykey,
Cnamechar(20)notnull,
Hourchar(4)notnull
);
管理员表:
createtablewll_user(
Unointprimarykey,
Cnamechar(20)notnull,
Unamechar(20)
);
教师信息表:
createtablewll_teacher(
Tnochar(20)primarykey,
Tnamechar(20)notnull,
Cnamechar(20)notnull,
Tsexchar(4)notnull,
Tagechar(4)notnull
);
成绩表:
createtablewll_score(
Snochar(20)notnull,
Cnochar(20)notnull,
Sgradchar(4)
);
(3)使用新建的用户登录,并在用户下创建系统所需的各种表。
完成各表的定义,并实现每个表的主键、外键、自定义约束,写出创建语句。
用SQL语句完成对象的创建。
每个对象的创建必须有完整的SQL语句。
(4)创建适当的索引,写出创建的代码。
根据应用需要创建视图至少3个。
创建索引:
(1)在wll_course表的Cname列上创建非聚集索引。
createindexwll_course_cnameonwll_course(Cname);
(2)在wll_student表的Sname列上创建非聚集索引。
createindexwll_student_snameonwll_student(Sname);
(3)在wll-score表的Sno列创建一个非聚集索引,索引键值按Sno升序排列。
Createindexwll_score_snoonwll_score(SnoASC);
创建视图:
视图是一张虚拟的表,它可以建立在关系表上,方便与查询
(1)查询学生学号,姓名,成绩的视图:
createorreplaceviewlcf
as
selectwll_student.Sno,Sname,Sgradfromwll_student,wll_score
wherewll_student.Sno=wll_score.Sno;
(2)查看课程名和成绩
createorreplaceviewyh
as
selectCname,Sgradfromwll_course,wll_score
wherewll_course.Cno=wll_score.Cno;
(3)查看教师姓名和课程号
createorreplaceviewzz
as
selectTname,Cnofromwll_course,wll_teacher
wherewll_course.Cname=wll_teacher.Cname;
四:
PL/SQL编程
实现功能
用户登录功能
createorreplaceprocedurepro_login(v_nameinvarchar2,v_passwdinvarchar2,flagoutint)
is
countsnumber(10);
pcountsnumber(10);
begin
selectcount(*)intocountsfromwll_userwhereuname=v_name;
ifcounts>0then
selectcount(*)intopcountsfromwll_userwherepassword=v_passwd;
ifpcounts>0then
flag:
=1;
elsifpcounts=0then
fl