研究生招生管理系统数据库设计.docx

上传人:b****2 文档编号:14542740 上传时间:2023-04-23 格式:DOCX 页数:18 大小:566.74KB
下载 相关 举报
研究生招生管理系统数据库设计.docx_第1页
第1页 / 共18页
研究生招生管理系统数据库设计.docx_第2页
第2页 / 共18页
研究生招生管理系统数据库设计.docx_第3页
第3页 / 共18页
研究生招生管理系统数据库设计.docx_第4页
第4页 / 共18页
研究生招生管理系统数据库设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

研究生招生管理系统数据库设计.docx

《研究生招生管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《研究生招生管理系统数据库设计.docx(18页珍藏版)》请在冰豆网上搜索。

研究生招生管理系统数据库设计.docx

研究生招生管理系统数据库设计

 

 

一、需求分析

1.1需求概述

在经济增速放缓的大背景下,2015年中国的就业形势将更加复杂,也将更为严峻。

2015年高校毕业生将达749万,经调查,大约有28%的考生奔着继续深造的目的而选择考研。

这部分同学认为读研一方面可以锻炼自身专业素质,帮助自己打造专业“核心竞争力”,从而在职场上取得优势,谋得高薪工作或者在专业领域继续深造,获得非凡的专业成就。

从目前的大形势来看,随着我们国家的快速发展以及高等教育的普及,社会对个人学识的要求会逐步提高。

广大学生需进一步增强信心,打好基础,继续深造选择考研。

因此,针对众多报考研究生人员繁琐的数据管理问题,研究生招生管理系统具有安全、友好、易用、全面的特点,同时具有良好的稳定性和兼容性。

近几年来,研究生招生管理系统不断完善,但是仍有许多突出问题有待去解决,本系统解决许多当前突出问题,具有备份机制良好,操作模式简洁,快速响应各模块功能,详细提供了一个准确、清晰、轻松的成绩管理环境,实现对报名学生的高效率、高质量管理。

1.2功能简介

能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。

具体功能应包括:

系统应该提供对考生数据的插入、删除、更新、查询。

例如:

1.查询考生编号为1的姓名

2.查询考生的专业名称,录取分数线,总成绩

3.查询报考土木的考生的考生编号,姓名

二、数据库概念结构设计

2.1确定联系集及E-R图

根据前面对系统进行的分析,已经初步了解了研究生招生管理系统的数据处理流程,找出与系统有关的各个实体及其相互联系如下:

①、标示实体集:

四个关系:

学校,考生,成绩,专业

②、标示联系集:

学校和专业:

一个学校由多个专业组成

存在“归属”的关系:

N:

1

考生和专业:

一个专业可以录取多个考生

存在“录取”的关系:

1:

N

考生和成绩:

一个考生拥有一份成绩单

存在“拥有”的关系:

1:

1

③、标示属性集:

学校(院校编号,学校名称)

成绩(成绩编号,政治,英语,数学,专业科目,总成绩)

考生(考生编号,姓名,性别,年龄,成绩编号,专业编号)

专业(专业编号,专业名称,录取分数线,院校编号)

2.2画出E-R图

学校信息图如下:

 

图2-2-1学校实体集的E-R图

成绩信息图如下:

 

 

 

图2-2-2成绩实体集E-R图

考生信息图如下:

 

 

图2-2-3考生实体集E-R图

专业信息图如下:

 

图2-2-4专业实体集E-R

2.3研究生招生管理系统总E-R图

根据上面对实体联系的分析,可以画出E-R图如下:

 

 

 

1

 

图2-2-5研究生招生管理系统总E-R图

三、数据库逻辑设计

逻辑结构是独立于任何一种数据模型的信息结构。

逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

设计学生成绩管理数据库,包括学校、成绩、考生、专业四个关系,其关系模式中对每个实体定义的属性如下:

学校信息表

学校(院校编号,学校名称)

成绩信息表

成绩(成绩编号,政治,英语,数学,专业科目,总成绩)

考生信息表

考生(考生编号,姓名,性别,年龄,成绩编号,专业编号)

专业表

专业(专业编号,专业名称,录取分数线,院校编号)

设计出E-R图后,可将E-R图转换为数据库模式。

本系统建立的数据库为“yy”,运行本系统时在库中所建立的表分别介绍如下:

3.1学校信息表(School)

字段名

别名

数据类型

字段限制

院校编码

sid

number(10)

Primarykey

学习名称

sname

varchar2(10)

Notnull

3.2成绩信息表(Grade)

字段名

别名

数据类型

字段权限

成绩编号

gid

number(10)

Primarykey

政治

politics

number(10)

Notnull

英语

english

number(10)

Notnull

数学

math

number(10)

Notnull

专业科目

procourse

number(10)

Notnull

总成绩

allgrade

number(10)

Notnull

3.3考生信息表(Examinee)

字段名

属性

数据类型

字段权限

考生编号

eid

number(10)

Primarykey

姓名

ename

varchar2(10)

Notnull

性别

esex

char

(2)

Notnull

年龄

esage

number

(2)

Notnull

成绩编号

gid

number(10)

foreignkey

专业编号

proid

number(10)

foreignkey

3.4专业表(Profession)

字段名

属性

数据类型

字段权限

专业编号

proid

number(10)

Primarykey

专业名称

proname

varchar2(10)

Notnull

录取分数线

scoreline

number(10)

Notnull

院校编号

sid

number(10)

foreignkey

四、建表

4.1创建数据库

先安装数据库oracle,并在安装时输入动态口令并记住。

