数据库系统设计实验报告.docx

上传人:b****8 文档编号:23998848 上传时间:2023-05-23 格式:DOCX 页数:20 大小:1.75MB
下载 相关 举报
数据库系统设计实验报告.docx_第1页
第1页 / 共20页
数据库系统设计实验报告.docx_第2页
第2页 / 共20页
数据库系统设计实验报告.docx_第3页
第3页 / 共20页
数据库系统设计实验报告.docx_第4页
第4页 / 共20页
数据库系统设计实验报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

数据库系统设计实验报告.docx

《数据库系统设计实验报告.docx》由会员分享,可在线阅读,更多相关《数据库系统设计实验报告.docx(20页珍藏版)》请在冰豆网上搜索。

数据库系统设计实验报告.docx

数据库系统设计实验报告

数据库系统设计实验报告

课程:

数据库系统原理与应用

*******

专业:

13级计本班

学号:

************

*******

(一)数据库系统设计

一、实验目的

掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。

二、实验内容

设计一个简单的客户点餐数据库应用系统,完成设计报告。

重点为数据库系统结构特性设计部分,包括需求分析、概念设计和逻辑设计。

三、实验原理、方法

利用数据库设计的4个阶段:

需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。

概念模型设计时采用自底向上的方法,即自顶向下地进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法。

四、实验步骤

1、系统需求分析

1.1操作环境与软件

操作环境:

Windows7

数据库软件:

SQLserver2008

系统编辑软件:

VS2010

1.2系统设计与功能分析

系统设计:

本系统用于客户与订单在点餐上的联系信息

功能分析:

用于输入和查询客户的点餐情况和餐厅的菜单信息

 

2、概念结构设计(E-R图)

 

 

3、逻辑结构设计

3.1管理员表

Field

Type

key

NULL

用户名

nchar(10)

PRI

NO

密码

Nchar(6)

NO

备注

Yes

3.2用户表

Field

Type

key

NULL

用户名

nchar(10)

PRI

NO

密码

Nchar(6)

NO

姓名

nchar(10)

NO

性别

nchar

(1)

NO

电话

nchar(11)

NO

地址

nvarchar(50)

NO

备注

nvarchar(50)

Yes

3.3菜单表

Field

Type

key

NULL

菜名

nchar(10)

PRI

NO

价格

money

NO

剩余量

int

NO

客户评价

nvarchar(50)

Yes

3.4订单表

Field

Type

key

NULL

订单号

int

PRI

NO

菜名

nchar(10)

NO

点餐数量

int

NO

姓名

nchar(10)

NO

地址

nvarchar(50)

NO

 

4、主要步骤

(1)登录窗体:

验证用户登录

定义一个连接数据库的类:

classClass1

{

publicstaticDataRowlogin;

publicstaticboolisman;

publicstaticvoidcheckuser(string用户名,string密码)

{

SqlConnectioncn=newSqlConnection(Properties.Settings.Default.xkSetting);

SqlDataAdapterda=newSqlDataAdapter("SELECT*FROMguanliWHERE用户名=@用户名AND密码=@密码",cn);

da.SelectCommand.Parameters.Add("@用户名",SqlDbType.NVarChar,10).Value=用户名;

da.SelectCommand.Parameters.Add("@密码",SqlDbType.NVarChar,6).Value=密码;

DataSetds=newDataSet();

da.Fill(ds);

if(ds.Tables[0].Rows.Count>0)

{

login=ds.Tables[0].Rows[0];

isman=true;

}

else

login=null;

}

publicstaticvoidyonghu(stringxinmin,string密码)

{

SqlConnectioncn=newSqlConnection(Properties.Settings.Default.xkSetting);

SqlDataAdapterda=newSqlDataAdapter("SELECT*FROMyonghuWHERExinmin=@xinminAND密码=@密码",cn);

da.SelectCommand.Parameters.Add("@xinmin",SqlDbType.NVarChar,10).Value=xinmin;

da.SelectCommand.Parameters.Add("@密码",SqlDbType.NVarChar,6).Value=密码;

DataSetds=newDataSet();

da.Fill(ds);

if(ds.Tables[0].Rows.Count>0)

{

login=ds.Tables[0].Rows[0];

isman=true;

}

else

login=null;

}

}

}

