数据库原理课程设计报告

  • 格式:docx
  • 大小:433.63 KB
  • 文档页数:19

数据库原理课程设计》课程设计任务书一、目的与要求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(如oracle , SQL Server 2005/2008 , DB2等)上完成完整的数据库的设计;2. 使用可视化开发平台完成信息系统,要求可以正确运行;3. 完成实验报告。

五、考核方式1. 在微机上检查数据库模式的设计、三大完整性的设计、关系属于几范式等;2. 在微机上检查系统的运行结果,要求学生阐述使用的相关技术;3. 实验报告的检查。

六、题目附录1.学生信息管理信息系统2.图书管理信息系统3.物资管理信息系统4.汽车销售管理信息系统5.超市管理信息系统6.通讯录管理信息系统7.工资管理信息系统8.酒店管理信息系统9.小区物业管理信息系统学生姓名:指导教师:、课程设计(综合实验)的目的与要求1.正文为宋体,五号字行间距为211.1 ----------------1.2 ----------------二、设计(实验)正文1.正文为宋体,五号字行间距为211.1 ----------------1.2 ----------------三、课程设计(综合实验)总结或结论1.正文为宋体,五号字行间距为211.1 ----------------1.2 ----------------四、参考文献[1] 作者1, 作者2 书名. 出版单位, 版本. 出版日期附录(设计流程图、程序、表格、数据等)注:根据课程设计、综合实验的内容将标题任选其一。

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

系统应该提供的功能包括:1. 永久存储用户输入的信息;2. 数据调度和数据查找操作简易;3. 数据的删除和更新很方便;4. 为不同级别用户设置不同操作权限;本项目的产品是一个独立、完整的程序,目前不提供其他系统的接口。

2. 数据描述3. 运行需求1) 用户界面本系统采用C/S 架构,所以在使用之前必须安装该程序, 所以界面不会像 B/S 那样发生变形或者扭曲等危险,界面问题得到了解决。

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

3) 软件接口本系统未与其他系统发生关系,也没有使用到系统的4)故障处理A 、在用户输入一些不合理的数据的时候,能够进行一些合理的提示信息,不能因为输名称:XS_XC 别名:选课表描述:选课信息 定义:学号+课程号+ 成绩位置:SQL Server 数据库API ,所以不对外提供软件接口。

入错误而导致系统的错误,或者程序停止运行;B程序运行时,对服务器和网络通信故障能够识别并提示,当故障排除后,程序恢复正常运行;C、数据库要求有灾难备份机制,以防止数据的全部丢失。

二、系统功能设计2.1系统程序流程图系统主体为信息的查询,更新,删除,故本系统的主要系统主题流程图为下图:系统总体流程图2.2常用模块设计2.2.1学生成绩和学生信息查询。

功能:查询、浏览学生信息。

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

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

教师信息查询同上。

2.2.2学生成绩录入删除窗体功能:设置权限管理,管理人员可以录入删除学生成绩和信息。

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

查询数据库显示结果1 f退出输入学号点击删除实现223学生成绩修改1f成绩录入模块1■r学生考试成绩t-------------- 登陆成绩管理系统退出系统功能:修改学生成绩信息。

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

学生信息录入修改同上。

