数据库系统概论课程设计Word下载.docx

上传人:b****5 文档编号:19769450 上传时间:2023-01-10 格式:DOCX 页数:47 大小:3.35MB
下载 相关 举报
数据库系统概论课程设计Word下载.docx_第1页
第1页 / 共47页
数据库系统概论课程设计Word下载.docx_第2页
第2页 / 共47页
数据库系统概论课程设计Word下载.docx_第3页
第3页 / 共47页
数据库系统概论课程设计Word下载.docx_第4页
第4页 / 共47页
数据库系统概论课程设计Word下载.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

数据库系统概论课程设计Word下载.docx

《数据库系统概论课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《数据库系统概论课程设计Word下载.docx(47页珍藏版)》请在冰豆网上搜索。

数据库系统概论课程设计Word下载.docx

学生:

个人信息、个人课程、个人成绩;

1.3系统开发目标

出于本系统是学校教务管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。

2.系统设计

系统设计包括系统模块设计和数据库设计。

2.1系统模块设计

主要功能模块如图所示:

公共模块:

密码修改、用户登录

如图所示:

2.2数据库设计

数据库设计的任务是确定系统所需要的数据库。

数据库是表的集合,通常一个系统只需要一个数据库。

设计的任务是根据需求分析,确定数据库所包含的表及字段、表间的关系,然后具体确定表的结构,包括字段名、字段类型及宽度,需要的索引等。

根据对需求得到的数据结构进行分析,按数据输入输出的要求,确定表和表之间的关系,并进行验证、调整、修改、完善,使其能够实现用户对数据和功能的要求。

数据库在SQLSever2008下创建,数据库名为Infor_System_School。

2.2.1本项目根据分析确定系统要设置如下表:

1.User_admin表、User_Stu表和User_Teach表:

属性名

含义

数据类型

限制条件

User_ID

编号

Char(3)

PRIMARYKEY

User_name

姓名

Varchar(20)

NOTNULL

User_password

密码

Varchar(10)

2.Admin表:

Admin_no

Admin_name

varchar(10)

Admin_position

职务

Admin_sex

性别

char

(2)

Admin_age

年龄

int

Admin_tel

联系方式

char(11)

Admin_mail

邮箱

varchar(20)

Admin_addr

住址

varchar(50)

3.Student表

Stu_no

学号

Char(9)

Stu_name

Stu_sex

Char

(2)

Stu_bir

出生日期

date

Stu_class

班级

Stu_dept

专业

Stu_prof

学院

Stu_tel

Char(11)

Stu_addr

宿舍地址

varchar(6)

Stu_mail

Stu_rtime

入学时间

4.Teacher表:

Teach_no

工号

Char(5)

Teach_name

Teach_photo

照片

varbinary(MAX)

Teach_sex

Teach_bir

Teach_prof

Teach_ttime

入校时间

Teach_tel

Teach_mail

Teach_addr

5.Course表:

Cou_no

课程号

Cou_name

课程名

Cou_redit

学分

float

Cou_time

学时

Cou_type

学科类型

varchar(4)

6.TeachCou表:

教师工号

7.Score表:

grade

成绩

注:

各表内容见附录1.

2.2.2数据表间的逻辑关系

为了能使用户更直观地了解数据库中的个表之间的关系,可以通过建立关系图,如下图所示:

3.系统的代码实现

本系统采用的是C#语言和SQLSever数据库服务器。

3.1C#与SQLSever的基本介绍与连接

3.1.1SQLSever简介

SQLSever数据提供程序只能用于SQLSever,在System.Data.SqlCilent命名空间中实现。

3.1.2ADO.NET介绍

ADO(ActiveXDataObjects)是一个用于存取数据源的COM组件,用于实现访问关系或非关系数据库中的数据。

ADO为编程语言和统一数据访问方式OLEDB提供了一个中间层。

开发人员在访问数据库是只需要关心到数据库的连接,而不需要知道关系数据库是如何实现的。

ADO.NET提供了平台互用性和可伸缩的数据访问,支持对数据的松耦合访问,增强了对非连接编程模式的支持。

ADO.NET中主要包含的对象包括SqlConnection对象、Command对象、SqlDataReader对象、DataSet对象和SqlDataAdapter对象等。

此外,ADO.NET还提供了脱机访问模式,及提供了断开连接的数据访问模型,也就是说,首先连接数据库,获取需要的数据,然后断开与数据库的连接,在DataSet或DataTable组件中脱机处理数据,这位应用程序提供了很高的可伸缩性,因为该模型允许多个客户连接数据库,检索数据。

在Web应用程序中,这是很重要的,因为可能同时有成千上万个客户请求数据,这样,通过脱机访问模式,就可以在DataSet或DataTable组件中脱机处理数据,减少了对服务器端的压力。

3.1.3C#与SQLSever连接

在进行SQLSever数据库连接的时候,首先要使用数据库连接的提供者,因此在程序的开始要使用以下代码:

usingSystem.Data;

usingSystem.Data.SqlClient;

接下来要连接数据源,这需要使用连接字符串创建一个连接对象。

连接字符串中包含希望链接的数据库提供者名称、登录信息以及希望使用的数据库名称。

创建连接对象的代码如下:

stringsource="

Server=SQLSever名称;

InitialCatalog=数据库名称;

IntegratedSecurity=SSPI;

"

;

SqlConnectionconn=newSqlConnection(source);

这样,就有了一个为计算机和数据库配置的连接对象了,但是该对象还未激活,因此必须打开连接。

