数据库上机 能使用 Oracle 进行示例数据库的设计。掌握 Oracle

2019-06-17 09:12

【一】上机实验内容及要求

实验要求: 能使用 Oracle 进行示例数据库的设计。掌握 Oracle 函数、存储过程、触发器、视图的使用方法。 实验内容:

Oracle 实例数据库系统 ---------- 招生录取系统

通过对这一系统的模拟,我们可以比较全面地应用前面所学的知识和技能,并提高使用 Oracle 数据库技术解决实际问题的能力。 一、基本需求分析 1 、院校

院校应提供招生的要求,如招生的人数、最低录取分数线以及对考生的其他条件的限制。院校需要在录取结束后查询院校的录取名单。 2 、招生部门

招生部门要收集和整理考生信息,建立考生信息库和院校信息库。考生信息库用于存取考生的基本信息,包括考生的高考成绩和报考志愿;院校信息库用于存取院校的基本信息和招生信息。 招生部门通过数据库中的院校信息和考生信息,由相应的数据库应用程序来完成一系列的数据加工处理过程,其中最主要的就是投档录取过程。所谓投档,就是把满足院校要求的考生档案信息发送给院校,由院校审查档案后决定考生的录取与否。为了简化录取过程,我们由系统投档程序来完成考生的录取工作,一旦考生满足院校招生条件,即视为被录取。被录取的考生,在数据库中要标识成录取状态,并记录录取院校的信息,在院校信息库中要回填录取人数的有关信息。 在录取过程中或录取结束后,招生部门要进行查询和统计,主要是在录取结束后统计所有院校的招生情况。 3 .考生

考生在录取过程中需要查询其高考分数和录取状态。 二、功能分析设计

系统完成的主要功能有数据录入、投档和查询统计。 ( 1 )数据录入

数据录入要完成院校和学生信息表的数据输入及修改工作。

在本系统中,为了完成录取的模拟,可以虚拟 10 所院校,给出院校的基本信息和招生要求;虚拟至少 50 名考生,给出考生的基本信息以及考试成绩,并为每个考生填报 2 个院校志愿 ( 一志愿和二志愿 ) 。为了简化数据录入,可直接由 SQL 语句或其他工具完成,比如可以使用 PL/SQL Developer 工具来完成。 2 .投档

招生录取的原则是:一志愿要求优先录取,一志愿全部录取完毕后,才能开始二志愿的录取;二志愿录取对没有达到计划招生人数的院校进行补充录取。

根据以上原则,投档可分为一志愿投档和二志愿投档。一志愿投档是根据院校编号完成对一个学校的一志愿投档的;二志愿投档是根据院校编号完成对一个学校的二志愿投档的,二志愿投档应该在一志愿投档完成以后进行。一次完成全部院校的投档称为自动投档。自动投档一次完成对所有院校的一志愿或二志愿投档。如果使用自动投档,只需为一志愿和二志愿分别投档一次,即完成投档过程。作为补充,可以设计一个调剂投档功能,对一、二志愿没有被录取的考生,如果存在没有招满的院校,补充录取同意调剂的考生。 3 、查询统计

在投档过程中或投档结束之后,根据院校编号显示院校的录取结果,即录取考生按分数排序的名单,同时应该显示考生的分数、录取的志愿等信息。

在录取结束之后,按院校的录取平均分数排名,显示所有院校的招生统计信息。 三、账户的创建和授权

在开发之前,要为新的应用创建模式账户,并授予必要的权限,以便创建表和其他数据库对象。为了能够创建账户和授权,必须使用具有足够权限的管理账户,可使用系统管理员账户来创建新的应用账户。 步骤 1 :创建账户:

SQL> create user student identified by student default tablespace users ; 步骤 2 :授予用户权限。 连接数据库权限:

SQL> grant connect to student; 创建表权限:

SQL> grant create table to student; 创建视图权限:

SQL> grant create view to student; 创建序列权限:

SQL> grant create sequence to student; 创建同义词权限:

SQL> grant create synonym to student; 创建存储过程、函数权限:

SQL> grant create procedure to student; 创建触发器权限:

SQL> grant create trigger to student; 表空间使用权限:

SQL> grant unlimited tablespace tostudent; 步骤 3 :使用新账户登录: SQL> connect student/student

至此,已经做好了使用 student 账户进行开发的准备。 四、表和视图的设计和实现 1 、院校信息表 (1) 院校信息表结构设计 名称: college 字段结构如表 1 所示。

表 1 院校信息表 college 的结构

字段含义说明 :

院校编号:为该表的主键,是从 1001 开始的 4 位数。 院校名称:院校的全称,必须填写。

录取分数线:是院校确定的考生最低录取分数线,低于录取分数线的考生不能被录取。 招生人数:是院校计划招生的人数。

录取人数:在某院校录取过程中回填的已经被录取的一、二志愿人数的和。当录取人数等于招生人数时录取结束。

有关数值型数据的范围限定可以通过添加约束条件实现。 (2) 、表的创建

使用以下脚本创建院校信息表 COLLEGE :

SQL>create table college( 院校编号 number(4) primary key, 院校名称 varchar2(30) not null,

录取分数线 number(3) check( 录取分数线 between 300 and 700), 招生人数 number(3) check( 招生人数 <=10), 录取人数 number(3) default 0 );

(3) 、数据的插入

使用以下脚本插入虚拟的 10 所院校数据: SQL>begin

insert into college values(1001,' 清华大学 ',620,5,0); insert into college values(1002,' 北京大学 ',600,4,0); insert into college values(1003,' 武汉大学 ',550,6,0); insert into college values(1004,' 华南理工大学 ',530,3,0); insert into college values(1005,' 复旦大学 ',580 , 4,0); insert into college values(1006,' 中山大学 ',560,5,0); insert into college values(1007,' 华中科技大学 ',520,4,0); insert into college values(1008,' 暨南大学 ',510,3,0);

insert into college values(1009,' 东北大学 ',500,6,0); insert into college values(1010,' 湘潭大学 ',450,8,0); end;

SQL>commit;

注意:插入的数据如果违反约束条件就会发生错误。 (4) 、检查插入的数据 SQL>select * from college; 2. 学生信息表

(1) 、学生信息表的设计 字段结构如表 2 所示 :

表 2 学生信息表 student 的结构

字段含义说明 :

编号:为该表主键,是从 10001 开始的 5 位数值,可以使用序列自动填充。 学生性别:只能是 1 或 2 , 1 代表男, 2 代表女,使用约束条件控制。 总分:为高考的总分数,约束条件是小于等于 700 分,假定满分为 700 分。

同意调剂:默认值为 0 ,表示不同意调剂,值为 1 代表同意调剂。同意调剂的考生,在一志愿、二志愿录取结束后,可以参加调剂录取。 (2) 、表的创建

以下脚本创建考生信息表 student : SQL> create table student( 编号 number(5) primary key, 姓名 varchar2(15) not null,

性别 varchar2(1) check( 性别 in('1','2')),


数据库上机 能使用 Oracle 进行示例数据库的设计。掌握 Oracle.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:java第二课知识介绍

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: