数据库原理课程设计报告.docx

上传人:b****4 文档编号:6557708 上传时间:2023-05-10 格式:DOCX 页数:25 大小:602.39KB
下载 相关 举报
数据库原理课程设计报告.docx_第1页
第1页 / 共25页
数据库原理课程设计报告.docx_第2页
第2页 / 共25页
数据库原理课程设计报告.docx_第3页
第3页 / 共25页
数据库原理课程设计报告.docx_第4页
第4页 / 共25页
数据库原理课程设计报告.docx_第5页
第5页 / 共25页
数据库原理课程设计报告.docx_第6页
第6页 / 共25页
数据库原理课程设计报告.docx_第7页
第7页 / 共25页
数据库原理课程设计报告.docx_第8页
第8页 / 共25页
数据库原理课程设计报告.docx_第9页
第9页 / 共25页
数据库原理课程设计报告.docx_第10页
第10页 / 共25页
数据库原理课程设计报告.docx_第11页
第11页 / 共25页
数据库原理课程设计报告.docx_第12页
第12页 / 共25页
数据库原理课程设计报告.docx_第13页
第13页 / 共25页
数据库原理课程设计报告.docx_第14页
第14页 / 共25页
数据库原理课程设计报告.docx_第15页
第15页 / 共25页
数据库原理课程设计报告.docx_第16页
第16页 / 共25页
数据库原理课程设计报告.docx_第17页
第17页 / 共25页
数据库原理课程设计报告.docx_第18页
第18页 / 共25页
数据库原理课程设计报告.docx_第19页
第19页 / 共25页
数据库原理课程设计报告.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库原理课程设计报告.docx

《数据库原理课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库原理课程设计报告.docx(25页珍藏版)》请在冰点文库上搜索。

数据库原理课程设计报告.docx

数据库原理课程设计报告

《数据库原理课程设计》课程设计

任务书

一、目的与要求

1.本实验是为网络工程、信息安全等专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。

通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。

为后继课程和毕业设计打下良好基础。

2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。

3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。

是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。

二、主要内容

针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。

大致分为如下步骤:

1.理解系统的数据库需求,分析实体及实体间联系,画出E-R图:

1.分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。

2.设计实体之间的联系,包括联系类型和联系的属性。

最后画出完整的E-R图。

2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:

1)把E-R图转换为逻辑模式;

2)规范化设计。

使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。

3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。

4)用SQL语言完成数据库内模式的设计。

3.数据库权限的设计:

1)根据系统分析,完成授权操作;

2)了解学习收回权限的操作。

4.完成用户界面的设计,对重要数据进行加密。

5.连接数据库,用宿主语言实现系统所需的各种操作:

1)实现数据记录的录入、删除、查询和修改。

2)以视图的形式完成复杂查询,比如多表、多条件等。

三、进度计划

序号

设计(实验)内容

完成时间

备注

1

根据任务书完成信息模型(概念模型、逻辑模型、完整性、规范化)的设计,并基于选用的DBMS实现该信息模型,然后录入初始数据

2

根据任务书完成各种数据定义和数据操作,并保留所有SQL语句。

3

数据库权限设计,用户界面设计

4

用可视化开发工具环境开发学生选定的信息系统(C/S或者B/S模式)

5

系统的完善与验收

四、设计(实验)成果要求

1.在DBMS(如oracle,SQLServer2005/2008,DB2等)上完成完整的数据库的设计;

2.使用可视化开发平台完成信息系统,要求可以正确运行;

3.完成实验报告。

五、考核方式

1.在微机上检查数据库模式的设计、三大完整性的设计、关系属于几范式等;

2.在微机上检查系统的运行结果,要求学生阐述使用的相关技术;

3.实验报告的检查。

六、题目附录

1.学生信息管理信息系统

2.图书管理信息系统

3.物资管理信息系统

4.汽车销售管理信息系统

5.超市管理信息系统

6.通讯录管理信息系统

7.工资管理信息系统

8.酒店管理信息系统

9.小区物业管理信息系统

学生姓名:

指导教师:

年月日

一、课程设计(综合实验)的目的与要求

1.正文为宋体,五号字行间距为21

1.1------------

1.2------------

二、设计(实验)正文

1.正文为宋体,五号字行间距为21

1.1------------

1.2------------

三、课程设计(综合实验)总结或结论

1.正文为宋体,五号字行间距为21

1.1------------

1.2------------

四、参考文献

[1]作者1,作者2书名.出版单位,版本.出版日期

 

附录(设计流程图、程序、表格、数据等)

 

注:

根据课程设计、综合实验的内容将标题任选其一。

一、需求分析

1.需求概述

本系统将提供给教学管理人员和学生使用,进行日常教务工作的查询、管理和调度,提高时间的利用率和工作效率。

系统应该提供的功能包括:

1.永久存储用户输入的信息;

2.数据调度和数据查找操作简易;

3.数据的删除和更新很方便;

4.为不同级别用户设置不同操作权限;

本项目的产品是一个独立、完整的程序,目前不提供其他系统的接口。

