数据库报告记录.docx
- 文档编号:4480306
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:32
- 大小:838.57KB
数据库报告记录.docx
《数据库报告记录.docx》由会员分享,可在线阅读,更多相关《数据库报告记录.docx(32页珍藏版)》请在冰豆网上搜索。
数据库报告记录
数据库报告记录
————————————————————————————————作者:
————————————————————————————————日期:
企业实训实习报告
系别:
计算机科学与技术
班级:
姓名:
成绩:
评语:
指导教师签字:
日期:
学号:
数据库应用系统开发
一、需求分析------大学生选课管理系统
【实验内容】
☐教务处的管理人员录入全校的课程基本信息和本学期的课程授课教师、地点、时间;
☐在学生入学的时候,学院的管理人员录入学生基本信息;
☐学生每学期自己上网登录系统选课,选课成功后信息存入数据库中,学生自己可以查询选课的情况;
☐学生选课不成功的情况有:
☐所选课程的先修课还没有记录,系统提示“缺先修课,选课失败”;
☐本学期所选课程的上课时间有冲突,系统提示“上课时间有冲突,选课失败”;
☐学生一学期所选课程的学分最多不能超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)休学、复学
主要功能源代码
登录界面:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringuserid=textBox1.Text;//用户名
stringpwd=textBox2.Text;//密码
stringun=comboBox1.Text;
stringconn="DataSource=.\\SQLEXPRESS;InitialCatalog=XKXT;UserID=sa;pwd=lfj123456";
//DataSource服务器名;InitialCatalog数据库名;UserID用户名;pwd密码
SqlConnectionconnection=newSqlConnection(conn);//创建数据库连接
try
{
connection.Open();
SqlCommandcomm=newSqlCommand();//创建数据库命令
comm.Connection=connection;//设置命令的数据库连接
stringstr_sql="selectcount(*)fromuwhereuserid=@useridandpassword=@passwordanduserno=@un";//执行的命令Sql
comm.CommandText=str_sql;//设置命令文本
comm.Parameters.Add(newSqlParameter("@userid",userid));
comm.Parameters.Add(newSqlParameter("@password",pwd));
comm.Parameters.Add(newSqlParameter("@un",un));
intcount=Convert.ToInt32(comm.ExecuteScalar());//执行命令
if(count>0)
{
if(un.Equals("学生"))
{
name=userid;
//用户名等于输入的用户名,密码等于输入的密码的记录条数大于0,表示登陆成功,显示主界面
Form2f2=newForm2();
f2.Show();
}
if(un.Equals("院管理员"))
{
//用户名等于输入的用户名,密码等于输入的密码的记录条数大于0,表示登陆成功,显示主界面
Form3f3=newForm3();
f3.Show();
}
if(un.Equals("教务处管理员"))
{
//用户名等于输入的用户名,密码等于输入的密码的记录条数大于0,表示登陆成功,显示主界面
Form4f4=newForm4();
f4.Show();
}
}
else
{
MessageBox.Show("用户名或者密码输入错误");
}
学生选课:
privatevoidbutton4_Click(objectsender,EventArgse)
{
stringcname=comboBox4.Text;
stringn=Form1.name;
stringsemester=comboBox5.Text;
stringconn="DataSource=.\\SQLEXPRESS;InitialCatalog=XKXT;UserID=sa;pwd=lfj123456";
//DataSource服务器名;InitialCatalog数据库名;UserID用户名;pwd密码
SqlConnectionconnection=newSqlConnection(conn);//创建数据库连接
try
{
connection.Open();
SqlCommandcomm=newSqlCommand();//创建数据库命令
comm.Connection=connection;//设置命令的数据库连接
stringstr_sql="selectsoutfromswheresno=@n";
comm.Parameters.Add(newSqlParameter("@n",n));
comm.CommandText=str_sql;
SqlDataReaderd=null;
d=comm.ExecuteReader();
if(d.Read())
{
intsout=Convert.ToInt32(d["sout"].ToString());
if(sout==0)
{
connection.Close();
connection.Open();
str_sql="selectcount(*)fromcoursewherecname=@cnameand(cfirst=''orcfirstin(selectcnofromScwheresno=@nandgrade!
=0))";//执行的命令Sql
comm.CommandText=str_sql;//设置命令文本
comm.Parameters.Add(newSqlParameter("@cname",cname));
intcount=Convert.ToInt32(comm.ExecuteScalar());//执行命令
if(count>0)
{
connection.Close();
connection.Open();
str_sql="selectcount(*)fromcwherecname=@cnameandctimenotin(selectctimefromsc,cwheresno=@nando=oandgrade=0)";
comm.CommandText=str_sql;//设置命令文本
count=Convert.ToInt32(comm.ExecuteScalar());//执行命令
if(count>0)
{
connection.Close();
connection.Open();
str_sql="selectsum(ccredit)fromcwherecnoin(selectcnofromscwheregrade=0andsno=@n)";
comm.CommandText=str_sql;//设置命令文本
intsum=Convert.ToInt32(comm.ExecuteScalar());//执行命令
connection.Close();
connection.Open();
str_sql="selectccredit,cnofromcwherecname=@cname";
comm.CommandText=str_sql;//设置命令文本
SqlDataReaderdr=null;
dr=comm.ExecuteReader();
if(dr.Read())
{
inta=0;
a=Convert.ToInt32(dr["ccredit"].ToString());
stringcno=dr["cno"].ToString();
intc=sum+a;
if(c<18)
{
connection.Close();
connection.Open();
str_sql="insertintoscvalues('"+n+"','"
+cno+"','"
+null+"','"
+semester+"')";
comm.CommandText=str_sql;//设置命令文本
comm.ExecuteNonQuery();//执行命令
MessageBox.Show("选课成功!
");
}
elseMessageBox.Show("本学期所选课程学分已满18,请下学期再选!
");
}
}
elseMessageBox.Show("与已有课程时间冲突!
");
}
else
{
MessageBox.Show("缺少先选课!
");
}
}
elseMessageBox.Show("该学生尚未注册,不能选课!
");
}
}
catch(SqlExceptionex)
{
MessageBox.Show(ex.Message);
}
finally
{
connection.Close();//关闭数据库连接
}
}
查询选课:
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.dataGridView2.Rows.Clear();
stringsemester=comboBox2.Text;
stringn=Form1.name;
stringstr_sql;
stringconn="DataSource=.\\SQLEXPRESS;InitialCatalog=XKXT;UserID=sa;pwd=lfj123456";
SqlConnectionconnection=newSqlConnection(conn);//创建数据库连接
try
{
connection.Open();
SqlCommandcomm=newSqlCommand();//创建数据库命令
comm.Connection=connection;//设置命令的数据库连接
if(semester.Equals("所有选课"))
{
str_sql="selectC.Cno,Cname,Cteacher,Ccreditfromsc,cwheresc.sno=@nando=o";//执行的命令Sql
}
else
{
str_sql="selectC.Cno,Cname,Cteacher,Ccreditfromsc,cwheresc.sno=@nandsemester=@semesterando=o";//执行的命令Sql
}
comm.Parameters.Add(newSqlParameter("@n",n));
comm.Parameters.Add(newSqlParameter("@semester",semester));
comm.CommandText=str_sql;
comm.Connection=connection;
SqlDataReaderstr=null;
str=comm.ExecuteReader();
intcount=0;
while(str.Read())
{
this.dataGridView2.Rows.Add();
this.dataGridView2.Rows[count].Cells[0].Value=str["Cno"].ToString();
this.dataGridView2.Rows[count].Cells[1].Value=str["Cname"].ToString();
this.dataGridView2.Rows[count].Cells[2].Value=str["Cteacher"].ToString();
this.dataGridView2.Rows[count].Cells[3].Value=str["Ccredit"].ToString();
count++;
}
}
catch(SqlExceptionex)
{
MessageBox.Show(ex.Message);
}
finally
{
connection.Close();//关闭数据库连接
}
}
录入学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 报告 记录