输入用户名和密码,选择管理员选项,点击登录:

验证代码如下:

publicForm1()

{

InitializeComponent();

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(checkBox1.Checked)

Class1.checkuser(textBox1.Text,textBox2.Text);

else

Class1.yonghu(textBox1.Text,textBox2.Text);

if(Class1.login==null)

MessageBox.Show("密码错误","登录",MessageBoxButtons.OK,MessageBoxIcon.Information);

else

Close();

Program.name=textBox1.Text;

}

privatevoidbutton3_Click(objectsender,EventArgse)

{

Close();

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

this.textBox1.Text="";

this.textBox2.Text="";

}

privatevoidForm1_Load(objectsender,EventArgse)

{

}

privatevoidbutton4_Click(objectsender,EventArgse)

{

zhucef=newzhuce();

f.Show();

}

验证出错截图:

(2)设计主窗体:

主窗体代码:

publicpartialclassForm2:

Form

{

DataSetds=newDataSet();

publicForm2()

{

InitializeComponent();

}

privatevoidForm2_Load(objectsender,EventArgse)

{

//TODO:

这行代码将数据加载到表“dsxk.kuaican”中。

您可以根据需要移动或删除它。

this.kuaicanTableAdapter.Fill(this.dsxk.kuaican);

//TODO:

这行代码将数据加载到表“dsxk.xican”中。

您可以根据需要移动或删除它。

this.xicanTableAdapter.Fill(this.dsxk.xican);

//TODO:

这行代码将数据加载到表“dsxk.wodedindan”中。

您可以根据需要移动或删除它。

this.wodedindanTableAdapter.Fill(this.dsxk.wodedindan);

//TODO:

这行代码将数据加载到表“dsxk.wodedindan”中。

您可以根据需要移动或删除它。

this.wodedindanTableAdapter.Fill(this.dsxk.wodedindan);

//TODO:

这行代码将数据加载到表“dsxk.zhongcan”中。

您可以根据需要移动或删除它。

this.zhongcanTableAdapter.Fill(this.dsxk.zhongcan);

panel1.Visible=false;

panel2.Visible=false;

panel3.Visible=false;

panel4.Visible=false;

panel5.Visible=true;

}

privatevoidlabel1_Click(objectsender,EventArgse)

{

}

privatevoid首页ToolStripMenuItem_Click(objectsender,EventArgse)

{

panel1.Visible=false;

panel2.Visible=false;

panel3.Visible=false;

panel4.Visible=false;

panel5.Visible=true;

}

privatevoid退出登录ToolStripMenuItem_Click(objectsender,EventArgse)

{

Form1myf=newForm1();

myf.Show();

}

privatevoid中餐ToolStripMenuItem_Click(objectsender,EventArgse)

{

panel1.Visible=true;

panel2.Visible=false;

panel3.Visible=false;

panel4.Visible=false;

panel5.Visible=false;

}

privatevoid我的订单ToolStripMenuItem_Click(objectsender,EventArgse)

{

panel1.Visible=false;

panel2.Visible=false;

panel3.Visible=false;

panel4.Visible=true;

panel5.Visible=false;

}

privatevoid退出登录ToolStripMenuItem1_Click(objectsender,EventArgse)

{

Close();

}

privatevoidtoolStripButton1_Click(objectsender,EventArgse)

{

Form3a=newForm3();

a.Show();

}

privatevoid西餐ToolStripMenuItem_Click(objectsender,EventArgse)

{

panel1.Visible=false;

panel2.Visible=true;

panel3.Visible=false;

panel4.Visible=false;

panel5.Visible=false;

}

privatevoid酒水ToolStripMenuItem_Click(objectsender,EventArgse)

{

panel1.Visible=false;

panel2.Visible=false;

panel3.Visible=true;

panel4.Visible=false;

panel5.Visible=false;

}

privatevoidtoolStripButton2_Click(objectsender,EventArgse)

{

Form4a=newForm4();

a.Show();

}

privatevoid个人信息ToolStripMenuItem_Click(objectsender,EventArgse)

{

Form5a=newForm5();

a.Show();

}

 

(3)建立各子窗体:

1.菜单项下的子窗体显示,我选用的是PENER控件,方便在主窗体内刷新数据。

2.

3.

4.

privatevoidForm5_Load(objectsender,EventArgse)

{

SqlDataAdapterOleDat;

DataTabledt;

SqlConnectioncn=newSqlConnection(Properties.Settings.Default.xkSetting);

cn.Open();

dt=newDataTable();

stringmysql="select*fromyonghuwhere用户名='"+Program.name+"'";

OleDat=newSqlDataAdapter(mysql,cn);

OleDat.Fill(dt);

this.textBox1.Text=dt.Rows[0][1].ToString();

this.textBox2.Text=dt.Rows[0][2].ToString();

this.textBox3.Text=dt.Rows[0][3].ToString();

this.textBox4.Text=dt.Rows[0][4].ToString();

this.textBox5.Text=dt.Rows[0][5].ToString();

this.textBox6.Text=dt.Rows[0][6].ToString();

this.textBox7.Text=dt.Rows[0][7].ToString();

(3)创建数据集

(4)管理员权限:

更新点餐菜单,管理注册用户

代码:

publicForm3()

{

InitializeComponent();

}

privatevoidzhongcanBindingNavigatorSaveItem_Click(objectsender,EventArgse)

{

this.Validate();

this.zhongcanBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.dsxk);

}

privatevoidForm3_Load(objectsender,EventArgse)

{

//TODO:

这行代码将数据加载到表“dsxk.xican”中。

您可以根据需要移动或删除它。

this.xicanTableAdapter.Fill(this.dsxk.xican);

//TODO:

这行代码将数据加载到表“dsxk.zhongcan”中。

您可以根据需要移动或删除它。

this.zhongcanTableAdapter.Fill(this.dsxk.zhongcan);

}

管理用户代码:

publicpartialclassForm4:

Form

{

publicForm4()

{

InitializeComponent();

}

privatevoidyonghuBindingNavigatorSaveItem_Click(objectsender,EventArgse)

{

this.Validate();

this.yonghuBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.dsxk);

}

privatevoidForm4_Load(objectsender,EventArgse)

{

//TODO:

这行代码将数据加载到表“dsxk.yonghu”中。

您可以根据需要移动或删除它。

this.yonghuTableAdapter.Fill(this.dsxk.yonghu);

}

}

