科技学院课程设计报告(2011--2012年度第2学期)名称:数据库原理课程设计院系:信息工程系班级:网络学号:学生姓名:指导教师:郭丰娟乔玲玲设计周数:1成绩:日期:2012年6月1日《数据库原理》课程设计任务书一、目的与要求1.这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。通过这个环节,使学生拥有能够应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。3.通过一个学生并不陌生的完整系统的设计,可以培养学生对需求分析、方案设计、系统编码、界面设计和软件调试等各方面的能力。是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。二、主要内容信息管理系统的设计与实现是针对一个实际中小型系统(见题目附录)进行的数据库设计,它需要管理的内容有实体以及实体之间的联系。1.首先要求完成需求的理解和实体的设计:a)设计实体的属性和码,以及该实体的实体完整性、用户自定义的完整性。b)设计实体的之间的联系,包括联系的类型和联系的属性,即设计实体参照完整性。最后画出完整的E-R图。2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:2.1将E-R图转换为关系模式。2.2设计关系模式间的参照完整性。2.3用SQL语言实现数据库模式的设计。3.实现信息管理系统所需的各种操作:3.1用SQL语言实现信息的录入、删除和修改。3.2以视图的形式完成各类查询,包括单表、多表、单条件、多条件等。4.权限的设计:4.1授权操作;4.2收回权限的操作。5.界面的设计、加密的设计。三、进度计划序号设计(实验)内容完成时间备注1根据任务书完成信息模型的设计,并将该信息模型在选用的DBMS中实现,并录入数据1天2根据任务书完成各种数据操作,并以视图的形式保留SQL语句。并开始界面的设计与编码1天3使用可视化开发工具开发学生工作管理系统(C/S或者B/S模式)1天4界面设计,权限设计和调试1天5系统的完善与验收1天四、设计(实验)成果要求1.在DBMS(如SQLServer,DB2等)上完成完整的数据库的设计;2.使用可视化开发平台完成该系统,并要可以求正确的运行;3.完成实验报告。五、考核方式1.在微机上检查数据库设计的模式的设计、完整性的设计等;2.在微机上检查系统的运行结果,并请学生解释所使用的技术;3.实验报告的检查。六、题目附录1.学生信息管理信息系统2.学生成绩管理信息系统3.图书管理信息系统4.物资管理信息系统5.汽车销售管理信息系统6.超市管理信息系统7.通讯录管理信息系统8.工资管理信息系统9.酒店管理信息系统10.小区物业管理信息系统学生姓名:指导教师:郭丰娟、乔玲玲年月日一、课程设计(综合实验)的目的与要求1.这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。通过这个环节,使学生拥有能够应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。3.通过一个学生并不陌生的完整系统的设计,可以培养学生对需求分析、方案设计、系统编码、界面设计和软件调试等各方面的能力。是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。二、设计(实验)正文用户实体E-R图:学生实体E-R图:学号姓名年龄性别所在系选课实体E-R图:学生选课学号课程号成绩学生用户信息用户名用户密码主管理员课程实体E-R图:课程课程号课程名学分实体之间的关系E-R图:(1)学生(学号,姓名,性别,年龄,系别),其主关键字为学号;(2)课程(课程号,课程名,学分),其中主关键字为课程号;(3)成绩(课程号,学号,分数)其中主关键字为学号和课程号。登陆界面:学分成绩学生课程号学号年龄所在系性别选修课程姓名课程名分数注册页面:可视化界面的功能介绍:能实现登录查询,添加,删除等功能。实现各个功能的数据库操作的sql语言:1.建立各个表CREATETABLEStudent(Snochar(9)PRIMARYKEY,SnameVarchar(20),SsexCHAR(2)check(Ssexin('男','女')),SageSMALLINTcheck(Sagebetween'20'and'25'),SdeptVarchar(50))CREATETABLECourse(cnochar(4)primarykey,cnamevarchar(30)unique,ccreditsmallintcheck((ccredit0)and(ccredit=8)))CREATETABLESc(Snochar(9),cnochar(4),gradesmallintcheck((grade=0)and(grade=100)),primarykey(Sno,cno),foreignkey(Sno)referencesstudent(Sno),foreignkey(cno)referencescourse(cno))CREATETABLEusers(User_idvarchar(50)primarykey,User_passwordvarchar(50),User_powerchar(2))2.查询操作关键程序:publicpartialclassquery:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidButton1_Click(objectsender,EventArgse){Stringstrconn=ConfigurationManager.ConnectionStrings[ApplicationServices].ConnectionString;SqlConnectioncn=newSqlConnection(strconn);stringstrsname=sname.Text.Trim();stringstrsno=sno.Text.Trim();stringstrsage=sage.Text.Trim();stringstrssex=ssex.Text.Trim();stringstrsdept=sdept.Text.Trim();stringstrsql=select*fromStudentwhere;if(strsname!=){strsql=strsql+Sname='+strsname+'and;}if(strsno!=){strsql=strsql+Sno='+strsno+'and;}if(strsage!=){strsql=strsql+Sage='+strsage+'and;}if(strssex!=){if(strssex==男)strsql=strsql+Ssex='男'and;elsestrsql=strsql+Ssex='女'and;}if(strsdept!=){strsql=strsql+Sdept='+strsdept+'and;}Lbl显示.Text=显示结果如下:;strsql=strsql+1=1;SqlCommandcm=newSqlCommand(strsql,cn);cn.Open();SqlDataReaderdr=cm.ExecuteReader();if(dr.HasRows){GridView1.DataSource=dr;GridView1.DataBind();}elseLbl条件.Text=没有满足条件的记录!;dr.Close();cn.Close();}protectedvoidButton2_Click(objectsender,EventArgse){Response.Redirect(导航.aspx);}}3.添加操作关键程序:publicpartialclassstuadd:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidButton1_Click(objectsender,EventArgse){stringstrsname=sname.Text.Trim();stringstrsno=sno.Text.Trim();stringstrsage=sage.Text.Trim();stringstrssex=sex.SelectedValue.ToString();strssex.Trim();stringstrsdept=dept.Text.Trim();if(strsno!=){Stringstrconn=ConfigurationManager.ConnectionStrings[ApplicationServices].ConnectionString;SqlConnectioncn=newSqlConnection(strconn);cn.Open();stringstrsql=insertintoStudentvalues(;strsql=strsql+'+strsno+',;if(strsname!=){strsql=strsql+'+strsname+',;}if(strssex!=){if(strssex!=女){strsql=strsql+'男',;}else{strsql=strsql+'女',;}}if(strsage!=){strsql=strsql+'+strsage+',;}if(strsdept!=){strsql=strsql+'+strsdept+');}try{Lbl显示.Text=您已成功添加了学生信息!;SqlCommandcm=newSqlCommand(strsql,cn);SqlDataReaderdr=cm.ExecuteReader();GridView1.DataSource=dr;GridView1.DataBind();dr.Close();}catch(Exceptionex){L.Visible=true;L.Text=ex.ToString();}cn.Close();}elseLbl显示.Text=添加失败,请输入合法的条件!;sname.Text=;sage.Text=;sno.Text=;dept.Text=;}protectedvoidButton3_Click(objectsender,EventArgse){Response.Redirect(导航.aspx);}}4.删除操作关键程序:publicpartialclassstudelete:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){Stringstrconn=ConfigurationManager.ConnectionStrings[ApplicationServices].ConnectionString;SqlConnectioncn=newSqlConnection(strconn);cn.Open();stringstrsql=select*fromStudent;SqlCommandcm=newSqlCommand(strsql,cn);SqlDataReaderdr=cm.ExecuteReader();GridView1.DataSource=dr;GridView1.DataBind();dr.Close();cn.Close();}protectedvoidButton1_Click(objectsender,EventArgse){Response.Redirect