课程设计开发步骤参考示例

上传人:第*** 文档编号:33707612 上传时间:2018-02-17 格式:DOC 页数:18 大小:124KB
返回 下载 相关 举报
课程设计开发步骤参考示例_第1页
第1页 / 共18页
课程设计开发步骤参考示例_第2页
第2页 / 共18页
课程设计开发步骤参考示例_第3页
第3页 / 共18页
课程设计开发步骤参考示例_第4页
第4页 / 共18页
课程设计开发步骤参考示例_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《课程设计开发步骤参考示例》由会员分享,可在线阅读,更多相关《课程设计开发步骤参考示例(18页珍藏版)》请在金锄头文库上搜索。

1、一个简化的“招生录取系统”的实现过程以下是实现这个系统的开发参考步骤:第一步内容:在 Oracle 平台下创建开发所用数据库使用 DBCA 创建一个数据库,如 Enrollment_DB第二步内容:创建系统所需表空间(1)创建用户数据表空间(一个或多个)(2)创建索引表空间(一个或多个)(3)创建回滚表空间(根据需要决定是否创建)(4)创建用户临时表空间(根据需要是否决定创建)第三步内容:创建用户并授权在开发之前,要为新的应用创建模式账户,并授予必要的权限,以便创建表和其他数据库对象。为了能够创建账户和授权,必须使用具有足够权限的管理账户,可使用系统管理员帐户来创建新的应用账户。1、创建账户C

2、reate user studentIdentified by studentDefault tablespace testDefault temporary tablespace temp_test;2、授予用户权限(1)连接数据库权限Grant connect to student;(2)创建表权限Grant create table to student;(3)创建视图权限Grant create view to student;(4)创建序列权限Grant create sequence to student;(5)创建同义词权限Grant create synonym to stud

3、ent;(6)创建存储过程、函数权限Grant create procedure to student;(7)创建触发器权限Grant create trigger to student;(8)表空间使用权限Grant unlimited tablespace to student;(9)使用新账户登录Connect student/student mydb;至此,已经做好了使用 student 账户进行开发的准备。第四步内容:创建数据表有院校信息表 college 和学生信息表 student。院校信息表 college 的结构字段名称 类型 宽度 约束条件 简要说明院校编号 Number

4、4 主键 院校的编号院校名称 Varchar2 30 不允许为空 院校的名称录取分数线 Number 3 在 300-700 之间 院校最低录取控制分数线招生人数 Number 3 0 thendbms_output.put_line(院校|p_yxbh|已存在);elseinsert into collegevalues(P_yxbh,P_yxmc,P_lqfsx,P_zsrs,0);commit;dbms_output.put_line(院校|p_yxmc|已插入成功);end if;exceptionwhen others thendbms_output.put_line(院校|p_yx

5、mc|插入失败);end;(2)执行该存储过程。execute input_college(1011,吉林大学,570,5600);(3)执行结果:说明:如果院校编号已经存在,则提示不能插入,通过存储过程插入考生,可以正确显示插入过程的错误信息。下同。三、包的创建(根据需要,考虑是否需要创建包)四、触发器的设计通过触发器可以为数据提供进一步的保护。下面设计两种常见类型的触发器。1、分数修改触发器如果要自动记录对数据库的数据进行的某些操作,可以通过创建触发器来实现。在考生数据库中,高考的分数字段的内容十分重要,是录取的最重要依据,应该正确设置对其进行操作的权限,并做好操作的记录。权限可以通过高定

6、特定的帐户进行控制,记录操作可以通过触发器来实现。通过触发器来记录对考生表高考分数字段的插入、删除和修改操作,记录的内容可以包括:操作时间、操作人帐户、执行的操作、考生编号、原分数和修改后的分类,以上内容记录到表 Operation_log。表 1-3: Operation_log 表的结构字段名称 类型 宽度 约束条件 简要说明序号 Number 10 主键 记录编号,从 1 开始递增,取自序列帐户 Varchar215 不允许为空 操作人帐户时间 Date 操作时间,取自 sysdate操作 Varchar210 操作种类考生编号 Number 5 考生编号原分数 Number 3 修改前

