已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生成绩管理系统数据结构设计文档学生成绩管理系统数据结构设计文档编制公司:编制项目组:编制人:罗春明版本:Version 1.0编制日期:2015-1-26修改日期:审核人:审定日期:目录1需求内容32设计思路43数据库环境准备53.1环境搭建53.2系统用户创建53.3数据库验证64数据结构设计84.1系统注册表84.2基本数据管理表104.3人员信息表124.4成绩表141 需求内容需求内容部分参考下面资料:/link?url=LNG41AMcr2XFj5nDAqBaCqb6J9JsnndF9mXh8YzP1fCGmCjHs0VV3CsNFHbRBiLrBZjNMvz0ovb_u4c8HIhXWyAddva4u1L8OyY0V78ZQh3#建立一个学生成绩管理系统,实现学生信息、老师信息、课程信息、成绩等录入功能是最基本的功能,并且需要支持这些信息之间的关联查询、成绩统计分析等其他较高级的功能。具体如下:1) 实现系统登录用户的管理,即:查询、增加、删除、用户名和密码的修改;2) 实现学生信息、教师信息、课程信息、成绩等信息的录入以及这些信息的查询、修改、新增、删除等操作;3) 可以统计某学生所选课程、课程平均成绩、班级排名等;4) 可以统计所有有不及格课程的学生的学号、姓名、全部课程的成绩、平均成绩;5) 输出所有平均分在90分以上(含90分)的学生学号、姓名;6) 对4门课程中的任何一门,可随意抽取1门按学生成绩进行排序。7) 2 设计思路根据对需求内容的分析,主要从以下几个方面进行数据结构的设计:1) 系统注册表,用来保存登录用户的信息;2) 基本数据管理表,含:年级与班级分类、课程信息、用户权限信息;3) 人员信息表,含:学生信息、教师信息;4) 成绩表,含:每个学生没门课程的成绩、每门课程对应的教师;3 数据库环境准备此需求的数据结构设计是基于Oracle数据库进行设计的,于此需要提前在windows操作系统上搭建好Oracle环境。具体信息如下:3.1 环境搭建1) Oracle使用的版本是Oracle 10g;2) 安装路径为:C:oracleproduct10.2.0;3) 数据库实例表空间路径为:C:oracleproduct10.2.0oradataorcl;4) 用管理员用户sys(密码为:lcm1982)登录数据库;3.2 系统用户创建用管理员用户登录数据库后,可以为“学生成绩管理系统”创建一个数据库用户xscj_manager(密码:xscj_ manager)并进行指定具体的临时表空间、用户表空间、授权等操作。具体如下:1) 创建临时表空间:CREATE TEMPORARY TABLESPACE XSCJ_MANAGE_TEMPTEMPFILE C:oracleproduct10.2.0oradataorclXSCJ_MANAGE_TEMP.dbfSIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 1024MEXTENT MANAGEMENT LOCAL;2) 创建用户表空间:CREATE TABLESPACE XSCJ_MANAGE_DATALOGGINGDATAFILE C:oracleproduct10.2.0oradataorclXSCJ_MANAGE.dbf SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;3) 创建用户并指定表空间:CREATE USER xscj_manager IDENTIFIED BY xscj_managerDEFAULT TABLESPACE XSCJ_MANAGE_DATATEMPORARY TABLESPACE XSCJ_MANAGE_TEMP;4) 用户授权:GRANT CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,ALTER ANY TABLE, ALTER ANY PROCEDURE,DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE TO xscj_manager;5) 角色授权:grant connect, resource to XSCJ_MANAGER;3.3 数据库验证创建完毕后,进行验证。具体如下:1) 登录验证:2) 用户信息:select username,default_tablespace,temporary_tablespace,created from user_users;3) 用户权限:SELECT username,privilege FROM USER_SYS_PRIVS;4) 用户角色:select username,granted_role from user_role_privs;4 数据结构设计在完成了上面准备工作后,可以开始具体的数据结构设计工作了。其设计思路部分参考下面资料:/view/8b3caad376eeaeaad1f330c4.html术语定义:1) 系统注册表定义:COMM_+表名;2) 基本数据管理表:BC_+表名;3) 人员信息表:P_+表名;4) 成绩表:SC_+表名。4.1 系统注册表1) 用户信息表:表名:COMM_USER描述:记录目前可以登录系统的用户信息、创建时间、最近更新时间等。表结构:字段类型是否可为空默认值备注USER_IDNUMBER(9)N用户ID,由序列USER_ID_SEQ产生USER_NAMEVARCHAR2(30)N用户名称USER_PRIVNUMBER(1)Y1用户权限,具体参见表CREATED_DATEDATEY创建时间MODIFY_DATEDATEY最近修改时间序列:create sequence USER_ID_SEQminvalue 100000001maxvalue 999999999start with 100000001increment by 1cache 20;2) 用户登录信息记录表:表名:COMM_LOGIN_LOG描述:记录每个用户登录系统的信息,含IP地址、登录时间、端口等。考虑到这表的记录会比较庞大,可以采用按月分区的方式进行建表。更新:考虑到初始建表不可能建好所有的分区,所以可以用一个JOB任务定时新增分区,即判断下个月的分区是否存在,不存在就新增。如下:declare job number;begin dbms_job.submit(job, declare str_sql varchar2(1000); billing_month number(6); part_name varchar2(30); cnt number(1); begin select to_number(to_char(add_months(sysdate,1),yyyymm) into billing_month from dual; select PART_|to_char(add_months(sysdate,1),yyyymm) into part_name from dual; str_sql := select count(1) from user_tab_partitions where partition_name = | part_name | ; execute immediate str_sql into cnt; if cnt =0 then str_sql := alter table comm_login_log add partition | part_name | values(|billing_month | ); execute immediate str_sql; end if; end;, sysdate, trunc(last_day(SYSDATE)+28+1/1440);end;验证执行结果:即在每月28日的1点执行。select log_user,priv_user,schema_user,last_date,last_sec,next_date from user_jobs;验证表结构:select table_name,partition_name from user_tab_partitions; 表结构:字段类型是否可为空默认值备注BILLING_MONTHNUMBER(6)N登录月份,为分区字段LOGIC_USER_IDNUMBER(9)N登录用户IDIPVARCHAR2(30)Y登录IP地址PORTNUMBER(9)Y登录端口LOGIC_IN_TIMEDATEY登录系统时间LOGIC_OUT_TIMEDATEY退出系统时间建表语句:create table COMM_LOGIN_LOG( BILLING_MONTH NUMBER(6) not null, LOGIC_USER_ID NUMBER(9) not null, IP VARCHAR2(30), PORT NUMBER(9), LOGIC_IN_TIME DATE, LOGIC_OUT_TIME DATE)partition by list (BILLING_MONTH)( partition PART_201501 values (201501);4.2 基本数据管理表1) 用户权限表:表名:BC_USER_PRIV描述:用来记录用户权限的分类,程序通过读取该表定义来赋予登录系统用户的对应权限。如某个用户只有查询学生信息权限,某些用户可以查询学生、教师信息权限等。管理员可以在系统增加、删除、修改权限。表结构:字段类型是否可为空默认值备注USER_PRIVNUMBER(1)Y权限类别PRIV_DESCVARCHAR2(66)Y权限描述。1-管理员权限、2-查询学生信息及成绩、3-查询教师信息、4-只能查询成绩,不能查询学生与教师信息2) 年级分类表:表名:BC_GRADE_DEFINE描述:用来标识每个年级,管理员用户可以新增、修改、删除来更数据。表结构:字段类型是否可为空默认值备注GRADE_NOVARCHAR2(3)N年级代码GRADE_NAMEVARCHAR2(66)N年级名称。,第一个字母含义:P-小学,J-初中,H-高中,U-大学3) 班级分类表:表名:BC_CLASS_DEFINE描述:用来标识每个年级中的具体班级,管理员用户可以新增、修改、删除来更数据。表结构:字段类型是否可为空默认值备注CLASS_NONUMBER(2)N班级代码.1-表示一班,2表示二班,依次类推CLASS_NAMEVARCHAR2(66)N班级名称4) 课程定义表:表名:BC_COURSE_DEFINE描述:用来标识每门课程,管理员用户可以新增、修改、删除来更数据。表结构:字段类型是否可为空默认值备注COURSE_NOVARCHAR2(30)N课程代码。建议用课程名称的英文简写。COURSE_NAMEVARCHAR2(66)N课程名称4.3 人员信息表1) 学生信息表:表名:P_STUDENT_INFO描述:用来记录学生姓名、年龄、性别、班级、选择的课程等信息。管理员可以在系统通过增加、修改、删除等操作来进行数据更新。表结构:字段类型是否可为空默认值备注STU_IDNUMBER(8)N学号。由序列STU_ID_SEQ产生。STU_NAMEVARCHAR2(20)N学生姓名SEXNUMBER(1)N性别。1-男,2-女AGENUMBER(3)Y7年龄。默认是小学一年级的年龄。ADDRESSVARCHAR2(66)N家庭地址EMAILVARCHAR2(30)Y电子邮箱TEL_NUMNUMBER(11)Y电话号码GRADE_NOVARCHAR2(3)N年级编码CLASS_NONUMBER(2)N班级编码主键:以字段STU_ID作为主键。约束:以字段STU_ID, GRADE_NO, CLASS_NO组合创建了一个约束条件。产生STU_ID值的序列:create sequence STU_ID_SEQminvalue 10000001maxvalue 99999999start with 100001increment by 1cache 20;2) 教师信息表:表名:P_TEACHER_INFO描述:用来记录教师姓名、年龄、性别、所教课程等信息。管理员可以在系统通过新增、修改、删除等操作来进行数据更新。表结构:字段类型是否可为空默认值备注TEACHER_IDNUMBER(6)N教师编码。由序列TEACHER_ID_SEQ产生。TEACHER_NAMEVARCHAR2(20)N学生姓名SEXNUMBER(1)N性别。1-男,2-女AGENUMBER(3)Y26年龄。默认是小学一年级的年龄。EMAILVARCHAR2(30)Y电子邮箱TEL_NUMNUMBER(11)Y电话号码GRADE_NOVARCHAR2(3)N年级编码CLASS_NONUMBER(2)N班级编码主键:以字段TEACHER_ID作为主键。约束:以字段TEACHER_ID, GRADE_NO, CLASS_NO组合创建了一个约束条件。产生TEACHER_ID值的序列:c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医执业医师资格考试中医骨伤科学模拟试卷及答案
- ICU专科护士护理伦理与法律知识专项训练题库及答案
- 保险风险管理实务备考习题及答案
- 2026年一级造价工程师工程计价实务备考习题集及答案
- 中药师资格证考试中药学综合知识与技能专项训练习题集及答案
- 妇产科规培医师结业考核模拟试题及答案
- 法律事务文书格式与规范模拟试卷及答案
- 电力系统运行工程师考试电力系统运行专项训练题库及答案
- 焊接工艺操作技能考核专项训练题库及答案
- 钢材类型课件
- 2025-2026学年九年级数学上学期期中模拟卷(安徽专用沪科版)考试版
- 雨课堂学堂在线学堂云《运动损伤的康复治疗(湖北医药学院)》单元测试考核答案
- 核心素养导向下小学六年级数学“百分数的意义”跨学科项目式教学设计
- 项目管理人员安全培训课件
- 规培学员出科考核制度
- 余额宝相关课件
- T-TFZX 59-2025 医疗机构医德医风考评指标体系指南
- 《普通高中英语课程标准(2025年版)》带星号词汇详解表清单-高三英语一轮复习专项
- 非标自动化项目管理
- 专题全等三角形压轴题(30题)(原卷版+解析)
- 2025年-集团公司投资管理办法
评论
0/150
提交评论