数据库实验报告.docx
《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(47页珍藏版)》请在冰豆网上搜索。
![数据库实验报告.docx](https://file1.bdocx.com/fileroot1/2023-2/4/78e15ff1-82b2-40be-871d-703452ce6ae4/78e15ff1-82b2-40be-871d-703452ce6ae41.gif)
数据库实验报告
重庆交通大学信息科学与工程学院
设计性实验报告
专业:
计算机科学与技术(软件开发)
班级:
2013级2班
学号:
姓名:
课程名称:
《数据库原理》
实验项目性质:
设计性实验
实验所属课程:
数据库原理
实验室(中心):
软件与通信实验室
指导教师:
王家伟
实验完成时间:
2015年12月日
此页必须保留
评分标准及成绩
评分细则
评分
报告表述的清晰程度和完整性(20分)
概念模型的合理性(20分)
逻辑模型的合理性(20分)
功能合理性(20分)
功能完善性(10分)
个人体会(10分)
总成绩
教师签名
日期
总体实验要求:
1排版要求
标题用黑体四号,段前、段后距6磅(或0.3行);正文用小四号宋体,行距为1.5倍行距。
报告必须生成目录,目录必须带页码。
2设计报告需要打印,装订,1份/人,理论课考试时交设计报告。
3各班学习委员收集每位同学做的成果,包含数据库的备份、程序源代码和运行配置说明,并将每位同学的成果拷贝到软件与通信实验室的教师机上。
报告正文
一、实验目的
1、根据给定的题目,把现实世界中的具体事物抽象为某一概念级的模型,即建立整个问题的概念模型,建立起数据库设计人员与用户之间的交流,为数据模型的建立奠定基础。
2、学习C#下怎么访问数据库;
3、使用C#编写简单的数据库程序。
二、实验内容及要求
题目描述:
某大学需要使用计算机管理学生信息、成绩信息等,要求如下:
1、学生信息管理,包含学生的基本信息,如学号、姓名、性别、出生日期等;还要包含学生的简历、社会关系等;
2、课程管理,包含整个学校开设的所有课程;
3、教学计划管理,包含设定各系各专业在哪学期开设什么样的课程,学分是多少;
4、学生选课管理,包含学生在某学期选择什么样的课程;
5、学生成绩管理,包含学生各课程的成绩、是否补考、补考成绩;
6、学生奖惩管理,管理学生在校期间所获得的奖励和惩罚记录。
根据实验一的结果,完成设计。
可以根据自己的实际情况实现一部分也可。
三、实验设备及软件
实验设备:
电脑一台;
软件:
powerdesigner15.1、SQLServer2008、VisualStudio2013。
四、实验步骤
1、建立概念模型。
打开powerdesigner15.1,通过对问题抽象出实体,然后开始建立概念模型。
概念模型及实体列表如下图所示:
2、由概念模型转物理模型。
在checkmodel没有错之后,选择Tools->GeneratePhysicalDataModel,开始转为物理模,步骤及物理模型如下:
3、导出SQL语句,选择DataBase->GenerateDataBase开始导出SQL语句,如下:
4、根据导出的SQL语句开始建立数据库。
5、利用VisualStudio2013开始编写程序。
五、实验结果及说明
在所有窗口中,除了主页外,其他窗口加载时自动连接数据库,关闭窗口时自动断开数据库。
六、主要代码
1、MyHomePage窗口的主要代码
privatevoid输入学生信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Studentob=newStudent();
ob.ShowDialog();
}
privatevoid课程信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Courseob=newCourse();
ob.ShowDialog();
}
privatevoid输入ToolStripMenuItem_Click(objectsender,EventArgse)
{
Collegeob=newCollege();
ob.ShowDialog();
}
privatevoid民族信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Nationob=newNation();
ob.ShowDialog();
}
privatevoid考试信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
ExamSortob=newExamSort();
ob.ShowDialog();
}
privatevoid输入课程管理信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
CourseManageob=newCourseManage();
ob.ShowDialog();
}
privatevoid输入政治面貌信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Politicsob=newPolitics();
ob.ShowDialog();
}
privatevoid输入成绩管理信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
ResultManageob=newResultManage();
ob.ShowDialog();
}
privatevoid输入简历信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
StudentResumeob=newStudentResume();
ob.ShowDialog();
}
privatevoid输入奖惩制度信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Punishmentob=newPunishment();
ob.ShowDialog();
}
privatevoid输入奖惩管理信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
PunishmentManageob=newPunishmentManage();
ob.ShowDialog();
}
privatevoid输入社会关系信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
SocialRelationob=newSocialRelation();
ob.ShowDialog();
}
privatevoid输入专业信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Specialtyob=newSpecialty();
ob.ShowDialog();
}
privatevoid输入教学计划ToolStripMenuItem_Click(objectsender,EventArgse)
{
TeachPlanManageob=newTeachPlanManage();
ob.ShowDialog();
}
privatevoid信息显示ToolStripMenuItem_Click(objectsender,EventArgse)
{
InformationViewob=newInformationView();
ob.ShowDialog();
}
privatevoid输入学生选课ToolStripMenuItem_Click(objectsender,EventArgse)
{
ChooseCourseob=newChooseCourse();
ob.ShowDialog();
}
2、输入窗口的主要带只有部分细小的不同,主要是SQL语句改变为相应的表即可,一下粘贴Student窗口代码做代表:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringstrSQL;
strSQL=@"InsertintoStudent(sid,specialtyid,politicsid,nationid,sname,ssex,grade,birthday)values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"','"+textBox6.Text+"','"+textBox7.Text+"','"+textBox8.Text+"')";
SqlCommandcmd=newSqlCommand();
cmd.Connection=conn;
cmd.CommandType=CommandType.Text;
cmd.CommandText=strSQL;
try
{
cmd.ExecuteNonQuery();
textBox1.Text=textBox2.Text=textBox3.Text=textBox4.Text=textBox5.Text=textBox6.Text=textBox7.Text=textBox8.Text="";
}
catch
{
MessageBox.Show("写入数据库失败!
");
}
}
privatevoidStudent_Load(objectsender,EventArgse)
{
try
{
stringstrConn="server=USER-20150909CT;database=Manage;integratedsecurity=true";
conn=newSqlConnection(strConn);
conn.Open();
}
catch(Exceptionerr)
{
MessageBox.Show(err.Message);
}
}
privatevoidStudent_FormClosed(objectsender,FormClosedEventArgse)
{
try
{
conn.Close();
}
catch(Exceptionerr)
{
MessageBox.Show(err.Message);
}
}
3、InformationView窗口的主要代码:
TreeNodenode;
DataSetds=newDataSet();
publicInformationView()
{
InitializeComponent();
}
SqlConnectionconn;
stringchoose="";
stringmainid="";
privatevoidtreeView1_AfterSelect(objectsender,TreeViewEventArgse)
{
switch(treeView1.SelectedNode.Text)
{
case"学生信息":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="Student";
break;
case"教学计划":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="TeachPlan";
break;
case"选课":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="ChooseCourse";
break;
case"学院":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="College";
break;
case"课程":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="Course";
break;
case"课程管理":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="CourseManage";
break;
case"考试种类":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="ExamSort";
break;
case"民族":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="Nation";
break;
case"政治面貌":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="PoliticsStatus";
break;
case"成绩管理":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="ResultManage";
break;
case"简历":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="Resume";
choose="Resume";
break;
case"奖惩制度":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="RewardPunishment";
break;
case"奖惩管理":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="RPManage";
break;
case"社会关系":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="SocialRelation";
break;
case"专业":
dataGridView1.DataSource=ds;
dataGridView1.DataMember="Specialty";
break;
}
}
privatevoidInformationView_Load(objectsender,EventArgse)
{
try
{
stringstrConn="server=USER-20150909CT;database=Manage;integratedsecurity=true";
conn=newSqlConnection(strConn);
conn.Open();
}
catch(Exceptionerr)
{
MessageBox.Show(err.Message);
}
node=treeView1.Nodes.Add("学生信息");
node=treeView1.Nodes.Add("教学计划");
node=treeView1.Nodes.Add("选课");
node=treeView1.Nodes.Add("学院");
node=treeView1.Nodes.Add("课程");
node=treeView1.Nodes.Add("课程管理");
node=treeView1.Nodes.Add("考试种类");
node=treeView1.Nodes.Add("民族");
node=treeView1.Nodes.Add("政治面貌");
node=treeView1.Nodes.Add("成绩管理");
node=treeView1.Nodes.Add("简历");
node=treeView1.Nodes.Add("奖惩制度");
node=treeView1.Nodes.Add("奖惩管理");
node=treeView1.Nodes.Add("社会关系");
node=treeView1.Nodes.Add("专业");
SqlDataAdapteradapter=newSqlDataAdapter();
SqlCommandcmd=newSqlCommand("Select*fromStudent",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"Student");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromTeachPlan",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"TeachPlan");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromChooseCourse",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"ChooseCourse");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromCollege",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"College");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromCourse",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"Course");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromCourseManage",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"CourseManage");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromExamSort",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"ExamSort");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromNation",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"Nation");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromPoliticsStatus",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"PoliticsStatus");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromResultManage",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"ResultManage");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromResume",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"Resume");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromRewardPunishment",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"RewardPunishment");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromRPManage",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"RPManage");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromSocialRelation",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"SocialRelation");
adapter=newSqlDataAdapter();
cmd=newSqlCommand("Select*fromSpecialty",conn);
adapter.SelectCommand=cmd;
adapter.Fill(ds,"Specialty");
}
privatevoidInformationView_FormClosed(objectsender,FormClosedEventArgse)
{
try
{
c