学生管理系统实验报告

课程设计报告

( 20##--20##年度第2学期)

名    称:数据库原理课程设计

  题    目:学生成绩管理系统 

院    系:   计算机系       

班    级:   网络0901       

学    号:   

学生姓名:           

指导教师: 

设计周数:       1         

成    绩:                   

          

日期:20##年 6月 24日

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

   

一、   目的与要求

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.  酒店管理信息系统

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

学生姓名:

指导教师:

                  年   月    日

一、课程设计的目的与要求

1.   本实验是为网络工程、信息安全等专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。

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

3.   通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。

二、设计正文

1.    需求分析

1.1    学生成绩管理信息系统就是实现学生成绩的管理

1.2          可分为三种用户:教务处管理员,其权限最大,有增删教师、学生,课表及学生选课表的功能;教师,对自己所教授的课程有查询和修改权限;学生,对自己的成绩有查询权限

1.3    所有的用户都可以修改密码

2.    系统功能设计,可以用模块结构图、功能结构图来描述。

功能结构图:

 

3.    数据库概念设计(含ER图)

4.    数据库逻辑设计

4.1教务处管理员用户表:AUser:

教师用户表:TUser:

学生用户表:SUser:

学生表:Student:

教师表:Teacher:

课程表:Course:

学生选课表:SC:

4.2数据库关系图:

4.3视图:

形成的视图为:

5.    系统编码与实现。

主要功能截图和部分核心代码:

5.1登录界面:

部分代码:

if (RadioButtonList1.SelectedValue == "学生");

{

sqlc.CommandText = "select * from SUser where Uid ='" + TextBoxUser.Text + "'and Upassword ='" + TextBoxPassword.Text + "'";

            SqlDataReader adr = sqlc.ExecuteReader();

            if (adr.Read())

            {

                Session.Add("id", TextBoxUser.Text);

                Session.Add("role", "学生");

                Response.Redirect("student.aspx");

            }

}

查询账户,添加Session;

5.2学生查询:

查询代码和上述查询用户类似,不再赘述

简单附录GridView数据绑定的代码:

SqlDataAdapter sda = new SqlDataAdapter(sql, conn);

        DataSet ds = new DataSet();

        sda.Fill(ds);

        GridView1.DataSource = ds;

        GridView1.DataBind();

5.3教师查询修改界面:

修改按钮的部分代码:

String sql = "update SC set Grade = " + TextBox2.Text + "where Sno = '"

         +TextBox1.Text + "'and Cno = '" + DropDownList1.SelectedValue.ToString() + "'";

        SqlConnection conn = new SqlConnection();

        conn.ConnectionString = @"Data Source=xun-PC\SQLEXPRESS1;Initial Catalog=score;Integrated Security=True";

        conn.Open();

        SqlCommand sqlc = new SqlCommand();

        sqlc.Connection = conn;

        sqlc.CommandText = sql;

        sqlc.ExecuteNonQuery();

        conn.Close();

下拉列表的数据绑定:

SqlDataAdapter sda = new SqlDataAdapter(sql1, conn);

        DataTable dt = new DataTable();

        sda.Fill(dt);

        DropDownList1.DataSource = dt.DefaultView;

        DropDownList1.DataTextField = "Cname";

        DropDownList1.DataValueField = "Cno";

        DropDownList1.DataBind();

5.4管理员界面:

因大部分代码前面已有叙述,这里只列出增加、删除的所用SQL语言

增加:

string sql = "insert into Student values('" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','" + TextBox7.Text + "')";

值得注意的是,增加学生或教师的时候,要相应地在用户表里增加用户

删除:

string sql = "delete from student where Sno = '" + TextBox3.Text + "'";

删除已经设置为级联。

5.5修改密码:

修改密码只是一个更新行为,不在赘述。

三、课程设计总结

此次课程设计收获颇多,对学习的数据库原理、软件工程、面向对象方法等等有了一个综合的回顾和应用,不仅夯实了基础,更使我有了进一步的体会及对ASP。NET技术的熟练掌握。

在实验的过程中还是遇到了部分问题,尤其是外键的设置曾给带来了一些麻烦,后来想想,设置外键,表与表之间增加了联系,但是自己不要乱,自己乱了那些键也就乱了。

总之,这次实验对自己的水平提高有了较大的帮助作用。

四、参考文献

[1]王珊,萨师煊.数据库原理概论.高等教育出版社.第四版.20##年5月

[1]魏雪萍.新编ASP.NET从入门到精通.人民邮电出版社.第一版.20##年10月

相关推荐