再有了对象之后就可以打开它,建立与数据库的连接conn.Open();

如果Open方法未成功,那么就会抛出SqlException异常。

3.2系统中只要窗体和代码

3.2.1登录窗体

功能实现:

输入用户名和密码,登录教务管理系统。

窗体:

主要代码:

lab_error1.Text="

lab_error2.Text="

if(comboB_name.Text=="

{

lab_error1.Text="

用户名不能为空!

}

elseif(textB_password.Text=="

请输入密码!

else

try

Server=姜梦龙-;

InitialCatalog=Infor_System_School;

stringselect;

SqlConnectionconn=newSqlConnection(source);

conn.Open();

if(radioB_stu.Checked)

select="

selectUser_ID,User_name,User_passwordfromUser_StuWhere[User_ID]='

+comboB_name.Text+"

'

AND[User_password]='

+textB_password.Text+"

elseif(radioB_teach.Checked)

selectUser_ID,User_name,User_passwordfromUser_TeachWhere[User_ID]='

selectUser_ID,User_name,User_passwordfromUser_adminWhere[User_ID]='

SqlCommandcmd=newSqlCommand(select,conn);

SqlDataReaderdr=cmd.ExecuteReader();

if(!

dr.HasRows)

textB_password.Text="

MessageBox.Show("

用户名或密码错误!

"

错误提示:

MessageBoxButtons.OK,MessageBoxIcon.Warning);

dr.Read();

stringname=dr.GetString

(1);

欢迎"

+name+"

同学使用教务管理系统"

"

提示:

);

this.Hide();

学生F=new学生();

F.Show();

教师使用教务管理系统"

教师F=new教师();

管理员使用教务管理系统"

管理员F=new管理员();

dr.Close();

conn.Close();

catch(Exceptionex)

MessageBox.Show(ex.Message);

}

3.2.2管理员窗体框架

功能实现:

管理员具有增加、查询、修改、注销管理员、教师、学生、课程,授课课程管理,还有特殊服务:

密码服务等基本功能。

窗体:

主要代码:

代码太多,只选其中一部分代码。

privatevoidbutton_save_导入_Click(objectsender,EventArgse)

charsex;

if(radioB_男.Checked)

sex='

男'

else

女'

stringinsert_admin="

insertintoAdminvalues('

+textB_no_导入.Text+"

'

+textB_name_导入.Text+"

+textB_posi_导入.Text+"

+sex+"

+textB_age_导入.Text+"

+textB_tel_导入.Text+"

+textB_mial_导入.Text+"

+textB_addr_导入.Text+"

)"

stringinsert_user="

insertintoUser_adminvalues('

+123456+"

SqlCommandcmd_admin=newSqlCommand(insert_admin,conn);

SqlCommandcmd_user=newSqlCommand(insert_user,conn);

cmd_admin.ExecuteNonQuery();

cmd_user.ExecuteNonQuery();

catch(Exceptionex)

录入出现异常!

提示"

MessageBoxButtons.OK,MessageBoxIcon.Stop);

finally

录入成功!

privatevoidbutton_查询_admin_Click(objectsender,EventArgse)

ds=newDataSet();

ds.Clear();

if(textB_查询_admin.Text=="

selectdistinctAdmin_noAS编号,Admin_nameAS姓名,Admin_positionAS职务,Admin_sexAS性别,Admin_ageAS年龄,Admin_telAS联系方式,Admin_mailAS邮箱,Admin_addrAS住址fromAdmin"

elseif(radioB_编号_admin.Checked)

selectdistinctAdmin_noAS编号,Admin_nameAS姓名,Admin_positionAS职务,Admin_sexAS性别,Admin_ageAS年龄,Admin_telAS联系方式,Admin_mailAS邮箱,Admin_addrAS住址fromAdminWhereAdmin_no='

+textB_查询_admin.Text+"

elseif(radioB_姓名_admin.Checked)

selectdistinctAdmin_noAS编号,Admin_nameAS姓名,Admin_positionAS职务,Admin_sexAS性别,Admin_ageAS年龄,Admin_telAS联系方式,Admin_mailAS邮箱,Admin_addrAS住址fromAdminWhereAdmin_namelike'

%"

%'

elseif(radioB_职务_admin.Checked)

selectdistinctAdmin_noAS编号,Admin_nameAS姓名,Admin_positionAS职务,Admin_sexAS性别,Admin_ageAS年龄,Admin_telAS联系方式,Admin_mailAS邮箱,Admin_addrAS住址fromAdminWhereAdmin_position='

selectdistinctAdmin_noAS编号,Admin_nameAS姓名,Admin_positionAS职务,Admin_sexAS性别,Admin_ageAS年龄,Admin_telAS联系方式,Admin_mailAS邮箱,Admin_addrAS住址fromAdminWhereAdmin_age='

da=newSqlDataAdapter(select,conn);

SqlCommandBuilderadmin=newSqlCommandBuilder(da);

da.Fill(ds);

this.DataGV_admin.DataSource=ds.Tables[0];

privatevoidbutton_delete_admin_Click(objectsender,EventArgse)

stringselect,delete_admin,delete_user;

if(textB_delete_admin.Text=="

请输入你要删除管理员的编号!

delete_admin="

deletefromAdminWhereAdmin_no='

+textB_delete_admin.Text+"

delete_user="

deletefromUser_adminWhereUser_ID='

SqlCommandcmd_admin=newSqlCommand(delete_admin,conn);

SqlCommandcmd_user=newSqlCommand(delete_user,conn);

注销出现异常!

f

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1