数据库报告word

上传人:精*** 文档编号:387841 上传时间:2018-07-20 格式:DOCX 页数:25 大小:892.66KB
返回 下载 相关 举报
数据库报告word_第1页
第1页 / 共25页
数据库报告word_第2页
第2页 / 共25页
数据库报告word_第3页
第3页 / 共25页
点击查看更多>>
资源描述
.企业实训实习报告系别:计算机科学与技术班级: 姓名: 学号:成绩:评语:指导教师签字: 日期:.数据库应用系统开发一、 需求分析-大学生选课管理系统【实验内容】 教务处的管理人员录入全校的课程基本信息和本学期的课程授课教师、地点、时间; 在学生入学的时候,学院的管理人员录入学生基本信息; 学生每学期自己上网登录系统选课,选课成功后信息存入数据库中,学生自己可以查询选课的情况; 学生选课不成功的情况有: 所选课程的先修课还没有记录,系统提示“缺先修课,选课失败” ; 本学期所选课程的上课时间有冲突,系统提示“上课时间有冲突,选课失败” ; 学生一学期所选课程的学分最多不能超 18 学分 学生可以注销所选课程。 学院管理员可以查询学生前几学期的选课信息、可以查询课程基本信息、学生基本信息; 当学生退学时,由教务处的管理人注销学生基本信息; 如果开课之后,学生要求退课,则由教务处的工作人员为学生注销所选课程; 允许学生休学,教务处为休学的退学做学籍冻结处理;复学后为其办理解冻处理; 每学期教务处为学生办理学期注册手续;没有办理学期注册的学生不能选课; 学期末,学院工作人员负责录入学生的成绩。【实验目的】通过本实验使学生掌握结构化需求分析的方法、过程和相应的文档内容与格式。特别是熟悉数据流程图、数据字典和 IPO 图三个核心技术的应用。【实验步骤】1) 结合实验内容说明,对现有的学生选课系统进行必要的调研,了解基本的工作流程、软件功能、数据需求和界面风格。.2) 分析实验内容说明和调研结果,画出系统的数据流程图。3) 编写系统的数据字典。4) 用 IPO 图描述系统的处理过程。5) 画出系统 ER 图。【实验结果】数据流程图:数据字典:学生基本信息字段名 数据名称 数据长度 数据类型 是否为主键StudentID 学号 50 字节 nvarchar 是Name 姓名 50 字节 nvarchar 否Sex 性别 50 字节 nvarchar 否Age 年龄 4 字节 int 否Academy 学院 50 字节 nvarchar 否Major 专业 50 字节 nvarchar 否Class 班级 50 字节 nvarchar 否Enrollment 入学时间 50 字节 nvarchar 否Address 家庭地址 50 字节 nvarchar 否beizhu 备注 50 字节 nvarchar 否State 状态 4 字节 int 否RoleID 角色号 4 字节 int 否.用户信息字段名 数据名称 数据长度 数据类型 是否为主键userID 用户名 50 字节 nvarchar 是Password 密码 50 字节 nvarchar 否Role 角色 50 字节 nvarchar 否Academy 角色号 4 字节 int 否Time 登陆时间 50 字节 nvarchar 否课程基本信息字段名 数据名称 数据长度 数据类型 是否为主键CourseID 课程号 50 字节 nvarchar 是CourseName 学号 50 字节 nvarchar 否Classify 课程分类 50 字节 nvarchar 否Credit 学分 4 字节 int 否Major 专业 50 字节 nvarchar 否Academy 学院 50 字节 nvarchar 否Advanced_coursename 先修课程名 50 字节 nvarchar 否Advanced_course 先修课程号 50 字节 nvarchar 否授课信息字段名 数据名称 数据长度 数据类型 是否为主键CourseID 课程号 50 字节 nvarchar 是CourseName 课程名称 50 字节 nvarchar 否Schooltime 上课时间 50 字节 nvarchar 否Credit 学分 4 字节 int 否Address 上课地点 50 字节 nvarchar 否Start_end 起止时间 50 字节 nvarchar 否Teacher 授课老师 50 字节 nvarchar 否Class 上课班级 50 字节 nvarchar 否Sum 课程容量 4 字节 int 否Renshu 上课人数 4 字节 int 否Sel_count 选课人数 4 字节 int 否选课信息字段名 数据名称 数据长度 数据类型 是否为主键StudentID 学号 50 字节 nvarchar 是CourseID 课程号 50 字节 nvarchar 是CourseName 课程名称 50 字节 nvarchar 否StateCourse 中签状态 50 字节 nvarchar 否Year 年份 4 字节 int 是Season 季别 50 字节 nvarchar 否Classify 课程分类 50 字节 nvarchar 否成绩信息字段名 数据名称 数据长度 数据类型 是否为主键StudentID 学号 50 字节 nvarchar 是.CourseID 课程号 50 字节 nvarchar 是CourseName 课程名称 50 字节 nvarchar 否Grade 分数 4 字节 int 否Credit 学分 4 字节 int 否TeacherName 授课老师 50 字节 nvarchar 否Year 年份 4 字节 int 否Season 季别 50 字节 nvarchar 否学生注册信息字段名 数据名称 数据长度 数据类型 是否为主键StudentID 学号 50 字节 nvarchar 是Name 姓名 50 字节 nvarchar 否Year 年份 4 字节 int 是Season 季别 4 字节 nvarchar 是Register 注册 4 字节 int 否教师信息字段名 数据名称 数据长度 数据类型 是否为主键TeacherID 教师编号 50 字节 nvarchar 是Name 姓名 50 字节 nvarchar 否Sex 性别 50 字节 nvarchar 否Title 职称 50 字节 nvarchar 否Academy 所属学院 50 字节 nvarchar 否Position 职务 50 字节 nvarchar 否Birth 出生日期 50 字节 nvarchar 否jiguan 籍贯 50 字节 nvarchar 否beizhu 备注 50 字节 nvarchar 否系统 ER 图:.二、 系统设计-选课管理系统设计【实验内容】1) 对实验 1 的结果进行概要设计和详细设计,画出功能模块图。2) 对系统的主界面、课程基本信息录入界面、学生选课操作界面、学生选课结果浏览界面进行设计。3) 进行数据库设计。得到数据库的逻辑结构图。【实验结果】系统功能模块图a) 顶层模块结构图b) 详细模块结构图.用例图a) 学生用例图b) 学院管理员用例图c) 教务处管理员用例图.数据库设计(包括表名、字段名、字段类型、字段大小、字段说明)a) 用户表(Account )b) 课程基本信息表(Course_basic_info )c) 授课信息表(course_info)d) 学生成绩表(Score).e) 学生选课表(Select_course)f) 学生基本信息表(Student)g) 学生注册信息表(Student_record).h) 教师基本信息表(Teacher_info)三、 选课管理系统编程【实验内容】 教务处的管理人员录入全校的课程基本信息和本学期的课程授课教师、地点、时间; 在学生入学的时候,学院的管理人员录入学生基本信息; 学生每学期自己上网登录系统选课,选课成功后信息存入数据库中,学生自己可以查询选课的情况; 学生选课不成功的情况有: 所选课程的先修课还没有记录,系统提示“缺先修课,选课失败”; 本学期所选课程的上课时间有冲突,系统提示“上课时间有冲突,选课失败”; 学生一学期所选课程的学分最多不能超 18 学分 学生可以注销所选课程。 学院管理员可以查询学生前几学期的选课信息、可以查询课程基本信息、学生基本信息; 当学生退学时,由教务处的管理人注销学生基本信息; 如果开课之后,学生要求退课,则由教务处的工作人员为学生注销所选课程; 允许学生休学,教务处为休学的退学做学籍冻结处理;复学后为其办理解冻处理; 每学期教务处为学生办理学期注册手续;没有办理学期注册的学生不能选课;学期末,学院工作人员负责录入学生的成绩。.【实验目的】1) 通过本实验使学生通过掌握选课管理系统的实现。【实验步骤】根据实验 1 和实验 2 对选课管理系统的了解,选用 C#编程语言实现本系统,并对编码通过注释进行必要的说明。【实验结果】a) 登陆界面b) 学生操作界面.c) 选课查看d) 课程信息修改e) 学生信息修改.f) 选课抽签g) 学生信息录入h) 查询选课信息.i) 学生注册j) 休学、复学主要功能源代码登录界面:private void button1_Click(object sender, EventArgs e)string userid = textBox1.Text;/用户名string pwd = textBox2.Text; /密码string un= comboBox1.Text;string conn = Data Source= .SQLEXPRESS;Initial Catalog=XKXT; User ID=sa; pwd=lfj123456;/Data Source 服务器名 ;Initial Catalog 数据库名; User ID 用户名; pwd 密码SqlConnection connection = new SqlConnection(conn);/创建数据库连接tryconnection.Open();SqlCommand comm = new SqlCommand();/创建数据库命令comm.Connection = connection;/设置命令的数据库连接.string str_sql = select count(*) from u where userid=userid and password=password and userno=un;/执行的命令 Sqlcomm.CommandText = str_sql;/设置命令文本comm.Parameters.Add(new SqlParameter(userid, userid);comm.Parameters.Add(new SqlParameter(password, pwd);comm.Parameters.Add(new SqlParameter(un,un);int count = Convert.ToInt32(comm.ExecuteScalar();/执行命令if (count0)if (un.Equals(学生)name = userid;/用户名等于输入的用户名,密码等于输入的密码的记录条数大于0,表示登陆成功,显示主界面Form2 f2 = new Form2();f2.Show(); if (un.Equals(院管理员)/用户名等于输入的用户名,密码等于输入的密码的记录条数大于 0,表示登陆成功,显示主界面Form3 f3 = new Form3();f3.Show();if (un.Equals(教务处管理员)/用户名等于输入的用户名,密码等于输入的密码的记录条数大于 0,表示登陆成功,显示主界面Form4 f4 = new Form4();f4.Show();elseMessageBox.Show(用户名或者密码输入错误);学生选课:private void button4_Click(object sender, EventArgs e)string cname = comboBox4.Text;string n = Form1.name;string semester = comboBox5.Text;string conn = Data Source= .SQLEXPRESS;Initial Catalog=XKXT; User ID=sa; .pwd=lfj123456;/Data Source 服务器名 ;Initial Catalog 数据库名; User ID 用户名; pwd 密码SqlConnection connection = new SqlConnection(conn);/创建数据库连接tryconnection.Open();SqlCommand comm = new SqlCommand();/创建数据库命令comm.Connection = connection;/设置命令的数据库连接string str_sql=select sout from s where sno=n;comm.Parameters.Add(new SqlParameter(n, n);comm.CommandText = str_sql;SqlDataReader d = null;d = comm.ExecuteReader();if (d.Read()int sout = Convert.ToInt32(dsout.ToString();if (sout = 0)connection.Close();connection.Open();str_sql = select count(*) from course where cname=cname and (cfirst= or cfirst in (select cno from Sc where sno=n and grade!=0);/执行的命令Sqlcomm.CommandText = str_sql;/设置命令文本comm.Parameters.Add(new SqlParameter(cname, cname);int count= Convert.ToInt32(comm.ExecuteScalar();/执行命令if (count 0) connection.Close();connection.Open();str_sql = select count(*) from c where cname=cname and ctime not in (select ctime from sc,c where sno=n and sc.cno=c.cno and grade=0);comm.CommandText = str_sql;/设置命令文本count = Convert.ToInt32(comm.ExecuteScalar();/执行命令if (count 0)connection.Close();connection.Open();str_sql = select sum(ccredit) from c where cno in(select cno from sc where grade=0 and sno=n);comm.CommandText = str_sql;/设置命令文本int sum = Convert.ToInt32(comm.ExecuteScalar();/执行命令.connection.Close();connection.Open();str_sql = select ccredit,cno from c where cname=cname;comm.CommandText = str_sql;/设置命令文本SqlDataReader dr = null;dr = comm.ExecuteReader();if (dr.Read()int a = 0;a = Convert.ToInt32(drccredit.ToString();string cno = drcno.ToString();int c = sum + a;if (c 18)connection.Close();connection.Open();str_sql = insert into sc values( + n + ,+ cno + ,+ null + ,+ semester + ) ;comm.CommandText = str_sql;/设置命令文本comm.ExecuteNonQuery();/执行命令MessageBox.Show(选课成功!);else MessageBox.Show(本学期所选课程学分已满 18,请下学期再选!);else MessageBox.Show(与已有课程时间冲突!);elseMessageBox.Show(缺少先选课!);else MessageBox.Show(该学生尚未注册,不能选课!);catch (SqlException ex)MessageBox.Show(ex.Message);finally.connection.Close();/关闭数据库连接查询选课:private void button2_Click(object sender, EventArgs e)this.dataGridView2.Rows.Clear();string semester = comboBox2.Text;string n = Form1.name;string str_sql;string conn = Data Source= .SQLEXPRESS;Initial Catalog=XKXT; User ID=sa; pwd=lfj123456;SqlConnection connection = new SqlConnection(conn);/创建数据库连接tryconnection.Open();SqlCommand comm = new SqlCommand();/创建数据库命令comm.Connection = connection;/设置命令的数据库连接if (semester.Equals(所有选课)str_sql = select C.Cno,Cname,Cteacher,Ccredit from sc,c where sc.sno=n and c.cno=sc.cno;/执行的命令 Sqlelsestr_sql = select C.Cno,Cname,Cteacher,Ccredit from sc,c where sc.sno=n and semester=semester and c.cno=sc.cno;/执行的命令 Sqlcomm.Parameters.Add(new SqlParameter(n, n);comm.Parameters.Add(new SqlParameter(semester, semester);comm.CommandText = str_sql;comm.Connection = connection;SqlDataReader str = null;str = comm.ExecuteReader();int count = 0;while (str.Read()this.dataGridView2.Rows.Add();this.dataGridView2.Rowscount.Cells0.Value = strCno.ToString();this.dataGridView2.Rowscount.Cells1.Value = strCname.ToString();.this.dataGridView2.Rowscount.Cells2.Value = strCteacher.ToString();this.dataGridView2.Rowscount.Cells3.Value = strCcredit.ToString();count+;catch (SqlException ex)MessageBox.Show(ex.Message);finallyconnection.Close();/关闭数据库连接录入学生信息:private void button1_Click(object sender, EventArgs e)string sno = textBox1.Text;/学号string sname = textBox2.Text; /姓名string ssex = textBox3.Text;/性别string sclass = textBox4.Text; /班级string conn = Data Source= .SQLEXPRESS;Initial Catalog=XKXT; User ID=sa; pwd=lfj123456;/Data Source 服务器名 ;Initial Catalog 数据库名; User ID 用户名; pwd 密码SqlConnection connection = new SqlConnection();/创建数据库连接connection.ConnectionString = conn;tryconnection.Open();SqlCommand comm = new SqlCommand();/创建数据库命令comm.Connection = connection;/设置命令的数据库连接string str_sql1 = select count(*) from s where sno=sno;comm.CommandText = str_sql1;/设置命令文本comm.Parameters.Add(new SqlParameter(sno, sno);int count = Convert.ToInt32(comm.ExecuteScalar();/执行命令if (count 1)string a, b, c;a = ;b = ;c = ;.string str_sql = insert into S values( + sno + ,+ sname + ,+ ssex + ,+ sclass + ,+ a + ,+ b + ,+ c + ); /执行的命令 SMessageBox.Show(str_sql);comm.CommandText = str_sql;/设置命令文本comm.ExecuteNonQuery();/执行命令MessageBox.Show(录入成功);else MessageBox.Show(学号已存在,请输入正确学号!);catch (SqlException ex)MessageBox.Show(ex.Message);finallyconnection.Close();/关闭数据库连接查询学生选课:private void button2_Click(object sender, EventArgs e)this.dataGridView3.Rows.Clear();string sno = textBox5.Text;string semester = comboBox1.Text;string conn2 = Data Source= .SQLEXPRESS;Initial Catalog=XKXT; User ID=sa; pwd=lfj123456;SqlConnection connection2 = new SqlConnection(conn2);/创建数据库连接tryconnection2.Open();SqlCommand comm2 = new SqlCommand();/创建数据库命令comm2.Connection = connection2;/设置命令的数据库连接string str_sql2;if (semester.Equals(所有选课)str_sql2 = select Cname,Cteacher,Cplace,Ctime,Ccredit from sc,c where sc.sno=sno and c.cno=sc.cno;/执行的命令 Sql.elsestr_sql2 = select Cname,Cteacher,Cplace,Ctime,Ccredit from sc,c where sc.sno=sno and semester=semester and c.cno=sc.cno;/执行的命令 Sqlcomm2.Parameters.Add(new SqlParameter(sno, sno);comm2.Parameters.Add(new SqlParameter(semester, semester);comm2.CommandText = str_sql2;comm2.Connection = connection2;SqlDataReader str2 = null;str2 = comm2.ExecuteReader();int count = 0;while (str2.Read()this.dataGridView3.Rows.Add();this.dataGridView3.Rowscount.Cells0.Value = str2Cname.ToString();this.dataGridView3.Rowscount.Cells1.Value = str2Cteacher.ToString();this.dataGridView3.Rowscount.Cells2.Value = str2Cplace.ToString();this.dataGridView3.Rowscount.Cells3.Value = str2Ctime.ToString();this.dataGridView3.Rowscount.Cells4.Value = str2Ccredit.ToString();count+;catch (SqlException ex)MessageBox.Show(ex.Message);finallyconnection2.Close();/关闭数据库连接录入课程信息:private void button5_Click(object sender, EventArgs e)string cno = textBox8.Text;/课程号string cname = textBox9.Text; /课程名string cteacher = textBox10.Text; /教师.string ctime = textBox11.Text;string cplace = textBox12.Text;string ccredit = (string)textBox13.Text;/学分string conn = Data Source= .SQLEXPRESS;Initial Catalog=XKXT; User ID=sa; pwd=lfj123456;/Data Source 服务器名 ;Initial Catalog 数据库名; User ID 用户名; pwd 密码SqlConnection connection = new SqlConnection();/创建数据库连接connection.ConnectionString = conn;tryconnection.Open();SqlCommand comm = new SqlCommand();/创建数据库命令comm.Connection = connection;/设置命令的数据string str_sql1 = select count(*) from c where cteacher=cteacher and cno=cno and cname=cname;comm.CommandText = str_sql1;/设置命令文本comm.Parameters.Add(new SqlParameter(cteacher, cteacher);comm.Parameters.Add(new SqlParameter(cno, cno);comm.Parameters.Add(new SqlParameter(cname, cname);int count = Convert.ToInt32(comm.ExecuteScalar();/执行命令if (count 1)string str_sql2= select count(*) from c where cteacher=cteacher and ctime=ctime and cplace!=cplace;comm.Parameters.Add(new SqlParameter(ctime, ctime);comm.Parameters.Add(new SqlParameter(cplace, cplace);comm.CommandText = str_sql2;/设置命令文本count = Convert.ToInt32(comm.ExecuteScalar();if (count 1)string str_sql3 = insert into C values( + cno + ,+ cname + ,+ cteacher + ,+ ctime + ,+ cplace + ,+ ccredit + ); /执行的命令 SMessageBox.Show(cno + , + cname + , + cteacher + , + cplace + , + ctime + , + ccredit);comm.CommandText = str_sql3;/设置命令文本comm.ExecuteNonQuery();/执行命令MessageBox.Show(录入成功);else MessageBox.Show(教师时间冲突!); .else MessageBox.Show(与已有课程存在冲突!);catch (SqlException ex)MessageBox.Show(ex.Message);finallyconnection.Close();/关闭数据库连接四、选课管理系统测试【实验内容】 教务处的管理人员录入全校的课程基本信息和本学期的课程授课教师、地点、时间; 在学生入学的时候,学院的管理人员录入学生基本信息; 学生每学期自己上网登录系统选课,选课成功后信息存入数据库中,学生自己可以查询选课的情况; 学生选课不成功的情况有: 所选课程的先修课还没有记录,系统提示“缺先修课,选课失败” ; 本学期所选课程的上课时间有冲突,系统提示“上课时间有冲突,选课失败” ; 学生一学期所选课程的学分最多不能超 18 学分 学生可以注销所选课程。 学院管理员可以查询学生前几学期的选课信息、可以查询课程基本信息、学生基本信息; 当学生退学时,由教务处的管理人注销学生基本信息; 如果开课之后,学生要求退课,则由教务处的工作人员为学生注销所选课程; 允许学生休学,教务处为休学的退学做学籍冻结处理;复学后为其办理解冻处理; 每学期教务处为学生办理学期注册手续;没有办理学期注册的学生不能选课; 学期末,学院工作人员负责录入学生的成绩。.【实验目的】1) 通过本实验使学生掌握选课管理系统的测试。2) 学生在实验过程中熟练掌握测试方法。【实验步骤】根据实验 3 编写的选课管理系统,设计测试用例并实现测试。【实验结果】测试用例主要功能测试结果:.
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 群众团体


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!