2.数据描述

3.运行需求

1)用户界面

本系统采用C/S架构,所以在使用之前必须安装该程序,所以界面不会像B/S那样发生变形或者扭曲等危险,界面问题得到了解决。

2)硬件接口

本系统未使用任何硬件,只需要电脑配备基本的输入输出硬件即可,无另外诸如扫描器,加密器等硬件,故不需要硬件接口。

3)软件接口

本系统未与其他系统发生关系,也没有使用到系统的API,所以不对外提供软件接口。

4)故障处理

A、在用户输入一些不合理的数据的时候,能够进行一些合理的提示信息,不能因为输入错误而导致系统的错误,或者程序停止运行;

B、程序运行时,对服务器和网络通信故障能够识别并提示,当故障排除后,程序恢复正常运行;

C、数据库要求有灾难备份机制,以防止数据的全部丢失。

二、系统功能设计

2.1系统程序流程图

系统主体为信息的查询,更新,删除,故本系统的主要系统主题流程图为下

图:

 

系统总体流程图

2.2常用模块设计

2.2.1学生成绩和学生信息查询。

功能:

查询、浏览学生信息。

可以查询单一记录,也可以浏览所有信息。

操作:

单击显示即可浏览所有学生信息或成绩信息,输入学号点击查询可查询单独记录。

 

教师信息查询同上。

2.2.2学生成绩录入删除窗体

功能:

设置权限管理,管理人员可以录入删除学生成绩和信息。

操作:

在文本框处填写信息后点击添加实现录入成绩功能,输入学号点击删除实现成绩删除功能。

 

 

2.2.3学生成绩修改

功能:

修改学生成绩信息。

操作:

填写信息后,输入新的成绩,点击修改。

 

学生信息录入修改同上。

2.2.4学生成绩单导出

功能:

将学生成绩单导出至指定位置的Excel表格

 

三、数据库概念设计

系统E-R图

 

 

系统E-R图结构

四、数据库逻辑设计

4.1数据库表设计

表名

说明

XS

学生信息表

KC

课程信息表

XS_XC

选课,成绩信息表

Admin

管理员信息表

Teacher

教师信息表

表1Admin表

字段号

字段名

字节长度

数据类型

说明

1

Admin_ID

int

管理员ID主码

2

Admin_name

10

nchar

管理员姓名

3

Admin_pass

10

nchar

管理员密码

4

Admin_level

int

管理员级别

表2KC表

字段号

字段名

字节长度

数据类型

是否允许空值

说明

1

KCH

int

课程号,主码

2

KCM

10

nchar

课程名

3

KKXQ

4

Int

开课学期

4

XS

Int

学时

5

XF

Int

学分

表3XS表结构

字段号

属性名

字节长度

数据类型

是否允许空值

说明

1

XH

10

nchar

学号,主码

2

XM

10

nchar

姓名

3

ZYM

10

nchar

专业名

4

PASS

10

nchar

密码

5

XB

10

nchar

性别

6

CSNY

date

出生日期

7

XF

int

已修学分

8

BZ

100

nchar

备注

表4XS_XC表结构

字段号

属性名

字节长度

数据类型

是否允许空值

说明

1

课程号

10

nchar

参照KC表主键

2

学号

10

nchar

参照XS表主键

3

成绩

Float

成绩(0~100)

4

id

int

主码

表5Teacher表结构

字段号

属性名

字节长度

数据类型

是否允许空值

说明

1

teach_num

10

nchar

教工号,主码

2

teach_name

10

nchar

姓名

3

teach_pass

10

nchar

密码

4

age

10

int

年龄

5

sex

4

nchar

性别

4.2数据库表关系图

4.3数据库视图设计

View_Score视图

 

五、系统编码与实现

5.1程序部分代码

界面名

主要功能

CourseForm

课程操作表

SearchForm

学生信息表

MainForm

主要界面

Averge

平均成绩查看界面

Index

首页

LoginForm

登陆界面

ExcelPutOut

电子表格输出表

MainForm1

选项卡式主界面

TeacherForm

教师管理页面

ChangePass

修改密码页面

下面将主要代码展示如下

5.1.1ExcelOperater.cs(Excel导出类)

usingSystem;

usingMicrosoft.Office.Interop.Excel;

usingSystem.Diagnostics;

usingSystem.Collections.Generic;

usingSystem.Reflection;

usingSystem.Data;

///

///Excel文件操作类

///

publicclassExcelOperater