(5)注册新用户:

验证注册信息代码:

privatevoidbutton1_Click(objectsender,EventArgse)

{

string用户名=textBox1.Text.Trim();

string密码=textBox2.Text.Trim();

stringxinmin=textBox3.Text.Trim();

stringxinbie=textBox4.Text.Trim();

stringnianlin=textBox5.Text.Trim();

stringdianhua=textBox6.Text.Trim();

stringQQ=textBox7.Text.Trim();

stringbeizhu=textBox8.Text.Trim();

SqlConnectioncn=newSqlConnection(Properties.Settings.Default.xkSetting);

stringsql=string.Format("updateyonghuset用户名='{0}',密码='{1}',xinbie='{2}',nianlin='{3}',dianhua='{4}',QQ='{5}',beizhu='{6}'wherexinmin='{7}'",用户名,密码,xinbie,nianlin,dianhua,QQ,beizhu,xinmin);

SqlCommandcmd=newSqlCommand(sql,cn);

cn.Open();

intn=Convert.ToInt32(cmd.ExecuteNonQuery());

if(n!

=1)

{

MessageBox.Show("更新失败");

}

else

{

MessageBox.Show("更新成功");

}

6、实验总结

通过本次实验大作业,首先我深刻认识到自己在编程各方面的不足,其次,值得肯定的是自己的坚忍不拔的学习耐力与

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

当前位置:首页 > IT计算机 > 计算机软件及应用

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

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