资源描述
数据库原理课程设计报告
题 目: 教室管理信息系统
学生姓名:xxx
学 号: xxxx 班 级: 计科xx
院 系: 计算机科学与信息学院
专业年级: 计算机科学与技术 xx 级
年 11 月 8 日
一、需求分析
需包括内容为:
(1) 问题描述:设计系统简朴描述
系统描述:教室管理信息系统是应用于教室管理系统,可是实现教诲信息化管理,对教室使用进行管理,以便于师生查询管理使用教室。
(2)系统功能描述,可画出所设计模块操作流程;
并分析所需要存储数据信息。
功能描述:
教室信息存储:涉及教室编号,教室使用时间,教室空闲时间,教室可容纳人数,现时教室使用人,教室使用负责人等
教师信息存储:教师编号,教师姓名,性别,所属系别,专家课程,授学时间等
学生信息存储:学生编号,学生姓名,性别,所属系别等
教室安排信息存储:教室编号,教室空闲时间,教室使用负责人等
教室使用负责信息存储:负责教室编号,教室使用负责人姓名,教室使用负责人编号等
教室信息存储重要存储教室基本信息和教室安排状况。用于教师和学生查询和申请使用,而教室使用负责人则可以对教室信息查询修改删除。
教师信息存储教师基本状况,学生信息存储学生基本状况。
教室安排信息存储教室安排状况,以便教师申请教室,以及教室负责人对教室安排。
(3) 有何安全性与完整性方面规定(参照所给出语义规则),对不同顾客有何不同系统使用权限等。
学生可以查询和修改学生信息和学生选课信息,以及查询教室使用状况,但学生不能申请教室使用。
教师可以查询和修改教师信息和选课信息,以及查询教室使用状况,申请教室使用。
教室负责人不能查询教师信息和学生信息以及选课信息,但可以查询和修改教室使用状况,可以安排教室使用。
二、概念构造设计
画出系统整体E-R模型;并对模型中所浮现实体及属性等信息加以阐明。
教师号
学号
姓名
姓名
性别
系别
教师
性别
学生
系别
课程名
授学时间
查询
申请
容纳人数
教室号
现时使用人
教室
教室使用时间
教室使用负责人
教室空闲时间
三、逻辑构造设计
(1)模式设计:按系统整体E-R模型,写出关系模式;并运用数据字典加以描述。(如每个关系模式有何属性、属性类型、属性值长度、与否可取空值、与否为主码、有何约束条件等信息)
学生(学号,姓名,性别,系别)
教师(教师号,姓名,性别,系别,课程名,授学时间)
教室(教室号,教室使用时间,教室空闲时间,容纳人数,现时使用人,教室使用负责人)
教室使用负责人(教室负责人编号,教室负责人姓名,教室编号)
安排(教师号,教室负责人姓名,教室号,申请状态)
学生表
属性名
存储代码
类型
长度
备注
学号
sno
string
20
学生编号(主码)
姓名
sname
string
10
学生姓名(不能为空)
性别
ssex
string
2
学生性别(男、女)
系别
sdept
string
20
学生所属系别
教师表
属性名
存储代码
类型
长度
备注
教师号
tno
string
20
教师编号(主码)
姓名
tname
string
10
教师姓名(不能为空)
性别
tsex
string
2
教师性别(男、女)
系别
tdept
string
20
教师所属系别
授课课程名
tcourse
string
20
教师专家课程名
授学时间
coursetime
string
20
教师授学时间
教室表
属性名
存储代码
类型
长度
备注
教室号
cno
string
20
教室编号(主码)
教室使用时间
usetime
string
20
教室使用时间
教室空闲时间
freetime
string
20
教室空闲时间
容纳人数
people
string
10
教室可容纳人数(不能为空)
教室使用负责人
charge
string
20
负责申请教室使用管理员
教室使用负责人表
属性名
存储代码
类型
长度
备注
教室管理员编号
ano
string
20
教室管理员编号(主码)
教室管理员姓名
aname
string
20
管理员姓名(不能为空)
教室编号
cno
string
20
教室编号
安排教室使用表
属性名
存储代码
类型
长度
备注
教师号
tno
string
20
教师编号(主码之一)
教室号
cno
string
20
教室编号(主码之一)
教室管理员姓名
aname
string
20
管理员编号(主码之一)
申请状态
stage
string
20
与否通过申请(是、否)
(2)子模式设计:即针对自己设计模块应用需定义什么样视图表构造;并运用数据字典加以描述。
(如每个关系子模式有何属性、属性类型、属性值长度、与否可取空值、与否为主码、有何约束条件等信息)
(3) 画出系统功能模块图,并对各功能模块进行简朴简介。
教室查询功能:学生、管理员、教师可以依照教室号查询教室状况。
教师查询功能:学生可以依照教师号查询教师状况,教师可以查询修改教师状况。
教室借用系统:教师可以登录申请使用教室,等待管理员安排教室使用。
四、数据库物理设计
为了提高在表中搜索元组速度,在实际实现时候应当基于某些属性建立索引。给出所建立索引。(涉及按哪些表中哪些属性按升序还是降序来创立索引及相应T-SQL创立语句)。
教师表建立索引,按教师号升序建唯一索引。
教室表建立索引,按教室号升序建唯一索引。
教室使用负责人表建立索引,按教室管理员号升序建唯一索引。
五、数据库设计实现及运营
(1)数据库创立
T-SQL语句:
(2)数据表创立(可同步在创立时定义有关约束)
T-SQL语句:
(3)视图创立(仅需给出自己设计模块中所用视图)
T-SQL语句:
(4)各模块中功能实现
a) 功能界面(截图);
b)功能界面简朴描述;
登陆界面可以实现不同顾客涉及教师、学生、管理员登陆,登陆到不同界面。
学生登陆到学生界面,可以实现关于教师信息查询和关于教室信息查询。
教室登陆到教师界面,可以实现关于教师信息增删查改,以及关于教室申请使用和查询申请成果。
管理员登陆到管理员界面,可以实现关于教师信息查询,以及关于教室信息增删查改,和容许教师申请相应教室,或者否定教师申请相应教室。
c)T-SQL语句与宿主语言嵌套使用代码段(粘贴);
查询语句:
string conString = "Data Source=.;Initial Catalog=project;Integrated Security=True";
SqlConnection conn = new SqlConnection(conString);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("select tno 教师号,tname 教师名,tsex 性别,tdept 系别,tcourse 所授课程,coursetime 授学时间 from teacher where tno='" + TextBox1.Text.Trim() + "'",conn);
DataSet ds = new DataSet();
da.Fill(ds,"teacher");
GridView2.DataSource = ds.Tables["teacher"];
GridView2.DataBind();
conn.Close();
删除语句:
string conString = "Data Source=.;Initial Catalog=project;Integrated Security=True";
SqlConnection conn = new SqlConnection(conString);
conn.Open();
SqlCommand caa = new SqlCommand("delete from teacher where tno='" +TextBox1.Text.Trim() + "'",conn);
if (caa.ExecuteNonQuery() == 1)
{
Page.RegisterStartupScript("msg1 "," <script> alert( '删除成功! ') </script> ");
}
conn.Close();
修改语句:
string conString = "Data Source=.;Initial Catalog=project;Integrated Security=True";
SqlConnection conn = new SqlConnection(conString);
conn.Open();
SqlCommand cbb = new SqlCommand("update teacher set tname='" + TextBox2.Text.Trim() + "',tsex='" + TextBox3.Text.Trim() + "',tdept='" + TextBox4.Text.Trim() + "',tcourse='" + TextBox5.Text.Trim() + "', coursetime='" + TextBox6.Text.Trim() + "' where tno=" + TextBox1.Text.Trim() + "",conn);
if (cbb.ExecuteNonQuery() == 1)
{
Page.RegisterStartupScript("msg1 "," <script> alert( '修改成功! ') </script> ");
}
else
{
Page.RegisterStartupScript("msg1 "," <script> alert( '输入信息有误! ') </script> ");
}
conn.Close();
添加语句:
SqlCommand cdd = new SqlCommand("insert into teacher (tno,tname,tsex,tdept,tcourse,coursetime) values('" +TextBox1.Text.Trim() + "','" + TextBox2.Text.Trim() + "','" + TextBox3.Text.Trim() + "','" + TextBox4.Text.Trim() + "','" + TextBox5.Text.Trim() + "','" + TextBox6.Text.Trim() + "')",conn);
if (cdd.ExecuteNonQuery() == 1)
{
Page.RegisterStartupScript("msg1 "," <script> alert( '添加成功! ') </script> ");
}
else
Page.RegisterStartupScript("msg1 "," <script> alert( '输入信息有误! ') </script> ");
}
六、 课程设计心得
在开始做教室管理系统时候,我一方面用C#做了一种本地客户端,遇到不懂地方我就结合课本和自己在网上查询有关知识解决,在理解教师规定后,我又用连接SQL server做了一种web版教室管理系统,重新学习有一定难度,由于在课堂上没学过这个,但是自己在网上理解有关知识学习后,发现诸多问题不像自己始终觉得那么困难,只要努力去做,诸多问题可以自己解决。
展开阅读全文