数据库课程设计.docx
《数据库课程设计.docx》由会员分享,可在线阅读,更多相关《数据库课程设计.docx(38页珍藏版)》请在冰豆网上搜索。
![数据库课程设计.docx](https://file1.bdocx.com/fileroot1/2023-1/21/d560529e-8e1a-432f-b765-4ba49d27becc/d560529e-8e1a-432f-b765-4ba49d27becc1.gif)
数据库课程设计
课程设计报告
课程:
数据库系统概论
学号:
08260013
姓名:
吴禄海
班级:
08计62
教师:
孟倩
徐州师范大学
计算机科学与技术学院
课程设计任务书
姓名
吴禄海
学号
08260013
班级
08计62
课程名称
数据库系统概论
课程性质
理论实践课
同组成员
08260003王杰08260050蔡旻杰
分工
E-R图设计和管理员功能设计
设计时间
2010年6月10日——2010年6月25日
设计名称
教室信息管理系统
设计要求
系统功能基本要求:
教室信息,包括教室容纳人数、教室空闲时间、教室设备等;教师信息,包括教师姓名、教授课程、教师职称、安排上课时间等;教室安排信息,包括何时空闲、空闲的开始时间、结束时间等。
按照一定条件查询,统计,将结果打印输出。
设计思路
与
设计过程
根据题目要求,先进行需求分析,写出该系统的数据字典,并画出E—R图。
然后根据E-R图设计数据库,并且找出表与表之间的联系。
最后设计出系统的多个功能,用JSP语言实现。
计划与进度
6月10日-6月15日:
设计E-R图
6月16日-6月18日:
设计系统的功能
6月19日-6月24日:
编程实现,实验报告
任课教师
意见
说明
有很多不足之处,希望老师指正
教室信息管理系统的设计与实现
一、绪论
教室管理信息化是学校教务系统应用信息技术及其产品的过程,是信息技术应用于教室管理的过程。
教育信息化的实施,自上而下而言,必须与学校的制度创新、组织创新和管理创新结合;自下而上而言,必须以作为学校主体的工作人员使用信息技术水平的逐步提高为基础。
学校信息系统是现存信息系统中较为复杂的一类,这是由学校本身的目标、任务和性质决定的;它应用于学校的学生管理、教师管理、教室管理以及招生就业管理等各个方面,牵涉的信息种类十分庞杂。
它融合了学校的管理思想和各职能部门的工作经验,是学校当前运作方式和业务流程的具体体现,同时又在一定程度上反作用于学校当前的运作方式和业务流程。
而教室管理信息系统正是这样庞大的系统中的一个系统。
教室之于教师、学生、教学,都有极其重要的作用。
因此,学校信息化建设工作具有长期性、复杂性和内容的多变性;正因为如此,教室管理信息系统也不是一个简单的、封闭的、静止的系统,而是一个复杂的、开放的、在应用的深度和广度上,随着时间的推移会逐步变化和发展的系统。
二、系统需求分析
第一部分调查用户需求
本系统的最终用户为在校学生,我们根据从学校方面取得的图表资料、文字资料以及其他细节方面的信息,根据我们日常生活中的经验,根据我们所做的其他询问和调查,得出用户的下列实际要求:
学校的组织机构情况
与教室管理相关的学校的组织机构有:
学生、教师和教室。
学校的所有日常工作都是围绕着这三大部分进行的。
一个学校下设若干学院,如信息学院、经济学院、法学院、财政金融学院等;一个学院下设若干专业,如信息学院下设三个专业:
信息管理与信息系统、计算机科学与技术和数学与应用数学;一个专业有若干班级,如信息学院的2005级信息管理与信息系统专业下设两个班级:
信管1班、信管2班;一个班级有若干同学,如信管1班有姜杉、刘天营、张蓝方、张娜、周潇等。
一个学校下设若干学院,如信息学院、经济学院、法学院、财政金融学院等;一个学院下设若干专业,如信息学院下设三个专业:
信息管理与信息系统、计算机科学与技术和数学与应用数学;一个专业有若干教师,如信息学院信息管理与信息系统专业有陈禹、左美云。
一个学校下设若干学院,如信息学院、经济学院、法学院、财政金融学院等;一个学院下设若干专业,如信息学院下设三个专业:
信息管理与信息系统、计算机科学与技术和数学与应用数学;一个专业开设有若干课程,如信息学院信息管理与信息系统专业开设有数据库系统概论、计算机网络等课程。
一个学校有若干教学楼,如求是楼、教学一楼、教学二楼、教学三楼等;一个教学楼有若干楼层,如教学一楼有一层、二层、三层、四层、五层、六层;一个楼层有若干教室,如一层有1101,1102,1103,1104等教室。
一个教师可以开设若干门课程,一门课程可以由多个老师来教授。
一个教室在不同的时段可以上不同的课程。
第二部分、数据字典
教室管理信息系统各实体及联系的数据字典
1.教学楼数据字典:
属性名
存储代码
类型
长度
备注
教学楼号
bno
String
20
学校教学楼号
教学楼名称
bname
String
20
学校教学楼名称
2.教室数据字典:
属性名
存储代码
类型
长度
备注
教室编号
clno
Int
10
教学楼中教室号
教学楼号
bno
String
6
教室所在教学楼号
容纳人数
capacity
Int
4
教室容纳人数
楼层
floor
String
10
教室所在楼层
设备
equipment
String
10
教室设备
3.院系数据字典:
属性名
存储代码
类型
长度
备注
院系号
deptno
String
20
学校中院系的编号
院系名称
deptname
String
20
学校中院系名称
4.课程数据字典:
属性名
存储代码
类型
长度
备注
课程号
cno
String
20
课程编号
课程名称
cname
String
20
课程名称
学分
credit
String
1
课程学分
课程类型
category
String
10
课程类型(全校选修、专业选修、专业必修)
开课院系号
deptno
String
20
课程开课的院系
5.教师数据字典:
属性名
存储代码
类型
长度
备注
教师编号
tno
String
20
教师编号
教师姓名
tname
String
10
教师姓名
性别
sex
String
2
教师性别(男、女)
所属院系
deptno
String
20
教师所属院系
职称
title
String
10
教师的职称(教授、副教授、讲师)
身份证号
tid
String
18
教师身份证号
6.学生数据字典:
属性名
存储代码
类型
长度
备注
学号
sno
String
10
学生编号
姓名
sname
String
10
学生姓名
院系号
deptno
String
20
学生所属院系
身份证号
sid
String
18
学生的身份证号
7.教师开课表数据字典:
属性名
存储代码
类型
长度
备注
教师号
tno
String
20
教师编号
教室号
clno
String
10
教室编号
课程号
cno
String
20
该教室所开的课程
工作日
weekday
String
8
工作日
上课时间段
period
String
20
上课时间段
8.教室借用表数据字典:
属性名
存储代码
类型
长度
备注
教室号
clno
String
10
教室编号
使用人编号
sno
String
10
借用教室人员的编号
使用日期
usedate
String
10
使用教室的日期
工作日
Weekday
String
8
使用教室的星期
借用时间段
Period
String
20
使用教室的时间段
用途
Use
String
100
借用教室的用途
状态
Usestatus
String
1
借用教室审批的状态
第三部分学生管理信息系统总E-R图
1
建表语句如下:
createtablebuilding(bnochar(20)primarykey,
bnamechar(20)
);//教学楼
createtableclassroom(clnochar(20)primarykey,
bnochar(20),
capacityint(4),
floorchar(10),
equipmentchar(10),
foreignkeybnoreferencesbuilding(bno)
);//教室
createtabledepartment(deptnochar(20)primarykey,
deptnamechar(20)
);//院系
createtablelesson(cnochar(20)primarykey,
cnamechar(20),
creditchar
(1),
categorychar(10),
deptnochar(20),
foreignkeydeptnoreferencesdepartment(deptno)
);//课程
createtableteacher(tnochar(20)primarykey,
tnamechar(20),
sexchar
(2),
deptnochar(20),
titlechar(10),
tidchar(20),
foreignkeydeptnoreferencesbuilding(deptno)
);//教师
createtablestudent(snochar(20)primarykey,
snamechar(20),
deptnochar(20),
sidchar(20),
foreignkeydeptnoreferencesbuilding(deptno)
);//学生
createtabletclass(tnochar(20),
clnochar(20),
cnochar(20),
deptnochar(20),
weekdaychar(8),
periodchar(20),
primarykey(clno,weekday,period),
foreignkeydeptnoreferencesbuilding(deptno),
foreignkeytnoreferencesteacher(tno),
foreignkeyclnoreferencesclassroom(clno),
foreignkeycnoreferenceslesson(cno)
);//教师开课
createtablecborrow(clnochar(20),
snochar(20),
usedatechar(10),
weekdaychar(8),
periodchar(20),
useschar(100),
usestatuschar(10),
primarykey(clno,sno,usedate,period),
foreignkeyclnoreferencesclassroom(clno),
foreignkeysnoreferencesstudent(sno),
);//教室借用
三、系统功能的设计和划分
根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几个子系统:
教室子系统
教师子系统
课程子系统
教室借用子系统
我要自习子系统
四、系统功能的具体实现
一、登陆界面
1.窗口截图
2实现功能:
通过输入用户名和密码,并选择登录类型登陆进入各自的子系统
3实现代码:
<%@pagecontentType="text/html"pageEncoding="UTF-8"%>
<%@pageimport="java.lang.String"%>
<%@pageimport="java.sql.*"%>
登陆信息<%!
StringdbDriver="sun.jdbc.odbc.JdbcOdbcDriver";
Connectionconn=null;
Stringurl="jdbc:
odbc:
Classroom";
Stringuser="sa";
Stringpassword="sa";
Statementstmt=null;
Stringsql=null;
ResultSetrs=null;
%>
<%
Class.forName(dbDriver);
Connectionconn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
Stringname=request.getParameter("name");
Stringpassword=request.getParameter("password");
Stringtype=request.getParameter("type");
sql="select*fromuserswherename='"+name+"'andpassword='"+password+"'andtype='"+type+"'";
rs=stmt.executeQuery(sql);
if(rs.next())
{
if(type.equals("manager"))
{
session.setAttribute("type",type);
session.setAttribute("success",newBoolean(true));
session.setAttribute("count",newInteger(55));
response.sendRedirect("manager.html");
}
else
{
session.setAttribute("name",name);
response.sendRedirect("student.html");
}
}
else
{
out.println("您输入的用户或密码错误,请重新输入!
");
session.setAttribute("success",newBoolean(false));
}
%>
<%
rs.close();
stmt.close();
conn.close();
%>
二、教师查询子系统
1.窗口截图
2.实现功能:
查询所有教师的信息
3.代码实现:
<%@pagecontentType="text/html;charset=utf-8"pageEncoding="UTF-8"%>
<%@pageimport="java.lang.String"%>
<%@pageimport="java.sql.*"%>
教师信息<%!
StringdbDriver="sun.jdbc.odbc.JdbcOdbcDriver";
Connectionconn=null;
Stringurl="jdbc:
odbc:
Classroom";
Stringuser="sa";
Stringpassword="sa";
Statementstmt=null;
Stringsql=null;
ResultSetrs=null;
%>
<%
Class.forName(dbDriver);
Connectionconn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
sql="select*fromteacher";
rs=stmt.executeQuery(sql);
%>
教师信息教师编号 | 姓名 | 性别 | 所属院系编号 | 职称 |
---|
<%while(rs.next())
{%>
<%=rs.getString("tno")%> | <%=rs.getString("tname")%> | <%=rs.getString("sex")%> | <%=rs.getInt("deptno")%> | <%=rs.getString("title")%> |
<%}
%>
<%
rs.close();
stmt.close();
conn.close();
%>
三、教师信息修改子系统
1.窗口截图
2.实现功能:
输入教师的编号显示原来的信息,然后进行修改
3.实现代码:
//teacher_update1.jsp
<%@pagecontentType="text/html"pageEncoding="UTF-8"%>
<%@pageimport="java.lang.String"%>
<%@pageimport="java.sql.*"%>
教师信息修改教师信息修改
<%!
StringdbDriver="sun.jdbc.odbc.JdbcOdbcDriver";
Connectionconn=null;
Stringurl="jdbc:
odbc:
Classroom";
Stringuser="sa";
Stringpassword="sa";
Statementstmt=null;
Stringsql=null;
ResultSetrs=null;
%>
<%
Stringsql2=null;
Stringsql3=null;
inti,j;
Stringstr=null;
Strings[]=newString[6];
%>
<%
Class.forName(dbDriver);
Connectionconn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();
str=request.getParameter("tno");
session.setAttribute("tno",str);
sql="select*fromteacherwheretno='"+str+"'";
rs=stmt.executeQuery(sql);
while(rs.next()){
s[0]=rs.getString
(2);
s[1]=rs.getString(3);
s[2]=rs.getString(4);
s[3]=rs.getString(5);
s[4]=rs.getString(6);
}
sql2="selectdeptnamefromdepartmentwheredeptno='"+s[2]+"'";
rs=stmt.executeQuery(sql2);
while(rs.next()){
s[5]=rs.getString("deptname");
}
sql3="selectdeptnamefromdepartment";
rs=stmt.executeQuery(sql3);
if(s[0]!
=null){%>
教师属性 | 修改前教师的信息 | 请填写修改信息 |
---|
姓名 | <%out.println(s[0]);%> | |
性别 | <%out.println(s[1]);%> | 男 女 |
所属院系 | <%out.println(s[5]);%> | <%while(rs.next()){%> <%}%> |
职称 | <%out.println(
展开阅读全文
相关搜索
资源标签
|