然后快捷键window+R,并在打开出输入cmd进入oracle操作界面

然后输入sql回车

system/动态口令,已经登陆进去,

sqlplussystem/yyassysdba

createusera007identifiedbya007;

grantconnect,resourcetoa007;

conna007/a007;

4.2创建数据表

一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。

数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。

创建数据表的过程其实就是定义字段的过程。

在此研究生招生管理系统中需要创建四个表,即学校信息表、成绩信息表、考生信息表和专业表。

创建数据库后,为yy数据库添加数据表,步骤如下。

新建查询窗口

在查询窗口中键入下列SQL语句

createtableschool(

sidnumber(10)primarykey,

snamevarchar2(10)

);

执行上述SQL语句即可创建学校信息表相关表格

Createtablegrade(

gidnumber(10)primarykey,

politicsnumber(10)check(politics>0andpolitics<100),

englishnumber(10)check(english>0andenglish<100),

mathnumber(10)check(math>0andmath<150),

procoursenumber(10)check(procourse>0andprocourse<150),

allgradenumber(10)

);

执行上述SQL语句即可创建成绩信息表相关表格

createtableexaminee(

eidnumber(10)primarykey,

enamevarchar2(10),

esexchar

(2),

esagenumber

(2),

gidnumber(10),

proidnumber(10),

foreignkey(gid)referencegrade(gid),

foreignkey(proid)referenceprofession(proid)

);

执行上述SQL语句即可创建考生信息表相关表格

createtableprofession(

proidnumber(10)primarykey,

pronamevarchar2(10),

scorelinenumber(10),

sidnumber(10),

foreignkey(sid)referenceschool(sid)

);

执行上述SQL语句即可创建专业表相关表格

insertintoschoolvalues(2201,'清华');

insertintoschoolvalues(2202,'北大');

insertintoschoolvalues(2203,'南大');

insertintoschoolvalues(2204,'昌大');

运行结果为:

insertintoprofessionvalues(1101,'土木',300,2202);

insertintoprofessionvalues(1102,'软件',310,2201);

insertintoprofessionvalues(1103,'机电',320,2204);

insertintoprofessionvalues(1104,'会计',315,2203);

运行结果为:

insertintogradevalues(3301,55,60,100,90,305);

insertintogradevalues(3302,60,60,90,80,290);

insertintogradevalues(3303,70,85,80,90,325);

insertintogradevalues(3304,70,50,110,100,330);

运行结果为;

insertintoexamineevalues(1,'小明','男',22,3301,1101);

insertintoexamineevalues(2,'小李','男',23,3303,1101);

insertintoexamineevalues(3,'小花','女',23,3302,1102);

insertintoexamineevalues(4,'小白','女',22,3304,1104);

程序运行结果如下:

五、数据库的运行和维护

5.1定义

基本表的创建、修改及删除;

5.1.1基本表的创建

createtableexaminee(

eidnumber(10)primarykey,

enamevarchar2(10),

esexchar

(2),

esagenumber

(2),

gidnumber(10),

proidnumber(10),

foreignkey(gid)referencegrade(gid),

foreignkey(proid)referenceprofession(proid)

);

5.1.2基本表的删除

Dropexaminee;

5.2数据操作

5.2.1单表查询

查询考生编号为1的姓名

selectenamefromexamineewhereeid=1;

运行结果为:

5.2.2连接查询

查询考生的专业名称,录取分数线,总成绩

selectproname,scoreline,allgradefromexaminee,profession,grade

whereexaminee.gid=grade.gidandprofession.proid=examinee.proid;

运行结果为:

5.2.3嵌套查询

查询,报考土木的考生的考生编号,姓名。

selecteid,enamefromexamineewhereproidin(selectproidfromprofessionwhereproname=土木);

运行结果为:

5.3数据库更新操作

5.3.1插入数据

向专业表中插入一数据

insertintoprofessionvalues(1105,'园艺',305,2203);

运行结果为:

5.3.2修改数据

修改小白的考生编号为8

updateexaminee

seteid='8'whereename='小白';

运行结果为:

5.3.3删除数据

删除编号为3的考生记录

deletefromexamineewhereeid='3';

运行结果为:

5.4数据库的安全性

所谓计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件,软件及数据,防止其偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。

为防止因用户非法使用数据库造成数据泄露、更改或破坏,必须采取一些安全性控制措施以保证数据库中数据的安全、可靠和正确有效。

安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。

主要采用用户标识及鉴定,使用用户名或用户标识号来标明用户身份。

用户想要对对数据库内容进行相关操作,必须申请一个用户名或用户标识号,每次登陆都必须输入该用户名以及相应正确的口令,然后系统对其进行验证,只有通过验证的用户方可对数据库进行操作。

5.5数据库的完整性

5.5.1实体完整性定义:

在考生成绩表grade中将gid定义为主码。

createtablegrade(

gidnumber(10)primarykey,

politicsnumber(10)check(politics>0andpolitics<100),

englishnumber(10)check(english>0andenglish<100),

mathnumber(10)check(math>0andmath<150),

procoursenumber(10)check(procourse>0andprocourse<150),

allgradenumber(10)

);

5.5.2参照完整性定义:

在考生表examinee中将gid、proid定义为外码。

createtableexaminee(

eidnumber(10)primarykey,

enamevarchar2(10),

esexchar

(2),

esagenumber

(2),

gidnumber(10),

proidnumber(10),

foreignkey(gid)referencegrade(gid),

foreignkey(proid)referenceprofession(proid)

);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1