{

#region变量

stringstrFilePath=string.Empty;

intsheetcount=0;

///

///当前Excel的Sheet总数

///

publicintSheetCount

{

get{returnsheetcount;}

set{sheetcount=value;}

}

ApplicationexcelApp;

Workbookwb;

#endregion

#region导出Excel文件

/**/////

///导出Excel文件

///

///要导出的DataSet

///要导出的文件名

publicvoidExportExcel(DataSetds,stringstrExcelFileName)

{

objectobjOpt=Missing.Value;

Applicationexcel=newApplication();

//excel.Visible=true;

_Workbookwkb=excel.Workbooks.Add(objOpt);

_Worksheetwks=(_Worksheet)wkb.ActiveSheet;

wks.Visible=XlSheetVisibility.xlSheetVisible;

introwIndex=1;

intcolIndex=0;

System.Data.DataTabletable=ds.Tables[0];

foreach(DataColumncolintable.Columns)

{

colIndex++;

excel.Cells[1,colIndex]=col.ColumnName;

}

foreach(DataRowrowintable.Rows)

{

rowIndex++;

colIndex=0;

foreach(DataColumncolintable.Columns)

{

colIndex++;

excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();

}

}

//excel.Sheets[0]="sss";

try

{

wkb.SaveAs(strExcelFileName,objOpt,null,null,false,false,XlSaveAsAccessMode.xlNoChange,null,null,null,null,null);

}

catch

{

}

wkb.Close(false,objOpt,objOpt);

excel.Quit();

}

#endregion

///

///创建Excel表

///

///

publicvoidCreateExcel(stringfileName)

{

Objectmissing=Missing.Value;

Microsoft.Office.Interop.Excel.Applicationm_objExcel=newMicrosoft.Office.Interop.Excel.Application();

Microsoft.Office.Interop.Excel.Workbooksm_objWorkBooks=m_objExcel.Workbooks;

Microsoft.Office.Interop.Excel.Workbookm_objWorkBook=m_objWorkBooks.Add(true);

Microsoft.Office.Interop.Excel.Sheetsm_objWorkSheets=m_objWorkBook.Sheets;;

Microsoft.Office.Interop.Excel.Worksheetm_objWorkSheet=(Microsoft.Office.Interop.Excel.Worksheet)m_objWorkSheets[1];

m_objWorkBook.SaveAs(fileName,missing,missing,missing,missing,missing,Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,

missing,missing,missing,missing,missing);

m_objWorkBook.Close(false,missing,missing);

m_objExcel.Quit();

}

///

///关闭Excel进程

///

///是否保存修改

publicvoidClose(boolsaveChange)

{

if(wb!

=null)

{

wb.Close(saveChange,strFilePath,Type.Missing);

}

if(excelApp!

=null)

{

excelApp.Workbooks.Close();

excelApp.Quit();

System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);

}

GC.Collect();

}

#endregion

}

5.1.2MainForm.cs(主界面代码)

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

namespaceScoreManagement

{

publicpartialclassMainForm:

Form

{

publicMainForm(stringrole)

{

InitializeComponent();

if(role=="1")

{

button2.Enabled=false;

button3.Enabled=false;

}

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

//创建学生信息查询窗体

SearchFormsearchfrm=newSearchForm();

searchfrm.ShowDialog();

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

//创建学生信息修改窗体

ModifyFormmodifyfrm=newModifyForm();

modifyfrm.ShowDialog();

}

privatevoidbutton3_Click(objectsender,EventArgse)

{

//创建学生成绩录入窗体

ScoreFormscorefrm=newScoreForm();

scorefrm.ShowDialog();

}

privatevoidMainForm_Load(objectsender,EventArgse)

{

}

privatevoidpictureBox2_Click(objectsender,EventArgse)

{

LoginFormloginfrm=newLoginForm();

loginfrm.ShowDialog();

this.Close();

}

privatevoidbutton4_Click(objectsender,EventArgse)

{

CourseFormcoursefrm=newCourseForm();

coursefrm.ShowDialog();

this.Close();

}

}

}

5.2部分界面截图

1)主界面

 

2)密码修改界面

 

3)学生信息查询界面

4)成绩管理界面

 

5)选课信息,成绩管理

6)教师信息管理界面

7)成绩单导出界面

六、总结体会

数据库课程上完后,我完成了一个基本的学生成绩管理系统,从系统需求分析、数据库设计开始到系统的设计实施,逐步熟悉了如何利用vs2010的C#平台和SQLServer2008数据库开发一个Winform应用系统。

在老师的知道下我经过了一周的时间,花了2天学习和完成各种图,在查阅部分资料逐渐了解系统需求后,我参照老师给我发的需求分析规格说明书、系统总体设计说明书和详细设计说明书,编写了一个简单的总体设计和详细设计说明书。

剩下的时间一直在反复编写和调试程序,从课本和网上查阅相关资料,终于完成了整个课程设计。

在这个过程中,也遇到不少困难,如编程逻辑把握不住,经验太少,不太善于调试程序等。

在一次次克服困难的过程中,我得到了极大的锻炼,获得了许多宝贵的软件开发经验和技巧,我相信这将为我今后的学习工作打下坚实的基础。

本次课程设计很好的锻炼了我的文档编写能力。

我也切实的体会到了文档的重要性。

也发现了自己自己的代码不够规范,在以后的学习中,需要完善自己的软件工程专业知识,从一名专业人员的角度理解客户的需求,提高自己的需求分析和软件设计能力,在以后的编程中规范好自己的代码。

 

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2