版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库课程设计教学管理系统精选文档评价标准分数比例 (%)成绩论文论文结构包含:相关技术介绍、需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、系统测试方案和测试报告、 系统的主要功能和使用说明、系统安装说明。要求论文完整、内容详细,格式规范。40程序系统运行正确;功能完善:有增、删、改、查功能,有基本的报表、查询、统计和输入、输出功能;工作量充分;系统实现技术的难度。30数据 库设 计E-R图设计正确;数据库逻辑结构设计规范化; 数据库物理设计合理。30总评成绩P优良中及格不及格总分前言 .4前言.4相关技术介绍 . 4第一章 需求分析 . 41.1 任务概述 . 51.1.
2、1 目标 . 51.1.2 运行环境 . 51.2 数据流图. 51.3 数据字典. 61.4 系统流程分析. 6第二章概念结构设计. 7第三章逻辑结构设计. 83.1 逻辑结构设计. 83.2 规范化处理. 10第四章 数据库物理设计. 114.1 索引表 . 104.2 系统配置 . 114.3 视图 . 11第五章 数据库的实施 . 115.1 创建数据库及数据库对象. 115.2 完整性约束创建 .135.3 数据库的维护及备份. 145.3.1 维护 . 145.3.2 检测并改善数据库性能 . 145.3.3 备份 . 14第六章 前台用户界面. 14第七章 结论与体会 . 17参
3、考文献0、前言0.1引言数据库作为存取数据并对数据进行操作的工具在系统中所起到的作用至关重要。数据库设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理模式结果, 并据此建立数据库及其应用系统,使之能有效地存储和管理数据,满足应用需求,包括 信息管理要求和数据操作。信息管理要求是指在数据库中应该存储和管理哪些数据对 象;数据操作要求是指对数据对象进行哪些操作,如查询、增、删、改、统计等操作。数据库设计地目标是维用户和各种应用系统提供的一个信息基础设施和高效率地运行 环境。高效率的运行环境包括:数据库数据的存取速率、数据库存储空间的利用率、数 据库系统运行管理的效率等都是高的。为了使数
4、据库的应用系统开发设计合理、规范、有序、正确、高效进行,现在广泛采 用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、 逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。我 按照以上几点开发了学生选课管理系统数据库。0.2相关技术介绍0.2.1MYSQL 概述MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL最流行的关系型数据库管理系统, 在 WEB应用方面MySQL 是最好的 RDBMS (Relational Database Management System系数据库管理系统)应
5、用软 件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。 MySQL 软件采用了双授权政策, 它分为社区版和商业版, 由于其体积小、 速度快、 总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL 作为网站数据库。0.2.2Visual StudiO既述Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集, 它包括了整个软件生命周期中所需
6、要的大部分工具, 如 UML工具、代码管控工具、集成开发环境(IDE) 等等。所写的目标代码适用于微软支持的所有平台, 包括Microsoft Windows、 Windows Mobile、 Windows CE、 .NET Framework、 .NETCompact Frameworkf口 Microsoft Silverlight 及 Windows Phone1、 需求分析1.1 任务概述1.1.1 目标建立一个教学管理系统,系统通过数据库存储学校学生、教职工、系、课程以及成绩等资料,系统管理员可通过用户名与密码进入数据库,并根据给予的权限对数据库的数据进行查询或修改。删除的数据要留
7、底。对数据库进行操作级审计。1.1.2 运行环境(1)、硬件配置安装本软件之前,需要确保计算机具有如下配置,这也是最低硬件要求:使用 1G 内存不小于 40MB 的可用硬盘空间(2)、软件配置安装本软件之前,需要确保计算机已安装:MicorsoftWindows XP及以上的操作系统.NET Framework 3.5 以上1.2数据流图图1顶级数据流图系信息图2、一级数据流图1.3数据字典数据元素数据类型数据长度数据组成数据来源描述学号Varchar1010数字10学生信息表成绩表唯一标示学生的号码职工号Varchar88数字8职工信息表口工姓名Varchar101汉字10学生信息表职工信息
8、表人员姓名性别Varchar1男I女学生信息表职工信息表人员性别所在系号Int33数字3学生信息表职工信息表系号Int33数字3系信息表唯一标示一个系的编号系名称Varchar201汉字20系信息表课程号Int44数字4课程信息表成绩表唯一标示一个课程的编号课程名称Varchar201汉字20课程信息表任课老师Varchar88数字8课程信息表这节课的负责教师考试成绩Int31数字3成绩表1.4系统流程分析前面的分析中我们确定了系统各个功能模块,属于静态建模的范围。在系统运行时刻的动态模型应该由系统流程决定。从上面的功能描述中,我们可以把各个系统分为5个模块:用户验证,师生信息管理,课程信息管
9、理,成绩管理和信息查询。在每个模块成绩管理退出系统图3、程序流程图通过对整个管理系统的功能分析,可以定义出系统的功能模块图,从中再细分各模块,可以得到系统概要模块如下:图4、功能模块图2数据库概念结构设计采用E-R图的分析方法,首先对局部视图进行分析设计,然后再实现视图集成。在视图集成时,注意要尽量消除冲突和冗余。在这里直接给出视图集成后的E-R图,如图图5、实体E-R图3数据库逻辑结构设计根据E-R图,我们可以创建以下数据表。系统管理员表系统管理员(admin)存储了登录本系统的用户的登录ID和密码,权限以及盐值表1、系统管理员表字段名称数据类型可含为空约束条件说 明ADMIN_USERVa
10、rchar(50)NOT NULL主键管理员IDADMIN_PSWDVarchar (256)NOT NULL无管理员密码哈希值ADMIN_PERMITVarchar(1)NOT NULL无管理员权限SaltVarchar(10)NOT NULL无管理员密码盐值学生信息表学生信息表(student)存放了学校的所有学生的基本信息,所有有关学生的操作都与这个表有关。通过时间戳自动生成入学时间。信息从表中删除时加入历史表留底。表2、学生信息表字段名称数据类型可含为空约束条件说 明SnoVarchar(50)NOT NULL主键学生学号SnameVarchar (50)NOT NULL无学生姓名Ss
11、exVarchar (1)NOT NULL无学生性别S_DnoVarchar(50)NOT NULL外键学生所在系号SindateDatetimeNOT NULL时间戳形成学生入学时间教师信息表教师信息表(teacher存放了学校的所有教师的基本信息, 所有有关教师的操作都与这个表有关。通过时间戳自动生成入职时间。信息从表中删除时加入历史表留底。表3、教师信息表字段名称数据类型可含为空约束条件说 明TnoVarchar (50)NOT NULL主键教师工号TnameVarchar (50)NOT NULL无教师姓名TsexVarchar (1)NOT NULL无教师性别T_DnoVarchar
12、(50)NOT NULL外键教师所在系号TindateDatetimeNOT NULL时间戳形成教师入职时间系信息表系信息表(department存放了学校的所有系的基本信息,并且与学生表以及教师表有紧密联系表4、系信息表字段名称数据类型可含为空约束条件说 明DnoVarchar (50)NOT NULL主键系号DnameVarchar (50)NOT NULL无系名称DsummaryTextNULL无系简介课程信息表课程信息表(course记录了学校中所有课程的信息表5、课程信息表字段名称数据类型可含为空约束条件说 明CnoVarchar (50)NOT NULL主键课程号CnameVarc
13、har (50)NOT NULL无课程名称C_TnoVarchar (50)NOT NULL外键任课老师工号成绩信息表成绩表(sc)记录了某个学生在某们课程得到的成绩表6、成绩表字段名称数据类型可含为空约束条件说 明SnoVarchar (50)NOTNULL主键、外键学生学号CnoVarchar (50)NOTNULL主键、外键课程名称GradeIntNULL无当科成绩历史表历史表(history)记录了离校学生或离职教师的信息,通过触发器自动生成,尽量避免手动添加。作为留底超过一定数量应给予整理表7、历史表字段名称数据类型可含为空约束条件说 明HnoVarchar (50)NOTNULL主
14、键曾用标示号hnameVarchar (50)NOTNULL无姓名hSexVarchar (1)NOTNULL无性别hdepartmentVarchar (50)NOTNULL无曾在系名hindateDatetimeNOTNULL无入学日期houtdateDatetimeNOTNULL时间戳形成离校日期审计表审计表(Accesslog记录了除管理员外的数据库用户对数据库的使用情况,处于安全性考虑,用独立的数据库进行保存,并且只赋予管理员权限进行查看。只可通过 系统进行数据添加,严禁手工操作数据!表8、审计表字段名称数据类型可含为空约束条件说 明IdVarchar (50)NOTNULL主键、自
15、增标小方timetimestampNOTNULL时间戳形成操作时间loaclnameVarchar (50)NOTNULL无操作帐号matchnameVarchar (50)NOTNULL无对应用户3.2规范化处理经过对初始关系模式的规范化处理以下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。(加粗代表主码,斜体外码)Admin(ADMIN_USER ,ADMIN_PSWD,ADMIN_PERMIT)StudentSnoSname,SseS_Dno,Sindate)TeacherTno,Tname,TseXT_Dno,Tindate)Department(Dno,Dname,Ds
16、ummary)CourseCno,CnameC_Tno)SCSnqCno,Grade)4物理结构设计数据库在物理上的存储结构与存储方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是物理结构设计。数据库的物理结构设计通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的中的是时间和空间效率。4.1 创建数据库及建立索引以及完整性约束使用工具Navicat for SQL,创建了 school数据库及Accesslog数据库并生成相关数据库模型,图如下建立各数据库间
17、的索引关系。4.2 系统配置在mysql配置文件 my.ini中的mysqld设置项中写入如下配置:init-connect='insert into accesslog.accesslog values(connection_id(),now(),user(),current_user();' 当非超级管理员连接数据库时自动向审计表中写入审计记录仓I建受限用户 a, 只允许其对 school数据库中 student, teacher course, sc, department 表进行增删改查操作,拒绝其他权限4.3 视图用SQL管理工具建立常用的一个视图,即学生成绩视图。菜
18、单栏中单击工具一 向导一数据库一创建视图向导,选择你所要建的试图的对象,选择列名,按照提示,最后单击完成即可。使用SQL语句建立视图的命令如下:createview student_sc asselectsno, snamecoursecno,cnamegradefrom studentjoin sc on studentsno= scsnojoin courseon coursecno= sccno5数据库实施5.1 创建数据库及数据库对象*CREATE DATABASE school;USE school;CREATE TABLE Admin(ADMIN_USER VARCHAR(50)
19、NOT NULL,ADMIN_PSWD VARCHAR(50) NOT NULL,ADMIN_PERMIT VARCHAR(50) NOT NULL,Salt VARCHAR(10) NOT NULL,PRIMARY KEY (ADMIN_USER) );精选文档CREATE TABLE Student(Sno VARCHAR(50) NOT NULL,Sname VARCHAR(50) NOT NULL,Ssex VARCHAR (1) NOT NULL,S_Dno VARCHAR(50) NOT NULL,Sindate DATETIME NOT NULL,PRIMARY KEY (Sno
20、);CREATE TABLE Teacher(Tno VARCHAR (50) NOT NULL,Tname VARCHAR(50) NOT NULL,Tsex VARCHAR (1) NOT NULL,T_Dno VARCHAR(50) NOT NULL,Tindate DATETIME NOT NULL,PRIMARY KEY (Tno);CREATE TABLE Department(Dno VARCHAR(50) NOT NULL,Dname VARCHAR(50) NOT NULL,Dsummary TEXT,);CREATE TABLE Course(Cno VARCHAR(50)
21、 NOT NULL,Cname VARCHAR(50) NOT NULL,C_Tno VARCHAR(50) NOT NULL, PRIMARY KEY (Cno);CREATE TABLE SC(Sno VARCHAR(50) NOT NULL,Cno VARCHAR(50) NOT NULL,Grade INT,PRIMARY KEY (Sno,Cno) );CREATE TABLE HISTORY(HNO VARCHAR(50) NOT NULL,HNAME VARCHAR(50) NOT NULL,HSEX VARCHAR(50) NOT NULL,HDEPARTMENT VARCHA
22、R(50) NOT NULL,HINDATE DATETIME NOT NULL, HOUTDATE DATETIME NOT NULL,PRIMARY KEY (HNO)精选文档);CREATE DATABASE Accesslog;Use Accesslong;CREATE TABLE Accesslong (ID INT,TIME TIMESTAMP,LOCALNAME VARCHAR(50),MATCHNAME VARCHAR(50),PRIMARY KEY (ID );*5.2 完整性约束*use school;alter table student add constraint F
23、K_ID0 foreign key(S_Dno) REFERENCES department(Dno);alter table teacher add constraint FK_ID1 foreign key(T_Dno) REFERENCES department(Dno);alter table course add constraint FK_ID2 foreign key(C_Tno) REFERENCES teacher(Tno);alter table sc add constraint FK_ID3 foreign key(Sno) REFERENCES student(Sno
24、);alter table sc add constraint FK_ID4 foreign key(Cno) REFERENCES course(Cno);*CREATE DEFINER='root''localhost' TRIGGER 'indate' BEFORE INSERT ON 'student'FOR EACH ROW set new.sindate = current_date;CREATE DEFINER='root''localhost' TRIGGER 'olddat
25、a' BEFORE DELETE ON 'student'FOR EACH ROW begininsert into history(hno,hname,hsex,hindate,houtdate) values(old.sno,old.sname,old.ssex,old.sindate,current_date);update history h,department p set h.hdepartment= p.dname where p.dno = old.s_dno; end;*5.3 数据库的维护在数据库运行阶段,对数据库经常性的维护工作主要是有DBA 完成
26、,它包括:1 .数据库的转储和恢复2 .数据库的安全性和完整性控制3 .数据库性能的监督、分析和改造4 .数据库的重组织与重构造5.3.1 维护数据库既是共享的资源,又要进行适当的保密。 DBA 必须对数据库安全性和完整性控制负起责任。 尤其在计算机网络普遍引应用的今天, 保证数据安全、 防止黑客攻击、防止病毒入侵等,都是DBA 所需要面对的。按照设计阶段提供的安全防范和故障恢复规范,DBA 要经常检查系统的安全是否受到侵犯,根据用户的实际需要授予用户不同的操作权限。数据库在运行过程中,由于应用环境发生变化,对安全性的要求可能发生变化,DBA 要根据实际情况及时调整相应的授权和密码,以保证数据
27、库的安全性。同样数据库的完整性约束条件也可能会随应用环境的改变而改变,这时DBA 也要对其进行调整,以满足用户的要求。5.3.2 检测并改善数据库性能目前许多 DBMS 产品都提供了检测系统性能参数的工具, DBA 可以利用系统提供的这些工具,经常对数据库的存储空间及响应时间进行分析评价;结合用户的反映情况确定改进措施;及时改正运行中发现的错误;按用户的要求对数据库的现有功能进行适当的扩充。但要注意在增加新功能时应保证原有功能和性能不受损害。5.3.3 重新组织和构造数据库数据库建立后,除了数据本身是动态变化外,随着应用环境的变化,数据库本身也必须变化以适应应用要求。数据库运行一段时间后,由于
28、记录在不断增加、删除和修改,会改变数据库的物理存储结构,使数据库的物理特性受到破坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降。因此,需要对数据库进行重新组织,即重新安排数据的存储位置,回收垃圾,减少指针链,改进数据库的响应时间和空间利用率,提高系统性能。这与操作系统对“磁盘碎片”的处理的概念相似。数据库的重组只是使数据库的物理存储结构发生变化,而数据库的逻辑结构不变,所以根据数据库的三级模式,可以知道数据库重组对系统功能没有影响,只是为了提高系统的性能。由此可知,数据库的重组并不会改变原设计的数据逻辑结构和物理结构,而数据库的重构造则不同,它部分修改原数据库的模式或内
29、模式,这主要是因为数据库的应用环境发生了变化,如需求变化、设计调整等。例如增加新的数据项、改变数据类型、改变数据库的容量、增加或删除索引、修改完整性约束等。DBMS 一般都提供了重新组织和构造数据库的应用程序,以帮助 DBA 完成数据库的重组和重构工作。只要数据库系统在运行, 就需要不断地进行修改、 调整和维护。 一旦应用变化太大,数据库重新组织和构造也无济于事,这就表明数据库应用系统的生命周期结束,应该建立新系统,重新设计数据库。从头开始数据库设计工作,标准着一个新的数据库应用系统生命周期的开始。6 前台用户界面基于 C# 编写了这个教务管理系统,并以完成了所以要求功能。数据库连接字符串:
30、public static string Conn = "Database='school'DataSource='localhost'User Id='a'Password='a'charset='utf8'pooling=true"数据库连接代码MySqlConnection conn = new MySqlConnection(connectionString)用户登录界面登录实现核心代码string sql = string.Format("select * from admi
31、n where ADMIN_USER ='0"',textBox1.Text); MySql.Data.MySqlClient.MySqlDataReader reader;reader = MySqlHelper.ExecuteReader(MySqlHelper.Conn, CommandType.Text, sql, null); if (reader.HasRows) reader.Read();string salt = reader"salt".ToString();if (reader"ADMIN_PSWD".To
32、String() = SHA256_Hash(textBox2.Text + salt) MessageBox.Show(登录成功"); = reader"ADMIN_USER".ToString();global.permit = int.Parse(reader"ADMIN_PERMIT".ToString(); this.DialogResult = DialogResult.OK;this.Close(); else MessageBox.Show(密码错误");else MessageBox.Show(帐号不存在") 功能选择界面M教资管理一人员信息管理界面学上借月驰昨息系信息些
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加工课课件教学课件
- 幼师课件用电教学课件
- 2024年国际旅游开发与合作合同
- 2024年广州市二手房交易合同(标准版)
- 2024年度智能制造设备采购合同
- 2024年度物业公司居民关系协调服务合同
- 2024年大数据中心合作运营合同
- 2024年工程质量检验与确认合同
- 鱼罐头课件教学课件
- 2024年库房租赁与健身器材存放合同
- 沥青改色路面修补施工方案
- 香菇种植示范基地项目可行性策划实施方案
- 混凝土硫酸盐侵蚀基本机理研究
- 《机械设计基础A》机械电子 教学大纲
- 水工岩石分级及围岩分类
- 基因扩增实验室常用仪器使用课件
- 斜井敷设电缆措施
- 施工机械设备租赁实施方案
- 牙膏产品知识课件
- 液化气站人员劳动合同范本
- 第一章 教育政策学概述
评论
0/150
提交评论