sql教室管理系统报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理课程设计报告
题目: 教室管理信息系统
学生姓名:xxx
学号: xxxx 班级:计科xx
院系:计算机科学与信息学院
专业年级:计算机科学与技术xx 级
2015 年11 月 8 日
一、需求分析
需包含内容为:
(1)问题描述:设计系统的简单描述
系统描述:教室管理信息系统是应用于教室管理的系统,可是实现教育信息化管理,对教室的使用进行管理,方便于师生查询管理使用教室。
(2)系统功能描述,可画出所设计模块的操作流程;
并分析所需要存储的数据信息。
功能描述:
教室信息存储:包括教室编号,教室使用时间,教室空闲时间,教室可容纳人数,现时教室使用人,教室使用负责人等
教师信息存储:教师编号,教师姓名,性别,所属系别,教授课程,授课时间等
学生信息存储:学生编号,学生姓名,性别,所属系别等
教室安排信息存储:教室编号,教室空闲时间,教室使用负责人等
教室使用负责信息存储:负责的教室编号,教室使用负责人姓名,教室使用负责人编号等
教室信息存储主要存储教室的基本信息和教室的安排情况。用于教师和学生的查询和申请使用,而教室使用负责人则可以对教室信息的查询修改删除。
教师信息存储教师的基本情况,学生信息存储学生的基本情况。
教室安排信息存储教室的安排情况,方便教师申请教室,以及教室负责人对教室的安排。
(3)有何安全性与完整性方面的要求(参照所给出的语义规则),对不同的用户有何
不同的系统使用权限等。
学生可以查询和修改学生信息和学生选课信息,以及查询教室的使用情况,但学生
不能申请教室的使用。
教师可以查询和修改教师信息和选课信息,以及查询教室的使用情况,申请教室的
使用。
教室负责人不能查询教师信息和学生信息以及选课信息,但可以查询和修改教室使
用情况,可以安排教室的使用。
二、概念结构设计
画出系统整体的E-R模型;并对模型中所出现的实体及属性等信息加以说明。
三、逻辑结构设计
(1)模式设计:按系统整体E-R模型,写出关系模式;并利用数据字典加以描述。
(如每个关系模式有何属性、属性的类型、属性值的长度、是否可取空值、是否为主码、有何约束条件等信息)
学生(学号,姓名,性别,系别)
教师(教师号,姓名,性别,系别,课程名,授课时间)
教室(教室号,教室使用时间,教室空闲时间,容纳人数,现时使用人,教室使用负责人)教室使用负责人(教室负责人编号,教室负责人姓名,教室编号)
安排(教师号,教室负责人姓名,教室号,申请状态)
教室使用负责人表
安排教室使用表
(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 ", " ");
}
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 ", " ");
}
else
{
Page.RegisterStartupScript("msg1 ", " ");
}
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);