收藏 分销(赏)

数据库课程设计报告样本.doc

上传人:二*** 文档编号:4571515 上传时间:2024-09-30 格式:DOC 页数:24 大小:260.04KB
下载 相关 举报
数据库课程设计报告样本.doc_第1页
第1页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、数 据 库 课 程 设 计教学管理系统 评价标准分数比例(%)成绩论文论文结构包含:相关技术介绍、需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实行、系统测试方案和测试报告、系统的重要功能和使用说明、系统安装说明。规定论文完整、内容具体,格式规范。40程序系统运营对的;功能完善:有增、删、改、查功能,有基本的报表、查询、记录和输入、输出功能;工作量充足;系统实现技术的难度。30数据库设计E-R图设计对的;数据库逻辑结构设计规范化;数据库物理设计合理。30总评成绩 优 良 中 及格 不及格总分前言.4 前言.4 相关技术介绍. 4第一章 需求分析. 4 1.1 任务概述. 5 1.

2、1.1 目的. 5 1.1.2 运营环境. 5 1.2 数据流图. 5 1.3 数据字典. 6 1.4 系统流程分析. 6第二章 概念结构设计. 7第三章 逻辑结构设计. 8 3.1 逻辑结构设计. 8 3.2 规范化解决. 10第四章 数据库物理设计. 11 4.1 索引表. 10 4.2 系统配置. 11 4.3 视图. 11第五章 数据库的实行. 11 5.1 创建数据库及数据库对象. 11 5.2 完整性约束创建.13 5.3 数据库的维护及备份. 14 5.3.1 维护. 14 5.3.2 检测并改善数据库性能. 14 5.3.3 备份. 14第六章 前台用户界面. 14第七章 结论

3、与体会. 17参考文献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、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。1、 需求分析 1.1任务概述 1.1.1目的 建立一个教学管理系统,系统通过数据库存储学校学生、教职工、系、课程以及成绩等资料,系统管理员可通过用户名与密码进入数据库,并根据给予的权限对数据库的数据进行查询或修改。删除的数据要留底。对数据库进行

7、操作级审计。 1.1.2运营环境 (1)、硬件配置 安装本软件之前,需要保证计算机具有如下配置,这也是最低硬件规定: 使用1G内存 不小于40MB的可用硬盘空间 (2)、软件配置 安装本软件之前,需要保证计算机已安装:MicorsoftWindows XP及以上的操作系统 .NET Framework 3.5以上 1.2数据流图管理员教学管理系统数据库显示器操作 数据信息 数据信息 图1 顶级数据流图登录信息验证管理员信息表管理员用户名密码 登录信息管理员信息学生信息表 验证通过信息增删改查学生信息管理员操作增删改查审计数据库教职工信息表 操作 教职工信息展示系统课程信息表课程信息删除的信息历

8、史表成绩信息表显示器 成绩信息系信息表系信息 图2、一级数据流图1.3 数据字典数据元素数据类型数据长度数据组成数据来源描述学号Varchar 1010数字10学生信息表成绩表唯一标示学生的号码职工号Varchar 88数字8职工信息表唯一标示教工姓名Varchar 101汉字10学生信息表职工信息表人员姓名性别Varchar 1男|女学生信息表职工信息表人员性别所在系号Int33数字3学生信息表职工信息表系号Int33数字3系信息表唯一标示一个系的编号系名称Varchar 201汉字20系信息表课程号Int44数字4课程信息表成绩表唯一标示一个课程的编号课程名称Varchar 201汉字20

9、课程信息表任课老师Varchar 88数字8课程信息表这节课的负责教师考试成绩Int31数字3成绩表1.4系统流程分析验证失败反馈信息查询 退出系统信息增删改登录界面师生信息管理课程信息管理 成绩管理用户验证 信息查询成功 前面的分析中我们拟定了系统各个功能模块,属于静态建模的范围。在系统运营时刻的动态模型应当由系统流程决定。从上面的功能描述中,我们可以把各个系统分为5个模块:用户验证,师生信息管理,课程信息管理,成绩管理和信息查询。在每个模块下又提供更为具体的功能。具体的系统模块关系图如图3所示。图3、程序流程图通过对整个管理系统的功能分析,可以定义出系统的功能模块图,从中再细分各模块,可以

