《科研管理-数据库、软件实习报告、课程设计》由会员分享,可在线阅读,更多相关《科研管理-数据库、软件实习报告、课程设计(14页珍藏版)》请在金锄头文库上搜索。
1、数据库系统概论课程设计专业班级学 号姓 名指导教师安徽工业大学计算机学院14科 研 管 理一、实验目的 数据库概论课程设计实验是一门独立开设的实验课程。数据库概论课程设计实验对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。本课程设计实验主要围绕两方面内容:数据库设计和基本C/S结构数据库编程实践。通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和开发技术。1. 掌握数据库设计的基本方法,熟悉数据库设计的步骤;2. 通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;3. 学习基本“C/S结构
2、”数据库编程方法。二、实验简述 设计要求说明实现科研管理的日常业务的计算机化管理,能够较为准确全面地对每个科研项目的情况作出描述。科研管理要便于管理人员随时检索,以立即获得关于科研管理工作所需要的相关信息。主要包括:项目信息:项目编号、项目名称、项目来源(国家立项、部立项、省立项、市立项、协作)、经费、起讫时间、参加人员角色(负责主持、主要参加、一般参加);人员信息:编码、姓名、性别、出生年月日、民族、文化程度、所在部门、参加工作时间、职称(教授、副教授、讲师、助教、其他)、基本工资、岗位工资、津贴工资; 部门信息:部门编号、部门名称、负责人、地址、邮编、联系电话;科研成果:成果编号、项目名称
3、、类别(自然科学奖、科技进步奖、发明奖)、级别(国家、部、省、市)、等级(14)、证书排名、批准时间。科研管理主要语义说明每个部门(DEPT)有若干个教师(TEACHER),每个教师只能属于一个部门;每个教师可参加多个科研项目(PROJ),一个科研项目可有若干教师参加;某一个教师管理一个科研项目,每个科研项目只有一个管理者;每个科研项目可能获一项成果;参与获奖项目的教师有一个证书排名。教师职称的不同,其岗位工资与津贴工资也不同。三、实验环境 服务器端:Windows 2000NT Server; ORACLE 8.x Database Server For Windows Windows200
4、0 Server客户端: Windows9x;Oracle 8.x Client C/S开发工具四、系统设计与实现 1. 数据库设计第一步:数据字典:1.项目数据字典:2.项目参加数据字典:3.人员数据字典:4.人员职称数据字典:5.部门数据字典:6.科研成果数据字典:7.成果证书数据字典:第二步: 概念结构设计(E-R图);科研项目参加 人员mn科研项目负责主持人员11科研项目荣获科研成果11人员管理 部门部门n1人员待遇职称(工资)11享有成果证明11第三步:逻辑结构设计;1. 科研项目(项目编号,项目名称,项目来源,经费,起始时间,结束时间);2. 项目参加(项目编号,人员编码,人员角色
5、);3. 人员(编码,姓名,性别,出生年月日,名族,文化程度,所在部门,参加工时间,职称);4. 工资(职称,基本工资, 岗位工资,津贴工资);5. 部门(部门编号,部门名称,负责人,地址,邮编,联系电话);6. 科研成果(成果编号,项目编号,类别,级别,等级,批准时间);7. 获奖证书(证书编号,人员编码,证书排名);第四步: 整理数据库表目录和数据库结构表;(物理结构设计)2. 系统设计(程序功能模块图和功能描述)科研管理系统的主界面如下:主界面(科研管理一览):(1-7):以员工信息表为例介绍其功能(1)单击显示显示员工信息(2)单击退出关闭该界面,单击关闭按钮有同样效果(3)修改信息一
6、栏:填入你所要更新员工编码(必须在人员信息中存在),每一个textbox里面都要填正确的格式,不能空格否则报错抛出异常,最后单击更新(4)修改信息一栏:填入你所要添加的员工的信息不能空格单击添加(5)修改信息一栏:填入你所要删除的员工的编码,单击删除即可注:由于完整性约束,如所在部门必须存在于部门表中。如果添加部门,必须在部门表中。职称同理,修改信息先在工资表中3. 系统实现代码:/添加private void button4_Click(object sender, EventArgs e)/添加
7、; String strSql = "insert into 获奖证书 values( '" + id.Text.Trim() + "','" + pid.Text.Trim() + "
8、','" + rank.Text.Trim() + "')" OleDbConnection con = datacon.getCon(); dataoperate.getCom(strSql
9、); /显示,添加,删除,退出,更新using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace
10、0;WindowsApplication3.CommonClass public partial class Form1 : Form DataCon datacon = new DataCon(); DataOperate
11、160;dataoperate = new DataOperate(); public Form1() InitializeComponent();
12、0; private void Form1_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“wuhbDataSet.获奖证书”中
13、。您可以根据需要移动或移除它。 /this.获奖证书TableAdapter.Fill(this.wuhbDataSet.获奖证书); private void button1_Click(object sender, Even
14、tArgs e)/显示 String strSql = "select * from 获奖证书" OleDbConnection&
15、#160;con = datacon.getCon(); DataSet ds = dataoperate.getDs(strSql, "获奖证书"); dataGridView1.DataSource = ds.T
16、ables0.DefaultView; private void button3_Click(object sender, EventArgs e)/更新 &
17、#160; String strSql = "update 获奖证书 set 证书编号='" + id.Text.Trim() + "',人员编码='" + pid.Text.Trim() + "',证书排名='" + rank.Text.Trim() + "'where
18、0;证书编号='" + id.Text.Trim() + "'" OleDbConnection con = datacon.getCon(); dataoperate.getCom(strSql);
19、 private void button2_Click(object sender, EventArgs e)/退出 th
20、is.Close(); private void button4_Click(object sender, EventArgs e)/添加
21、60; String strSql = "insert into 获奖证书 values( '" + id.Text.Trim() + "','" + pid.Text.Trim() + "','" + rank.Text.Trim() + "')"
22、; OleDbConnection con = datacon.getCon(); dataoperate.getCom(strSql);
23、160; private void button5_Click(object sender, EventArgs e)/删除 String strSql = "delete * from 获奖证书 where 证
24、书编号='" + id.Text.Trim() + "'" OleDbConnection con = datacon.getCon(); dataoperate.getCom(strSql);
25、60; 连接数据库的代码:/DataCon.csusing System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;using System.Data;using System.Data.OleDb;namespace WindowsApplication3.CommonClass
26、160; public class DataCon public OleDbConnection getCon()
27、60; string strDPath = Application.StartupPath.ToString(); string strDataSource = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDPath.Substring(0, strDPath.LastIndexOf("").Substring(0, st