7、的分数新分数 number 3 修改后的分数(1)创建如下的记录表create table operation_logsOperation_log( 序号 number(10) primary key,账户 varchar2(15) not null,时间 date, 操作 varchar2(10),考生编号 number(5),原分数 number(3),新分数 number(3);(2)创建一个个主键序列 operation_idcreate sequence operation_idincrement by 1start with 1maxvalue 9999nocyclenocache

8、(3)创建和编译触发器create or replace trigger operationbeforedelete or insert or update of 总分on studentfor each rowbeginif inserting theninsert into operation_logsvalues(operation_id.nextval,USER,sysdate,插入,:NEW.编号,NULL,:NEW.总分);elsif deleting theninsert into operation_logsvalues(operation_id.nextval,USER,sy

9、sdate,删除,:OLD.编号,:OLD.总分,NULL);elseinsert into operation_logs values(operation_id.nextval,USER,sysdate,修改,:OLD.编号,:OLD.总分,:NEW.总分);end if;end;2、级联修改触发器还可以创建级联修改触发器 update_college,以实现如下功能:当修改院校的编号时,自动修改学生表中与院校编号关联的字段内容。学生表共有 3 个字段与院校编号关联,即一志愿、二志愿和录取院校create or replace trigger update_collegeafterupdat

10、e of 院校编号on collegefor each rowbeginupdate student set 一志愿=:NEW.院校编号 where 一志愿=:OLD.院校编号 ;update student set 二志愿=:NEW.院校编号 where 二志愿=:OLD.院校编号 ;update student set 录取院校=:NEW.院校编号 where 录取院校=:OLD.院校编号 ;end;系统的测试和运行(需要显示出结果)通过系统的模拟运行,可以检验模块的正确性。在系统运行过程中,也要通过查询的方法跟踪检查系统的状态和数据。一、 运行准备通过在 SQL *PLUS 环境中使用

11、SQL 语句可以进行多种查询,来辅助录取过程获得信息。如果有必要的话,查询也可以设计成为存储过程,存储在数据库中,并可以进行调用。在这里,比较复杂不能通过 SQL 语句实现的查询或统计将通过存储过程或函数来实现,直接使用查询是进行测试的一种很好的方法,在这里也列出了一些可能用到的查询。1、 按姓名进行模糊查询查找姓王的考生:select 编号 ,姓名,性别,总分 from student where 姓名 like 王%;2、 按分数或分数段进行查询查询分数在 600650 分之间的考生:select 编号 ,姓名,性别,总分 from student where 总分600 and 总分65

12、0;3、 查询分数最高的考生查询总分最高的考生:select 编号 ,姓名,性别,总分 from student where 总分=(select max(总分 ) from student);4、 查询分数最高的考生报考的院校查询分数最高的考生一志愿报考的院校:select 编号 ,姓名,性别,总分, 院校名称 from student s ,college c where s.一志愿=c.院校编号 and s.总分=(select max(总分 ) from student);5、 查询考生分数查询考生分数:execute show_score(10005);6、 查询招生人数最多的院校查

13、询招生人数最多的院校:Select 院校名称, 招生人数 FROM COLLEGE WHERE 招生人数 =(select Max(招生人数) From COLLEGE);7、检查 operation 触发器的记录select * from operation_logs;二、投档过程1、初始化初始化程序为:set serveroutput on size 10000exec clearstatus;2、一志愿自动投档exec autoproc(1);3、查考生录取状态exec show_result(10005);4、二志愿自动投档exec autoproc(2);5、查询录取情况视图sele

14、ct * from status;三、统计报表1、院校录取考生列表显示深圳职业技术学院的录取考生列表,并按成绩排序exec student_list(1010);2、招生情况统计显示按平均分降序排列的招生情况统计表:exec college_total;四、结果分析系统招生录取过程中和结束后,应该对系统数据进行分析,检查是否存在投档错误,避免造成损失。如果发现问题,则要重新投档。检查没有被录取的考生一志愿报考的院校:select 编号 ,姓名,总分,院校名称 from student s,college c where s.一志愿=c.院校编号 and s. 录取志愿 IS NULL orde

15、r by 总分 DESC;结果分析:排在后面的考生因为分数不够(低于最低的录取分数线 450 分)不能被录取,最前面考生要对其进行检查(以第一个考生 10045 为例)select * from student where 编号=10045;先检查一志愿的情况:select * from college where 院校编号=1005;如果第一志愿落选,继续检查二志愿情况:select * from college where 院校编号=1007;如果该考生达到了二志愿录取分数线而没有被录取,继续检查该考生为什么没有被二志愿录取。Select 编号, 姓名, 总分,录取志愿 FROM student Where 录取院校对=1007 order by 总分析DESC;五、系统改进至此完成了高校招生模拟的全部工作。该系统在以下方面还有待改进:1、 可按照模块功能以包的形式对模块进行分类,比如可以分为投档包、查询包和公用包。2、 可以设立多个应用帐户,通过授予不同的系统权限对象及包的访问权限,来限定对数据的访问和操作。3、 进一步完成调剂投档的程序。这里给出的是在进行课题设计时数据库开发部分的开发步骤和内容的参考示例。但在书写这一部分的说明书时,有结果显示的必须列出相应显示结果,并对结果进行分析说明。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号