有谁可以编一个类似的数据库例子?/
1.3 数据库简介
数据库技术出现于20世纪60年代,是组织管理数据的一种优秀方法。经过30多年的发展,数据库在理论设计与实现技术上都得到很大发展。数据库是指按照一定的数据模型组织、存放在计算机存储介质上的一组相关数据的集合。其数据库系统的体系结构是数据库系统的一个总体框架,绝大部分数据库系统都采用三级模式结构:概念模式、外模式和内模式,它们是数据的三个抽象级别,可以使用户不必关心数据在计算机的表示与存储,而直接逻辑地、抽象地处理数据。而数据库的存取是通过DBMS(Database Management System)来进行的,数据库管理系统为用户和客户端程序进行访问数据库的方法,包括数据库的建立、查询、修改、删除及为数据库而进行的各种控制。
第二章 系统简介及开发环境
2.1 简介本系统
湘潭文理学院是湖南省一所面向全社会招生、培养多方面专业人才的综合性学校。与时代发展同步,湘潭文理学院办学思想日臻成熟,招生规模日渐增大;为了紧跟现代化步伐、减轻学校工作人员的负担,我们应用户要求尝试建立一个学校管理信息系统,希望能使学校管理工作变得条理化、自动化。
通过与学校多次交流、商讨,针对学院的工作流程和在管理中碰到的一些问题,我们总结出本系统所应实现的功能,现已基本完成,简单介绍如下:
1、 系统功能:包括用户登录、修改密码两个部分;
〈1〉、用户登录:其权限分为系统管理员、部门管理员、普通用户;
a)、系统管理员其级别最高,凭密码进入,可以进行一切工作,
除了对系统进行查询外,还包括对各个部门数据库的维
护,如修改、增加、删除、更新各条记录;
b)、部门管理员又分为教务部门管理员、办公室管理员、后勤
部门管理员,点击相应的用户名凭密码进入,系统给予各
自所对应的权限,对各自所在部门进行管理与维护;其中
教务部门管理员实现对教务、教师、学籍三个子部门的管
理与维护;
c)、普通用户可以自由进入,只能对各部门进行多方面的查
询工作;
〈2〉、修改密码:方便不同级别的用户对进入系统的口令进行随时
更新,以维护其权限。
2、教务管理:包括教学计划、排课系统、换课系统、考试安排、组织报考、试题库查询、校历编排及教务管理维护等八个部分;其中组织报考主要针对国家自学考试,又分为自考课程查询与自考报考两个子部分。
3、教师管理:包括教师档案、教师工作安排、工作量统计、月薪统计等四个部分;其中教师档案又包括其基本情况、个人简历及家庭主要成员三个子部分,教师工作安排分为其所授课程安排及其可安排时间。
4、学籍管理:包括学生花名册、学生成绩、学生考勤、奖罚情况、期末通知书及毕业生信息等六个部分;其中学生成绩又包括学期、自学、等级三个方面的考试成绩。
5、办公室管理:包括文件管理、会议管理、派车管理、预录学生管
理、电话薄管理及学校日志等六个部分;其中文件管理
包括发文与收文管理。
6、后勤管理:包括物资管理、固定资产管理与寝室管理三个部分。
2.2 运行环境
1、 硬件:要求能在PENTIUM 100 16M内存以上机器上运行;
2、 软件:要求DELPHI 4.0以上版本;
3、服务器:WINDOWS NT 或 WIN98 或其以上版本;
4、工作站:有盘,WIN98或以上版本;
第三章 教务管理系统分析
3.1 数据分析
计算机处理的大多数是数据,因而数据的组织是关键,也是使用计算机处理事半功倍的基础。而该系统是一个典型的数据库管理系统,其中涉及大量数据,采用E-R方法(Entity-Relationship Approach)将现实数据转化为计算机信息。根据该学院教务管理子系统的功能模块设计及其特殊情况,本教务管理子系统将要建立10个表,以建立相应的数据库:
教学计划表、班级表、教室表、课程表、考试时间表、
期末考试安排表、试题库表、自考报考学校表、
自考课程查询表、自考报考表
采用E-R图分析得到以下主要数据对象及其关系:
图4-1
图4-2 图4-3
图4-4
1、教学计划表(X)、班级表(B)、教室表(J)及课程表(K)的关系如图3-5所示:
R
M
N S
M N R S
图4-5
说明:〈1〉、教学计划(X)与课程(K)、课程(K)与班级(B)的关系为M:
N,即多对多的关系;
〈2〉、教学计划(X)与班级(B)、班级(B)与教室(J)的关系为R:S
(R=1,S=1,每个班级每学期对应一张教学计划表,且
一个教室对应一个班级,即一对一关系)。
图4-6
图4-7
a)、初始信息输入:完成开学时间、放假时间的录入;
b)、数据库处理:根据开学时间、放假时间自动完成校历编排的过程,即把生成的校历写入临时数据库中的校历表;
c)、校历打印:从临时数据库中调出校历表进行打印;
d)、系统帮助:为用户的使用提供帮助,介绍如何按步骤打印出校历。
2、校历打印的总思想:
* 校历是依据每学期的开学时间与放假时间动态生成的,因此其数据库中的记录都是临时建立,记录的建立由算法生成;打印时,调用数据库中建立好的记录即可生成校历。
3、算法的思想描述:
a)、读入开学时间(nian1,yue1,ri1)与放假时间(nian2,yue2,ri2),确
认开学时间<放假时间,计算出该学期的周期数(v):
if (nian1=nian2) then
begin d1:=开学日期到放假日期之间的天数;
if (d1 mod 7<>0) then v:=(d1 div 7)+1
else v:=d1 div 7;
end {then}
else begin d2:=开学日期到12月底天数+1月到放假日期的天数;
if (d2 mod 7<>0) then v:=(d2 div 7)+1
else v:=d2 div 7;
end;{else}
b)、判断出开学时间是星期几(week):
if(开学时间是星期日)
then for 第一周 to 第v周 do
(把日历直接写入数据库中);
else begin 先把第一周单独写入数据库;
for 第二周 to 第v周 do
(把日历写入数据库);
end;
4.3教务管理子系统的维护
教务管理子系统的维护主要是指管理人员对教务部门数据库的
维护。它仅授权于系统管理员(最高级别)和教务部门管理员,其他级别的用户均无权访问该界面;即当用户登录时就识别其身份,给予其相应的访问与管理权限。由此,调用主界面(Form6)的FormActivate
事件对用户身份进行识别,判断是否能进入该教务维护界面。具体实现代码如下:
procedure TForm6.FormActivate(Sender: TObject);
begin
if (passwform1.count=0) or (passwform1.count=1) then n35.Enabled:=true
else n35.Enabled:=false;
end; {count=0代表系统管理员,count=1代表教务部门管理员}
本教务维护界面如上图所示,当用户从组合框的下拉列表中选择了一个数据库后,在DBGrid控件中将显示该表当前的所有记录,用户则可以通过DBNavigator控件对其数据库进行插入、删除及修改等操作。其实现操作代码如下:
procedure Tjiaowuglwh.ComboBox1Change(Sender: TObject);
begin
table1.close;
table1.tablename:=comboBox1.text;
table1.active:=true;
end;
因为篇幅有限制 有写中间过程省略了!
有那位哥哥姐姐帮忙啊
谢谢了!