资源描述
《Oracle数据库管理与应用》
Oracle综合设计实验报告
选 题: 学生信息管理系统
班 级: 软件工程0901
学 号: 20094225040
姓 名: 赵习康
填写日期: 2011 年 12 月16 日
一、 系统功能说明
21世纪的时代是信息的时代,传统的纯手工的管理学生信息的时代既跟不上潮流,而且效率低下。为此开发一套学生信息管理系统对于处理大量学生的信息提供了方便。
学生信息管理系统针对的对象有三个:1.管理员2.教师3.学生。
管理员功能模块如下:
1.学生档案管理:
1.1学生基本信息录入
1.2学生宿舍信息录入
1.3学生家庭信息录入
1.4学生信息浏览
2.教师档案管理:
2.1.教师信息录入
2.2.教师信息浏览
3.学生成绩管理
3.1.学生成绩的浏览
4.学生学籍管理
4.1.学生学籍的录入
4.2.学生学籍的浏览
5.学生奖惩管理
5.1.学生奖惩录入
5.2.学生奖惩浏览
6.学生课程管理
6.1.学生课程录入
6.2.学生课程浏览
6.3.学生班级课程录入
6.4.学生班级课程浏览
7.学费管理
7.1.学费设置
7.2.学费浏览
7.3.缴费录入
7.4.缴费浏览
8.用户管理
8.1用户添加
8.2用户浏览
9.系统管理
9.1系统数据恢复
9.2系统数据备份
9.3系统锁定
10.系统退出
11.系统帮组
11.1计算器
11.2txt文档
11.3系统说明
鉴于教师模块、学生模块包含于管理员模块,在此不做罗列。
二、 数据库分析与设计:
2.1数据库的概念设计
2.2 数据库的逻辑设计
将E_R模型导成关系模型,并进行数据的规范化(达到3范式)。
学生(学号,姓名,性别,年龄,入学成绩,身份证号,电话号码,政治面貌,学生照片,班级号,宿舍号,班级号,专业编号);
课程(课程号,课程名);
学习(学号,课程号,学习成绩);
教师(教师号,教师名,教师简介,教师照片,学院编号);
讲授(教师号,课程号,讲授情况)
父母(父母姓名,父母电话,家庭住址,学号);
专业(专业编号,专业名,学院编号);
学院(学院编号,学院名,院长);
宿舍(宿舍编号,管理员);
班级(班级编号,班级名,素导编号);
素导(素导编号,素导名,学院编号);
假设:38.代表商学院,39.代表文法学院,40.代表外语学院,41.代表城市建设学院,42.代表信息工程学院,43.代表生命科学学院44.代表国际教育学院,45.代表非专业素质学院,46.代表自考学院 47.艺术学院。
专业如下:
38.商学院:物流管理(本科)(21),工商管理(本科)(22)
39.文法学院:酒店管理(专科)(11), 法学(本科)(21)
40.外语学院:英语(本科)(21), 日语(本科)(22)
41.城市建设学院:土木工程(本科)(21),建筑学(22)
42.信息工程学院:软件工程(本科)(25),网络工程(本科)(24)
43.生命科学学院:环境工程(本科)(21),医药工程(本科)(22)
2.3数据库的物理设计
1.用户登入表:(user_login_table)
字段
数据类型
是否为空
说明
Userno
Number(11)
primary key
用户名
Password
Varchar2(11)
Not null
密码
Usertype
Varchar2(10)
Not null
用户类型
其中用户账号为(教师号,素导号,学生号和管理员号码);
2.宿舍表(dorm_table)
字段
数据类型
是否为空
说明
S_dormno
Varchar2(10)
primary key
宿舍编号
S_dormmanager
Varchar2(10)
Not null
管理员
3.学院表(dept_table)
字段
数据类型
是否为空
说明
S_deptno
Number(2)
primary key
学院编号
S_deptname
Varchar2(20)
Not null
学院名称
S_president
Varchar2(8)
Not null
院长
学院表中的学院名定义为唯一(unique)和不空(not null),防止输入相同。
4.素导表(sudao_table)
字段
数据类型
是否为空
说明
S_sudaono
Number(11)
primary key
素导编号
S_sudaoname
Varchar2(8)
Not null
素导姓名
S_sex
Varchar2(2)
Not null
素导性别
S_deptno
Number(2)
Foreign key
学院编号
素导编号:学院号+身份证六位号。
5.班级表(class_table)
字段
数据类型
是否为空
说明
S_classno
Number(8)
primary key
班级编号
S_classname
Varchar2(20)
Not null
班级名称
S_sudaono
Number(11)
Foreign key
素导编号
班级表中的班级名定义为唯一(unique)和不空(not null),防止输入相同
6.专业表(major_table)
字段
数据类型
是否为空
说明
S_majorno
Number(4)
primary key
专业编号
S_majorname
Varchar2(20)
Not null
专业名
S_majortype
Varchar2(4)
Not null
专业类别
S_deptno
Number(2)
Foreign key
学院编号
专业表中的专业名定义为唯一(unique)和不空(not null),防止输入相同。
7.学生基本信息表:(s_b_info)
字段
数据类型
是否为空
说明
S_no
Number(11)
primary key
学号
S_name
Varchar2(8)
Not null
姓名
S_sex_
Varchar2(2)
Not null
性别
S_age
Number(3)
Not null
年龄
S_phonenumber
Number(11)
Not null (unique)
学生电话
S_ID
Number(18)
Not null (unique)
身份证号
S_politics_status
Varchar2(4)
Not null
政治面貌
S_ entrance_score
Number(4.1)
Not null
入学成绩
S_picture
Blob(30000)
学生照片
S_classno
Number(10)
Foreign key
班级编号
S_dormno
Varchar2(10)
Foreign key
宿舍编号
S_majorno
Number(4)
Foreign key
专业编号
班级编号是:专业号(学院号+专业代号)+年级号+班号,我们学院的号码是:42,专业代号:25,年级号:09,班号:01
学生基本信息表中的学生电话号码、学生身份证号码定义为唯一(unique)和不空(not null),防止输入错误。
8.父母表(social_table)
字段
数据类型
是否为空
说明
P_name
Varchar2(10)
Not null
家长姓名
P_phonenumber
Number(11)
Not null
家长联系电话
P_address
Varchar2(50)
Not null
家庭住址
S_no
Number(11)
Foreign key
学号
父母表中的父母电话定义为唯一(unique)不空(not null),防止系统中输入错误。
9.课程表(course_table)
字段
数据类型
是否为空
说明
C_no
Number(11)
primary key
课程号
C_name
Varchar(20)
Not null
课程名
课程表总的课程名是唯一的并且不为空,定义一个Unique约束和not null不为空的约束,防止输入重复的课程名和空值。
课程号:学院编号+年级号+代号
10.成绩表(score_table)
字段
数据类型
是否为空
说明
S_no
Number(11)
Not null
学号
C_no
Number(11)
Not null
课程号
S_score
Number(3)
Not null
成绩
S_point
Number(5,2)
Not null
学分
11.教师表(teacher_table)
字段
数据类型
是否为空
说明
Teacher_no
Number(11)
primary key
教师号
Teacher_name
Varchar2(8)
Not null
教师名
Teacher_sex
Varchar2(2)
Not null
教师性别
Teacher_picture
Blob
教师照片
Teacher_note
Varchar2(1200)
教师简介
S_deptno
Number(2)
Foreign key
学院编号
12.讲授表(teach_table)
字段
数据类型
是否为空
说明
C_no
Number(11)
Not null
课程号
Teacher_no
Number(11)
Not null
教师号
Teach_test
Varchar(4)
Not null
教授情况
2.数据库的索引
我们对学生基本信息表(s_b_info)建立以s_age为索引列的索引。
3. 数据库的视图
3.1.创建一个查询学校每个专业的人数的视图。
3.2.创建一个查询学校每个班级最高分人的班级名,该生姓名,性别,分数的视图:
4.文件位置
4.1数据库中数据文件的存取路径
4.2控制文件的存取路径
4.3日志文件的存取路径
4.4参数文件的存取路径
F:\oracle\product\10.2.0\db_2\database\ initorcl.ora;
F:\oracle\product\10.2.0\db_2\dbs\ SPFILEORCL.ORA;
三、 数据库实现
3.1.表空间
表空间的创建(注意:数据表空间和索引表空间分别建立在不同磁盘上)
sqlplus sys/syspwd@student as sysdba;
--创建数据表空间
create tablespace data_student datafile'F:\oracle\product\student.dbf' size 20M reuse
extent management local autoallocate segment space management auto;
--创建索引表空间
create tablespace my_index datafile'F:\oracle\product\my_index.dbf'size 10M reuse
extent management local autoallocate segment space management auto;
3.2 数据表
1.数据表的创建,注意要有表中的约束的定义,以及表间的约束的定义。
1.用户登入表:
create table user_login_table(
userno number(11) not null,
password varchar2(11) not null,
usertype varchar2(10) not null);
--constraint u_unique_userno unique(userno));
2.宿舍表:
create table dorm_table(
s_dormno varchar2(10) primary key,
s_dormmanager varchar2(10) not null);
3.学院表:
create table dept_table(
s_deptno number(2) primary key,
s_deptname varchar2(20) not null,
s_president varchar2(8) not null,
constraint s_unique_deptname unique(s_deptname));
4.素导表:
create table sudao_table(
s_sudaono number(11) primary key,
s_sudaoname varchar2(8) not null,
s_sex varchar2(2) check(s_sex in('男','女')),
s_deptno number(2),
constraint s_fk_deptno foreign key(s_deptno)
references dept_table(s_deptno));
5.班级表:
create table class_table(
s_classno number(8) primary key,
s_classname varchar2(20) not null,
s_sudaono number(11) ,
constraint s_fk_sudaono foreign key(s_sudaono)
references sudao_table(s_sudaono),
constraint class_unique_classname unique(s_classname));
6.专业表:
create table major_table (
s_majorno number(4) primary key,
s_majorname varchar2(20) not null,
s_majortype varchar2(4) not null,
s_deptno number(2),
constraint s_fk_deptno1 foreign key(s_deptno)
references dept_table(s_deptno),
constraint major_unique_majorname unique(s_majorname));
7.学生基本信息表:
create table s_b_info(
s_no number(11) primary key,
s_name varchar2(8) not null,
s_sex varchar2(2) check(s_sex in('男','女')),
s_age number(3) not null,
s_phonenumber number(11) not null,
s_id varchar2(18) not null,
s_politics_status varchar2(4) not null,
s_entrance_score number(4,1) not null,
s_picture blob ,
s_classno number(8) ,
s_dormno varchar2(10) ,
s_majorno number(4) ,
constraint s_fk_s_classno foreign key(s_classno)
references class_table(s_classno),
constraint s_fk_s_dormno foreign key(s_dormno)
references dorm_table(s_dormno),
constraint s_fk_s_majorno foreign key(s_majorno)
references major_table(s_majorno),
constraint s_unique_phonenumber unique(s_phonenumber),
constraint s_unique_id unique(s_id));
8.父母表:
create table social_table(
p_name varchar2(20) not null,
p_phonenumber number(11) not null,
s_address varchar2(200) not null,
s_no number(11),
constraint s_fk_no foreign key(s_no)
references s_b_info(s_no) on delete cascade,
constraint p_unique_phonenumber unique(p_phonenumber));
9.课程表:
create table course_table(
c_no number(11) primary key,
c_name varchar2(20) not null,
constraint c_unique_name unique(c_name));
10.成绩表:
create table score_table(
s_no number(11) ,
c_no number(11) ,
s_score number(3) not null,
s_point number(5,2) not null,
constraint score_fk_s_no foreign key(s_no)
references s_b_info(s_no) on delete cascade,
constraint score_fk_s_cno foreign key(c_no)
references course_table(c_no) on delete cascade,
constraint score_pk_s_no_c_no primary key(s_no,c_no));
11.教师表:
create table teacher_table(
teacher_no number(11) primary key,
teacher_name varchar2(8) not null,
teacher_sex varchar2(2) check(teacher_sex in('男','女')),
teacher_picture blob,
teacher_note varchar2(1200),
s_deptno number(2) ,
constraint s_fk_deptno2 foreign key(s_deptno)
references dept_table(s_deptno));
12.讲授表:
create table teach_table(
c_no number(11),
teacher_no number(11) ,
teach_test varchar2(4) not null,
constraint teach_fk_c_no foreign key(c_no)
references course_table(c_no) on delete cascade,
constraint teach_fk_teacher_no foreign key(teacher_no)
references teacher_table(teacher_no) on delete cascade,
constraint teach_pk_c_no_teach_no primary key(c_no,teacher_no));
2.表中数据的插入(每张表中至少要有10条数据)
1.用户登入表:
insert into user_login_table values(20094225040,'20094225040','学生');
insert into user_login_table values(20094224041,'20094224041','学生');
insert into user_login_table values(20093821040,'20093821040','学生');
insert into user_login_table values(20093822041,'20093822041','学生');
insert into user_login_table values(20093911040,'20093911040','学生');
insert into user_login_table values(20093921041,'20093921041','学生');
insert into user_login_table values(20094021040,'20094021040','学生');
insert into user_login_table values(20094022041,'20094022041','学生');
insert into user_login_table values(20094121040,'20094121040','学生');
insert into user_login_table values(20094122041,'20094122041','学生');
2.宿舍表:
insert into dorm_table values('西八-435','张三');
insert into dorm_table values('西八-465','张三');
insert into dorm_table values('西五-211','李四');
insert into dorm_table values('西五-221','李四');
insert into dorm_table values('西七-232','王五');
insert into dorm_table values('西七-253','王五');
insert into dorm_table values('西四-262','唐六');
insert into dorm_table values('西四-273','唐六');
insert into dorm_table values('西八-333','王五');
insert into dorm_table values('西八-444','王五');
3.学院表:
insert into dept_table values(38,'商学院','赵1');
insert into dept_table values(39,'文法学院','赵2');
insert into dept_table values(40,'外语学院','赵3');
insert into dept_table values(41,'城市建设学院','赵4');
insert into dept_table values(42,'信息工程学院','李超峰');
4.素导表:
insert into sudao_table values(38111111,'张菲菲','女',38);
insert into sudao_table values(38222222,'李岩','男',38);
insert into sudao_table values(39333333,'赵玉','女',39);
insert into sudao_table values(39444444,'王铁林','男',39);
insert into sudao_table values(40555555,'郭小达','男',40);
insert into sudao_table values(40666666,'李大春','男',40);
insert into sudao_table values(41777777,'代春雷','男',41);
insert into sudao_table values(41888888,'徐美','女',41);
insert into sudao_table values(42999999,'陈梅','女',42);
insert into sudao_table values(42888999,'达尼','男',42);
5.班级表:
insert into class_table values(38210901,'物流管理0901',38111111);
insert into class_table values(38220901,'工商管理0901',38222222);
insert into class_table values(39110901,'酒店管理0901',39333333);
insert into class_table values(39210901,'法学0901',39444444);
insert into class_table values(40210901,'英语0901',40555555);
insert into class_table values(40220901,'日语0901',40666666);
insert into class_table values(41210901,'土木工程0901',41777777);
insert into class_table values(41220901,'建筑学0901',41888888);
insert into class_table values(42250901,'软件工程0901',42999999);
insert into class_table values(42240901,'网络工程0901',42999999);
6.专业表:
insert into major_table values(3821,'物流管理','本科',38);
insert into major_table values(3822,'工商管理','本科',38);
insert into major_table values(3911,'酒店管理','专科',39);
insert into major_table values(3921,'法学','本科',39);
insert into major_table values(4021,'英语','本科',40);
insert into major_table values(4022,'日语','本科',40);
insert into major_table values(4121,'土木工程','本科',41);
insert into major_table values(4122,'建筑学','本科',41);
insert into major_table values(4225,'软件工程','本科',42);
insert into major_table values(4224,'网络工程','本科',42);7.学生基本信息表:
7.学生基本信息表:
insert into s_b_info values(20094225040,'赵王','男',22,13397140842,420115198906012839,'团员',478,'0101',42250901,'西八-435',4225);
insert into s_b_info values(20094224041,'李连','男',21,13497140842,420115199008012849,'团员',488,'1100',42240901,'西八-465',4224);
insert into s_b_info values(20093821040,'浩二','男',24,13397140942,420115198706012139,'团员',468,'1110011',38210901,'西五-211',3821);
insert into s_b_info values(20093822041,'李兰','男',22,13397240842,420115198906012439,'团员',498,'011011',38220901,'西五-221',3822);
insert into s_b_info values(20093911040,'赵三','男',19,13397150842,420115199206012839,'团员',458,'0101',39110901,'西七-232',3911);
insert into s_b_info values(20093921041,'王思','男',22,13397140742,420115198905012840,'团员',448,'01100011',39210901,'西七-253',3921);
insert into s_b_info values(20094021040,'赵思','男',20,15397140842,420115199106012843,'团员',478,'0011010',40210901,'西四-262',4021);
insert into s_b_info values(20094022041,'锡康','男',21,13897140842,420115199006012852,'团员',483,'0101011',40220901,'西四-273',4022);
insert into s_b_info values(20094121040,'王名','男',22,15439714082,420115198909013039,'团员',478,'000011',41210901,'西八-333',4121);
insert into s_b_info values(20094122041,'王盖','男',22,16397140842,420115198909063839,'团员',465,'001111110',41220901,'西八-444',4122);
8.父母表:
insert into social_table values('赵大王/王珍',15222222222,'北京…',20094225040);
insert into social_table values('李大连/王梅',15333333333,'天津…',20094224041);
insert into social_table values('浩大二/王清',15444444444,'武汉…',20093821040);
insert into social_table values('李大兰/王敏',15555555555,'成都…',20093822041);
insert into social_table values('赵大三/王艳',15666666666,'北京…',20093911040);
insert into social_table values('王大思/王小倩',15777777777,'北京…',20093921041);
insert into social_table values('赵大思/王美丽',15888888888,'杭州…',20094021040);
insert into social_table values('锡大康/王梅',15999999999,'北京…',20094022041);
insert into social_table values('王大名/王燕儿',15333444555,'北京…',20094121040);
insert into social_table values('王大盖/王小珍',15444555666,'北京…',20094122041);
9.课程表:
insert into course_table values(420901,'数据库');
insert into course_table values(420902,'计算机网络');
insert into course_table values(380901,'物流概论');
insert into course_table values(380902,'工商导论');
insert into course_table values(390901,'酒店概论');
insert into course_table values(390902,'法学应用');
insert into course_table values(400901,'英语1');
insert into course_table values(400902,'日语1');
insert into course_table values(410901,'测量学');
insert into course_table valu
展开阅读全文