数据库应用系统的开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库应用系统的开发
一、实验目的:
初步掌握数据库应用系统分析设计的基本方法;进一步提高分析与解决问
题的综合能力;初步掌握数据库建模工具的使用方法;熟悉掌握C/S或B/S结
构的数据库应用系统开发的整个过程。
实验环境:
操作系统:windows7
数据库管理系统: Microsoft SQL Server 2005
系统设计与开发工具:Visual Studio 2008
实验内容:
二、需求说明:
本设计的任务是学生选课系统的设计与实现,其中要实现,课程信息管理
(录入、维护);学生信息管理(录入、维护);教师信息管理(录入、维护);选课管理(选课、退课、选课信息查询);教师输入成绩管理(所承担课程学生成绩录入与维护功能)。
三、系统概要设计及概念数据模型(E-R图)设计
本程序首先要有一个登陆界面,在登陆界面的要有输入用户账号,输入密码,并且选择登陆时用户名的类型,分为三种:管理员、教师、学生。
当用户名的类型为管理员的时候,进入的是管理员界面,当进入管理员界面
的时候,里面有三种选项,三种选项分别是:学生信息维护、教师信息维护、课程信息维护。当分别选择不同的选项的时候分别进入3种界面:学生信息维护界面、教师信息维护界面、课程信息维护界面。
当用户名的类型为教师的时候,进入的是教师输入成绩的界面,该界面可以
查找本教师所教的课程,并且修改所选该课程的学生的成绩。
当用户名的类型为学生的时候,进入的是学生选课的界面,该界面学生可以
选课并且可以退课,并且可以查询该学生所选的课程。
各界面的关系如下图:
本系统涉及的主要数据的E-R图
四、系统详细设计及数据库表结构设计(一). 数据库表结构设计
设计五张表:
Admin表
CREATE table admin
(adminid char(9) primary key, adminname char(20) unique,
adminpas char(10));
Student表
CREATE table student
(学号char(9)primary key,
姓名char(20)unique,
性别char(2),
出生时间datetime,
所在系char(20),
班级char(3),
密码char(10));
Teacher表
CREATE table teacher
(教师号char(9) primary key,
教师名char(20) unique,
所在系char(20),
密码char(10));
Course表
CREATE table course
(课程号char(4) primary key,
课程名char(40) ,
教师号char(9),
学分float(53) ,
课程简介text,
foreign key (教师号) references teacher(教师号));
Score表
CREATE table score
( 学号char(9) ,
课程号char(4) ,
成绩smallint,
primary key(学号,课程号),
foreign key (学号) references student(学号), foreign key (课程号) references course(课程号));
数据库关系图如下:
(二).登陆界面的设计:
1.首先打开Visual Studio 2008。
2.新建一个工程,工程名为:Login
3.在窗体上放置Button组件Button1、Button2,Label组件Label1、Label2,TextBox组件TextBox1、TextBox2,RadioButton组件RadioButton1、RadioButton2、RadioButton3,GroupBox组件GroupBox1。
4.设置Button组件的name属性:Button1和Button2的name的属性分别为:btQueding、btQuxiao。
5.设置Button组件的Text属性:Button1和Button2的Text的属性分别为:确定和取消。
6.设置Label组件的name属性:Label1和Label2的name的属性分别为:lbName,lbPas。
7.设置Label组件的Text属性:Label1和Label2的Text的属性分别为:学号和密码。
8.设置TextBox组件的name属性:TextBox1和TextBox2的name的属性分别为:tbName 和tbPas。
9.设置GroupBox的name属性:GroupBox的Text的属性为:登陆类型。
10.设置RadioButton的name属性:RadioButton1、RadioButton2、RadioButton3的name 的属性分别为:rbAdmin、rbStudent、rbTeacher。
11.设置RadioButton的Text属性:RadioButton1、RadioButton2、RadioButton3的Text 的属性分别为:管理员、学生、教师。
12.设置RadioButton的checked的属性改为True。
13.双击取消按钮:输入以下代码:close();
14.双击确定按钮:输入以下代码:
string LJ = @"server=.;database=myd;uid=sa;pwd=";
//建立连接
SqlConnection conn = new SqlConnection(LJ);
conn.Open();
//读取所输入的用户名和密码
SqlCommand comm = conn.CreateCommand();
if (rbAdmin.Checked)
{ string sql = "SELECT adminname,adminpas FROM admin
WHERE(adminname='" + tbName.Text + "')";
mandText = sql;
SqlDataReader datar = comm.ExecuteReader();
DateTime dt = new DateTime(2008, 1, 1);
if (DateTime.Now >= dt)
{
MessageBox.Show("程序已经过期,请联系开发商!", "系统提示:", MessageBoxButtons.OK, rmation);
Close();
}
//判断是否存在输入的用户
else
{
if (!datar.HasRows)