2.2.4学生成绩单导出功能:将学生成绩单导出至指定位置的Excel表格登陆导出成绩打开文件退出三、数据库概念设计系统E-R图四、数据库逻辑设计4.1数据库表设计5 XB10 n char 是 性别 6 CSNYdate否 出生日期 7 XFint 否 已修学分 8BZ100n char是备注表表结构字段号 属性名 字节长度 数据类型是否允许空值说明 1 】田千口 i=r. 课程号10 n char 否 参照KC 表主键 2 学号10n char 否 参照XS 表主键 3 成绩Float是 成绩(0~100)4idint否主码表表结构字段号 属性名 字节长度 数据类型 是否允许空值说明1 teach _num 10 n char 否 教工号,主码2 teach_ name 10 n char 否 姓名3 teach_pass10 n char 是 密码 4 age 10 int 否 年龄 5sex4n char是性别4.2数据库表关系图CSSJ ZXFRZPASSAdmin *adnwijMM admin JevdXM ZYW4.3数据库视图设计View Score 视图五、系统编码与实现5.1程序部分代码界面名主要功能 CourseForm 课程操作表 SearchForm 学生信息表 Mai nF orm 主要界面Averge 平均成绩查看界面 In dex 首页 Logi nForm 登陆界面 ExcelPutOut 电子表格输出表 Main Forml 选项卡式主界面 TeacherForm教师管理页面 Chan gePass修改密码页面F 面将主要代码展示如下5.1.1 ExcelOperater.es (Excel 导出类)using System;using Microsoft.Office.lnterop.Excel; using System.Diag no stics; using System.Collecti on s.Ge neric; using System.Reflecti on; using System.Data; /// <summary> III Excel文件操作类/// </summary>public class ExcelOperater {#regi on 变量str ing strFilePath = stri ng.Empty; int sheetcou nt = 0; /// <summary>酉xs二7XMXN*ZYMXEC55JZXF ——匚KH 商有列)XHKCH 小」: C IDKCH * KCMKKXQXS — XF團 XS_KC/// </summary>public int SheetCount{get { return sheetcount; }set { sheetcount = value; }}Application excelApp;Workbook wb;#endregion#region 导出Excel 文件/**///// <summary>/// 导出Excel 文件/// </summary>/// <param name="ds"> 要导出的DataSet</param>/// <param name="strExcelFileName"> 要导出的文件名</param> public void ExportExcel(DataSet ds,string strExcelFileName){object objOpt = Missing.Value;Application excel = new Application();//excel.Visible = true;_Workbook wkb = excel.Workbooks.Add(objOpt);_Worksheet wks = (_Worksheet)wkb.ActiveSheet;wks.Visible = XlSheetVisibility.xlSheetVisible;int rowIndex=1;int colIndex=0;System.Data.DataTable table=ds.Tables[0] ;foreach(DataColumn col in table.Columns){colIndex++;excel.Cells[1,colIndex]=col.ColumnName;}foreach(DataRow row in table.Rows){rowIndex++;colIndex=0;foreach(DataColumn col in table.Columns){colIndex++;excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();}}//excel.Sheets[0] = "sss";XlSaveAsAccessMode.xlNoChange, null, null, null, null, null); }catch { }wkb.Close(false,objOpt,objOpt); excel.Quit();}#endregion /// <summary> /// 创建 Excel 表 /// </summary> /// <returns></returns>public void CreateExcel(string fileName) {Object missing = Missing.Value;Microsoft.Office.Interop.Excel.Application Microsoft.Office.Interop.Excel.Application();Microsoft.Office.Interop.Excel.Workbooks m_objExcel.Workbooks;Microsoft.Office.Interop.Excel.Workbook m_objWorkBooks.Add(true);Microsoft.Office.Interop.Excel.Sheets m_objWorkBook.Sheets; ;Microsoft.Office.Interop.Excel.Worksheet(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();}/// <summary> /// 关闭 Excel 进程 /// </summary>/// <param name="saveChange"> 是否保存修改 </param>public void Close(bool saveChange){if (wb != null)wb.Close(saveChange, strFilePath, Type.Missing); } if (excelApp != null) {excelApp.Workbooks.Close(); excelApp.Quit();System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp); }try{wkb.SaveAs(strExcelFileName, objOpt, null, null, false, false,m_objExcel m_objWorkBooks m_objWorkBook m_objWorkSheets m_objWorkSheetnewGC.Collect();}#endregion}5.1.2 MainForm.cs (主界面代码)using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace ScoreManagement{public partial class MainForm : Form{public MainForm(string role){InitializeComponent();if (role == "1"){button2.Enabled = false;button3.Enabled = false;}}private void button1_Click(object sender, EventArgs e){// 创建学生信息查询窗体SearchForm searchfrm = new SearchForm(); searchfrm.ShowDialog();}private void button2_Click(object sender, EventArgs e){ModifyForm modifyfrm = new ModifyForm(); modifyfrm.ShowDialog();}private void butt on 3_Click(object sen der, Eve ntArgs e){// 创建学生成绩录入窗体ScoreForm scorefrm = new ScoreForm(); scorefrm.ShowDialog();}private void MainFo rm_Load(object sen der, Eve ntArgs e){}private void pictureBox2_Click(object sen der, Even tArgs e) { Logi nF orm logi nfrm = new Logi nF orm();logi nfrm.ShowDialog();this.Close();}private void butt on 4_Click(object sen der, Eve ntArgs e){CourseForm coursefrm = new CourseForm(); coursefrm.ShowDialog();this.Close();}}}5.2部分界面截图i)主界面2)密码修改界面3)学生信息查询界面4)成绩管理界面5)选课信息,成绩管理学号课程宕姓牡击1106110?计直机凰础理明i+sn n90C6::02样茅愷计语言…稈明计茸机T8061102爵敢救乎...删月i+fltfl 178(KL103计尊肌基础...王热计茸机02MH03程萍设计语盲.工葩计算机d700611103王礙计薛机胎XH04计算机葛础韦尹平计直机90061104酶设计層害--韦严平计靱34XLIQ^酎数学•…韦严平计算机&□OCLIOS计JC机基础...李方方H算机15506L106程序逢卄语肓…李方方计茸机71reucs寡前料学x+Wttl90FRI6)教师信息管理界面7)成绩单导出界面C YUssr I ir i ttrsr DT\J T3呻ExteJkleiper或-E土無W1IHO&llC^0GUCG学万方QG11C«辛吋计算机计耳机计韵n描氓件査刃T3.十迫机-411.六、总结体会数据库课程上完后,我完成了一个基本的学生成绩管理系统,从系统需求分析、数据库设计开始到系统的设计实施,逐步熟悉了如何利用VS2010的C#平台和SQLServer2008数据库开发一个Winform 应用系统。