10、得到系统概要模块如下:学生信息管理教工信息管理师生信息管理选课管理课程信息管理成绩管理信息查询教学管理系统身份验证综合查询记录报表系信息管理图4、功能模块图2 数据库概念结构设计MN成绩学生选课课程系教工属于属于专家NNN11采用E-R图的分析方法,一方面对局部视图进行分析设计,然后再实现视图集成。在视图集成时,注意要尽量消除冲突和冗余。在这里直接给出视图集成后的E-R图,如图5所示。E-R图如下M权限密码管理员用户名 图5、实体E-R图3 数据库逻辑结构设计根据E-R图,我们可以创建以下数据表。l 系统管理员表系统管理员(admin)存储了登录本系统的用户的登录ID和密码,权限以及盐值表1、

11、系统管理员表字段名称数据类型可否为空约束条件说 明ADMIN_USERVarchar(50)NOT NULL主键管理员IDADMIN_PSWDVarchar (256)NOT NULL无管理员密码哈希值ADMIN_PERMITVarchar(1)NOT NULL无管理员权限SaltVarchar(10)NOT NULL无管理员密码盐值l 学生信息表 学生信息表(student)存放了学校的所有学生的基本信息,所有有关学生的操作都与这个表有关。通过时间戳自动生成入学时间。信息从表中删除时加入历史表留底。表2、学生信息表字段名称数据类型可否为空约束条件说 明SnoVarchar(50)NOT NU

12、LL主键学生学号SnameVarchar (50)NOT NULL无学生姓名SsexVarchar (1)NOT NULL无学生性别S_DnoVarchar(50)NOT NULL外键学生所在系号SindateDatetimeNOT NULL时间戳形成学生入学时间l 教师信息表 教师信息表(teacher)存放了学校的所有教师的基本信息,所有有关教师的操作都与这个表有关。通过时间戳自动生成入职时间。信息从表中删除时加入历史表留底。 表3、教师信息表字段名称数据类型可否为空约束条件说 明TnoVarchar (50)NOT NULL主键教师工号TnameVarchar (50)NOT NULL无

13、教师姓名TsexVarchar (1)NOT NULL无教师性别T_DnoVarchar(50)NOT NULL外键教师所在系号TindateDatetimeNOT NULL时间戳形成教师入职时间l 系信息表 系信息表(department)存放了学校的所有系的基本信息,并且与学生表以及教师表有紧密联系表4、系信息表字段名称数据类型可否为空约束条件说 明DnoVarchar (50)NOT NULL主键系号DnameVarchar (50)NOT NULL无系名称DsummaryTextNULL无系简介l 课程信息表 课程信息表(course)记录了学校中所有课程的信息。表5、课程信息表字段名

14、称数据类型可否为空约束条件说 明CnoVarchar (50)NOT NULL主键课程号CnameVarchar (50)NOT NULL无课程名称C_TnoVarchar (50)NOT NULL外键任课老师工号l 成绩信息表 成绩表(sc)记录了某个学生在某们课程得到的成绩。表6、成绩表字段名称数据类型可否为空约束条件说 明SnoVarchar (50)NOT NULL主键、外键学生学号CnoVarchar (50)NOT NULL主键、外键课程名称GradeIntNULL无当科成绩l 历史表 历史表(history)记录了离校学生或离职教师的信息,通过触发器自动生成,尽量避免手动添加。作

15、为留底超过一定数量应给予整理。 表7、历史表字段名称数据类型可否为空约束条件说 明HnoVarchar (50)NOT NULL主键曾用标示号hnameVarchar (50)NOT NULL无姓名hSexVarchar (1)NOT NULL无性别hdepartmentVarchar (50)NOT NULL无曾在系名hindateDatetimeNOT NULL无入学日期houtdateDatetimeNOT NULL时间戳形成离校日期l 审计表 审计表(Accesslog)记录了除管理员外的数据库用户对数据库的使用情况,处在安全性考虑,用独立的数据库进行保存,并且只赋予管理员权限进行查看

16、。只可通过系统进行数据添加,严禁手工操作数据!表8、审计表字段名称数据类型可否为空约束条件说 明IdVarchar (50)NOT NULL主键、自增标示号timetimestampNOT NULL时间戳形成操作时间loaclnameVarchar (50)NOT NULL无操作帐号matchnameVarchar (50)NOT NULL无相应用户3.2规范化解决通过对初始关系模式的规范化解决以下关系模式中不存在部分函数依赖和传递函数依赖,已经达成3NF。(加粗代表主码,斜体外码)Admin(ADMIN_USER,ADMIN_PSWD,ADMIN_PERMIT)Student(Sno,Sna

17、me,Ssex,S_Dno,Sindate)Teacher(Tno,Tname,Tsex,T_Dno,Tindate)Department(Dno,Dname,Dsummary)Course(Cno,Cname,C_Tno)SC(Sno,Cno,Grade)4物理结构设计数据库在物理上的存储结构与存储方法称为数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用规定的物理结构的过程,就是物理结构设计。数据库的物理结构设计通常分为两步:(1)拟定数据库的物理结构,在关系数据库中重要指存取方法和存储结构;(2)对物理结构进行评价,评价的中的是时间和空间效率。4.

18、1 创建数据库及建立索引以及完整性约束使用工具Navicat for SQL ,创建了school数据库及Accesslog数据库并生成相关数据库模型,图如下建立各数据库间的索引关系。4.2系统配置在mysql配置文献my.ini中的mysqld设立项中写入如下配置:init-connect=insert into accesslog.accesslog values(connection_id(),now(),user(),current_user(); 当非超级管理员连接数据库时自动向审计表中写入审计记录。创建受限用户a,只允许其对school数据库中student,teacher,cou

19、rse,sc,department表进行增删改查操作,拒绝其他权限。4.3 视图用SQL管理工具建立常用的一个视图,即学生_成绩视图。菜单栏中单击工具 向导 数据库 创建视图向导,选择你所要建的试图的对象,选择列名,按照提醒,最后单击完毕即可。使用SQL语句建立视图的命令如下:createviewstudent_scasselectsno,sname,o,cname,gradefromstudentjoinsconstudent.sno=sc.snojoincourseono=o5 数据库实行5.1创建数据库及数据库对象*CREATE DATABASE school;USE school;CR

20、EATE TABLE Admin(ADMIN_USER VARCHAR(50) 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

21、DATETIME NOT NULL,PRIMARY KEY (Sno);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,PRI

22、MARY KEY (Dno);CREATE TABLE Course(Cno VARCHAR(50) 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 NU

23、LL,HSEX VARCHAR(50) NOT NULL,HDEPARTMENT VARCHAR(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 scho

24、ol;alter table student add constraint FK_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

25、foreign key(Sno) REFERENCES student(Sno);alter table sc add constraint FK_ID4 foreign key(Cno) REFERENCES course(Cno);*CREATE DEFINER=rootlocalhost TRIGGER indate BEFORE INSERT ON studentFOR EACH ROW set new.sindate = current_date;CREATE DEFINER=rootlocalhost TRIGGER olddata BEFORE DELETE ON student

26、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完毕,它涉及:1.数据库的转储和恢复2.数据库的安全性和完整性控制3.数据库性能的监督、分

27、析和改造4.数据库的重组织与重构造5.3.1 维护 数据库既是共享的资源,又要进行适当的保密。DBA必须对数据库安全性和完整性控制负起责任。特别在计算机网络普遍引应用的今天,保证数据安全、防止黑客袭击、防止病毒入侵等,都是DBA所需要面对的。按照设计阶段提供的安全防范和故障恢复规范,DBA要经常检查系统的安全是否受到侵犯,根据用户的实际需要授予用户不同的操作权限。数据库在运营过程中,由于应用环境发生变化,对安全性的规定也许发生变化,DBA要根据实际情况及时调整相应的授权和密码,以保证数据库的安全性。同样数据库的完整性约束条件也也许会随应用环境的改变而改变,这时DBA也要对其进行调整,以满足用户

28、的规定。5.3.2检测并改善数据库性能 目前许多DBMS产品都提供了检测系统性能参数的工具,DBA可以运用系统提供的这些工具,经常对数据库的存储空间及响应时间进行分析评价;结合用户的反映情况拟定改善措施;及时改正运营中发现的错误;按用户的规定对数据库的现有功能进行适当的扩充。但要注旨在增长新功能时应保证原有功能和性能不受损害。5.3.3重新组织和构造数据库 数据库建立后,除了数据自身是动态变化外,随着应用环境的变化,数据库自身也必须变化以适应应用规定。 数据库运营一段时间后,由于记录在不断增长、删除和修改,会改变数据库的物理存储结构,使数据库的物理特性受到破坏,从而减少数据库存储空间的运用率和

29、数据的存取效率,使数据库的性能下降。因此,需要对数据库进行重新组织,即重新安排数据的存储位置,回收垃圾,减少指针链,改善数据库的响应时间和空间运用率,提高系统性能。这与操作系统对“磁盘碎片”的解决的概念相似。数据库的重组只是使数据库的物理存储结构发生变化,而数据库的逻辑结构不变,所以根据数据库的三级模式,可以知道数据库重组对系统功能没有影响,只是为了提高系统的性能。由此可知,数据库的重组并不会改变原设计的数据逻辑结构和物理结构,而数据库的重构造则不同,它部分修改原数据库的模式或内模式,这重要是由于数据库的应用环境发生了变化,如需求变化、设计调整等。例如增长新的数据项、改变数据类型、改变数据库的

30、容量、增长或删除索引、修改完整性约束等。DBMS一般都提供了重新组织和构造数据库的应用程序,以帮助DBA完毕数据库的重组和重构工作。 只要数据库系统在运营,就需要不断地进行修改、调整和维护。一旦应用变化太大,数据库重新组织和构造也无济于事,这就表白数据库应用系统的生命周期结束,应当建立新系统,重新设计数据库。从头开始数据库设计工作,标准着一个新的数据库应用系统生命周期的开始。6前台用户界面基于C#编写了这个教务管理系统,并以完毕了所以规定功能。数据库连接字符串:public static string Conn = Database=school;Data Source=localhost;U

31、ser Id=a;Password=a;charset=utf8;pooling=true;数据库连接代码 MySqlConnection conn = new MySqlConnection(connectionString)用户登录界面登录实现核心代码string sql = string.Format(select * from admin where ADMIN_USER =0,textBox1.Text); MySql.Data.MySqlClient.MySqlDataReader reader; reader = MySqlHelper.ExecuteReader(MySqlHe

32、lper.Conn, CommandType.Text, sql, null); if (reader.HasRows) reader.Read(); string salt = readersalt.ToString(); if (readerADMIN_PSWD.ToString() = SHA256_Hash(textBox2.Text + salt) MessageBox.Show(登录成功); global.name = readerADMIN_USER.ToString(); global.permit = int.Parse(readerADMIN_PERMIT.ToString

33、(); this.DialogResult = DialogResult.OK; this.Close(); else MessageBox.Show(密码错误); else MessageBox.Show(帐号不存在) 功能选择界面人员信息管理界面数据展示核心代码table = student; MySqlConnection conn = new MySqlConnection(MySqlHelper.Conn); MySqlCommand SCD = new MySqlCommand(select * from +table, conn); SDA.SelectCommand = SCD

34、; myds = new DataSet(); SDA.Fill(myds, table); b.DataSource = myds.Tablestable; dataview.DataSource = b; 记录报表界面7结论与体会 在我做课程设计时,将书本上所学的知识尽也许地发挥到了实践中。通过需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实行及数据库运营与维护6大阶段,我制作并运营成功了一个的以MySQL数据库为后台、以Microsoft Visual Studio 2023所制作的应用程序为前台。 通过这次设计,亲身体验了数据库设计的全过程,受益非浅。在实践中了解了数据库系统设计的环节、流程以及思绪,增长了在数据库设计方面的见识,我深刻结识到以前所学的基础课程的重要性,也使我们掌握了很多新知识,特别是一些课本之外的知识,体会到了理论知识和实践相结合的重要性。在这次课程设计之前,我一直只是进行零碎的数据库作业,没有真正理解到数据库深邃的知识,曾一度瞧不起数据库。在这次设计后,我充足理解到数据库知识的深奥,并不断提醒自己,以后不要做数据库相关的工作。参考文献1 萨师煊,王珊. 数据库系统概论(第五版). 北京:高等教育出版社20232 张海藩,牟永敏. 软件工程导论. 北京:清华大学出版社2023

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服