数据库原理课程设计报告 附代码.docx

上传人:b****4 文档编号:3682550 上传时间:2022-11-24 格式:DOCX 页数:24 大小:1.62MB
下载 相关 举报
数据库原理课程设计报告 附代码.docx_第1页
第1页 / 共24页
数据库原理课程设计报告 附代码.docx_第2页
第2页 / 共24页
数据库原理课程设计报告 附代码.docx_第3页
第3页 / 共24页
数据库原理课程设计报告 附代码.docx_第4页
第4页 / 共24页
数据库原理课程设计报告 附代码.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

数据库原理课程设计报告 附代码.docx

《数据库原理课程设计报告 附代码.docx》由会员分享,可在线阅读,更多相关《数据库原理课程设计报告 附代码.docx(24页珍藏版)》请在冰豆网上搜索。

数据库原理课程设计报告 附代码.docx

数据库原理课程设计报告附代码

 

课程设计报告

(2014--2015年度第2学期)

 

名称:

数据库原理课程设计

题目:

超市管理系统

院系:

计算机系

班级:

软件1201

学号:

学生姓名:

指导教师:

阎蕾,王晓辉

设计周数:

成绩:

日期:

2015年7月17日

《数据库原理课程设计》课程设计

任务书

一、目的与要求

1.本实验是为软件工程、网络工程、信息安全等专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。

通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。

为后继课程和毕业设计打下良好基础。

2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。

3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。

是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。

二、主要内容

针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。

大致分为如下步骤:

1.理解系统的数据库需求,分析实体及实体间联系,画出E-R图:

1.分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。

2.设计实体之间的联系,包括联系类型和联系的属性。

最后画出完整的E-R图。

2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:

1)把E-R图转换为逻辑模式;

2)规范化设计。

使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。

3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。

4)用SQL语言完成数据库内模式的设计。

3.数据库权限的设计:

1)根据系统分析,完成授权操作;

2)了解学习收回权限的操作。

4.完成用户界面的设计,对重要数据进行加密。

5.连接数据库,用宿主语言实现系统所需的各种操作:

1)实现数据记录的录入、删除、查询和修改。

2)以视图的形式完成复杂查询,比如多表、多条件等。

三、进度计划

序号

设计(实验)内容

完成时间

备注

1

根据任务书完成信息模型(概念模型、逻辑模型、完整性、规范化)的设计,并基于选用的DBMS实现该信息模型,然后录入初始数据

1天

2

根据任务书完成各种数据定义和数据操作,并保留所有SQL语句。

0.5天

3

数据库权限设计,用户界面设计

0.5天

4

用可视化开发工具环境开发学生选定的信息系统(C/S或者B/S模式)

2天

5

系统的完善与验收

1天

四、设计(实验)成果要求

1.在DBMS(如oracle,SQLServer2005/2008/2010,DB2等)上完成完整的数据库的设计;

2.使用可视化开发平台完成信息系统,要求可以正确运行;

3.完成实验报告。

五、考核方式

1.在微机上检查数据库模式的设计、三大完整性的设计、关系属于几范式等;

2.在微机上检查系统的运行结果,要求学生阐述使用的相关技术;

3.实验报告的检查。

六、题目附录

1.图书管理信息系统

2.物资管理信息系统

3.汽车销售管理信息系统

4.超市管理信息系统

5.通讯录管理信息系统

6.工资管理信息系统

7.酒店管理信息系统

8.小区物业管理信息系统

学生姓名:

指导教师:

阎蕾

2015年7月3日

 

一、设计(实验)正文

1.系统功能图

2.系统详细描述与E-R设计

一个会员可以购买多种商品,每种商品可以被多个会员购买。

每种商品有一个唯一的编号作为标志。

管理员对商品信息、管理员信息、会员信息和商品类别具有增、删、改、查的权限。

根据以上描述得到的实体及属性如下:

A.实体:

会员:

会员编号,密码,性别,出生日期

商品:

商品编号,商品名称,商品类型,数量,生产公司,产地,描述

管理员:

管理员编号,姓名,密码

商品类型:

类型编号,名称

B.实体之间的联系如下:

会员与商品之间的关系:

购买(会员编号,商品编号,购买日期,退货日期)

管理员与管理员间的联系:

管理

管理员与商品间的联系:

管理

管理员与会员间的联系:

管理

管理员与商品类型间的联系:

管理

C.说明:

下划线文字为主码;为了避免冲突发生,所有属性(除退货日期及商品描述外)均非空。

D.根据以上分析设计出实体及其属性图如下:

E.实体及其联系图

3.系统逻辑结构设计

A、根据以上E-R图得到系统关系模型如下:

会员(会员编号,密码,性别,出生日期)

商品(商品编号,商品名称,商品类型,数量,生产公司,产地,描述)

管理员(管理员编号,姓名,密码)

商品类型(类型编号,名称)

购买(会员编号,商品编号,购买日期,退货日期)

说明:

以上关系中,下划线部分为对应关系的主码,加黑部分为外码,且所有属性(除退货日期及商品描述外)均非空。

B、使用SQL语言创建各表

会员表:

CREATETABLETable_VIP(

Vnumvarchar(50)primarykey,

Vnamevarchar(50),

Vpwdvarchar(50),

Vsexvarchar(4)check(Vsexin('男','女')),

Vbirthdatetime)

商品表:

CREATETABLETable_Goods(

Gnumvarchar(50)primarykey,

Gnamevarchar(50),

Gcountvarchar(50),

Gcompanyvarchar(50),

Gplacevarchar(50),

Gdatedatetime,

Gdescribvarchar(50),

foreignkey(Gtype)referencesTable_Type(Typenum)

ondeletecascade

onupdatecascade)

管理员表:

CREATETABLETable_Admin(

Anumvarchar(50)primarykey,

Anamevarchar(50),

Apwdvarchar(50))

购买表:

CREATETABLETable_Shopping(

idintidentity(1,1),

Vnumvarchar(50),

Gnumvarchar(50),

Stimedatetime,

Rtimedatetime,

primarykey(Vnum,Gnum),

foreignkey(Vnum)referencesTable_VIP(Vnum)

ondeletecascade

onupdatecascade,

foreignkey(Gnum)referencesTable_Goods(Gnum)

ondeletecascade

onupdatecascade)

商品类型表:

CREATETABLETable_Type(

Typenumvarchar(50)primarykey,

Typenamevarchar(50))

C、各表的截图

图1.管理员表

图2.商品类型表

图3.商品表

图4.购物记录表

图5.会员表

4、在数据库中创建存储过程:

全部存储过程如上图,包括管理员登录、会员登录、根据商品的编号或名称查询商品信息、查询购物记录、退货、购物等过程。

选择几个存储过程代码如下:

A.管理员登录:

B.通过商品名称查找商品信息(模糊查询)

C.根据商品编号退货

D.会员根据会员编号和商品编号购买商品

5、在ASP.NET页面中连接并操作数据库,连接字符串如下:

publicConDB(){

conStr=@"Server=USER-PC\赟赟;Database=Library;IntegratedSecurity=True;";

}

6、界面设计与运行结果

根据系统所需实现的功能及系统的用户类型不同,将界面设计如下:

A.登录界面

B.会员主界面

C.会员商品查询、购买

D.管理员主界面

该模块实现管理员信息、商品信息、会员信息、商品类型等基本管理和退货等操作。

E.管理员管理

注:

会员管理、商品管理、商品类型管理界面都和管理员管理的界面相同,都实现了增、删、改、查的功能。

由于管理员类的主键是Anum,所以当更新的管理员信息编号与已存在的编号相同,会提示错误信息,如下图所示:

F.管理员退货界面

三、课程设计(综合实验)总结或结论

本次实验是我们学习数据库原理后,为了培养我们更好的解决问题和实际动手能力而设置的实践环节。

在本次实验中,把上课所学知识与实际应用联系起来,加深了对课本知识的理解,提高了自己的动手能力和编程能力,对数据库的设计也有了更好地理解和把握。

本次课程设计我们所做的系统是超市管理系统,是用winsows窗体编写的,数据库开发环境是SQLServer2008,使用的语言是C#。

超市管理系统操作简单,使用方便,条理清晰,界面友好。

本次实验注重的是数据库的设计,所以在设计E—R图、创建各表花费了更多的时间,确定了系统的需求之后再设计,系统比较简单,虽然在实现的过程中也遇到了很多问题,但是通过和同组成员及同学、老师的及时交流,问题都得到了很好地解决,总之,我对这次实验的表现和成果还是很满意的。

同时,本次实验也提高了自己的团队合作能力,提高了自己与他人的交流合作能力。

最后,感谢老师的指导。

四、参考文献

[1]王珊,萨师煊.数据库系统概论.高等教育出版社.

 

附录(设计流程图、程序、表格、数据等)

A.数据设置

B.部分代码

管理员主界面:

publicpartialclassAdminManage:

Form

{

GoodsBLLbb=newGoodsBLL();

AdminBLLab=newAdminBLL();

publicAdminManage()

{

InitializeComponent();

bt_TopManage.Enabled=false;

}

//按商品编号查询购物记录

privatevoidbt_sure_Click(objectsender,EventArgse)

{

stringnum=tb_num.Text.Trim();

DataTabledt=bb.SearchShoppingByGnum(num);

if(dt.Rows.Count>0)

{

dataGridView1.DataSource=dt;

bt_TopManage.Enabled=true;

tb_num.Enabled=false;

}

else

{

MessageBox.Show("未找到相应编号的商品","警告",MessageBoxButtons.OK);

}

}

privatevoidtb_AddAdmin_Click(objectsender,EventArgse)

{

//添加管理员页面

Formadl=newAddAdmin();

//this.Hide();

adl.Show();

}

privatevoidbt_delAdmin_Click(objectsender,EventArgse)

{

//删除管理员页面

Formadl=newDelAdmin();

this.Hide();

adl.Show();

}

privatevoidbt_updateAdmin_Click(objectsender,EventArgse)

{

//修改管理员页面

Formadl=newUpdateAdmin();

this.Hide();

adl.Show();

}

privatevoidbt_AddGoods_Click(objectsender,EventArgse)

{

//添加商品信息

Formadl=newAddGoods();

//this.Hide();

adl.Show();

}

privatevoidbt_DelGoods_Click(objectsender,EventArgse)

{

//删除商品信息

Formadl=newDelGoods();

this.Hide();

adl.Show();

}

privatevoidbt_UpdateGoods_Click(objectsender,EventArgse)

{

//修改商品信息

Formadl=newUpdateGoods();

this.Hide();

adl.Show();

}

privatevoidbt_AddVIP_Click(objectsender,EventArgse)

{

//添加会员信息

Formadl=newAddVIP();

//this.Hide();

adl.Show();

}

privatevoidbt_DelVIP_Click(objectsender,EventArgse)

{

//删除会员信息

Formadl=newDelVIP();

this.Hide();

adl.Show();

}

privatevoidbt_type_Click(objectsender,EventArgse)

{

Formadl=newTypeManage();

//this.Hide();

adl.Show();

}

privatevoidbt_TopManage_Click(objectsender,EventArgse)

{

//退货管理

stringnum=tb_num.Text.Trim();

boolb=ab.DeleteByGnum(num);

if(b)

{

MessageBox.Show("退货成功!

","提示",MessageBoxButtons.OK);

dataGridView1.DataSource=null;

tb_num.Enabled=true;

tb_num.Text="";

}

else

{

MessageBox.Show("退货未成功!

","提示",MessageBoxButtons.OK);

}

}

privatevoidbt_AddVIP_Click_1(objectsender,EventArgse)

{

Formadl=newAddVIP();

//this.Hide();

adl.Show();

}

privatevoidbt_exit_Click(objectsender,EventArgse)

{

Application.Exit();

}

privatevoidllb_login_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)

{

Formadl=newAdminLogin();

this.Hide();

adl.Show();

}

protectedoverridevoidOnClosing(CancelEventArgse)

{

//退出提示

if(MessageBox.Show(this,"确认退出?

","提示信息:

",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)

{

e.Cancel=false;

}

else

{

e.Cancel=true;

}

}

privatevoidbt_return_Click(objectsender,EventArgse)

{

tb_num.Enabled=true;

tb_num.Text="";

dataGridView1.DataSource=null;

}

}

会员主界面:

publicpartialclassVIPManage:

Form

{

GoodsBLLgb=newGoodsBLL();

VIPBLLvb=newVIPBLL();

privatestringvNum;

privatestringvPsw;

publicVIPManage()

{

InitializeComponent();

comboBox1.SelectedIndex=0;

}

publicVIPManage(stringnum,stringpsw)

{

InitializeComponent();

comboBox1.SelectedIndex=0;

vNum=num;

vPsw=psw;

dataGridView1.AllowUserToResizeColumns=false;

dataGridView1.AllowUserToResizeRows=false;

dataGridView1.ColumnHeadersHeightSizeMode=DataGridViewColumnHeadersHeightSizeMode.DisableResizing;

dataGridView1.RowHeadersWidthSizeMode=DataGridViewRowHeadersWidthSizeMode.DisableResizing;

}

privatevoidbt_sure_Click(objectsender,EventArgse)

{

inti=comboBox1.SelectedIndex;

strings=tb_insert.Text.Trim();

if(i==0)//商品编号

{

dataGridView1.DataSource=vb.SearchGoodsByGnum(s);

}

if(i==1)//商品名称

{

dataGridView1.DataSource=vb.SearchGoodsByGname(s);

}

}

privatevoidbt_Shopping_Click(objectsender,EventArgse)

{

stringgnum=tb_num.Text.Trim();

boolb=vb.ShoppingGoods(gnum,vNum);

if(b)

{

MessageBox.Show("商品购买成功!

","提示",MessageBoxButtons.OK);

dataGridView1.DataSource=vb.SearchGoodsByGnum(gnum);

}

else

{

MessageBox.Show("商品已售完或已下架!

","提示",MessageBoxButtons.OK);

tb_num.Focus();

}

}

PrivatevoiddataGridView1_RowPrePaint(objectsender,DataGridViewRowPrePaintEventArgse)

{

e.PaintParts=DataGridViewPaintParts.All^DataGridViewPaintParts.Focus;

}

privatevoidbt_IsShopping_Click(objectsender,EventArgse)

{

DataTabledt=newDataTable();

dt=vb.SearchAllGoodsByNum(vNum);

if(dt.Rows.Count>0)

{

dataGridView1.DataSource=dt;

}

else

{

MessageBox.Show("查询错误!

","提示",MessageBoxButtons.OK);

}

}

privatevoidbt_exit_Click(objectsender,EventArgse)

{

Application.Exit();

}

privatevoidllb_login_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)

{

Formadl=newAdminLogin();

this.Hide();

adl.Show();

}

protectedoverridevoidOnClosing(CancelEventArgse)

{

//退出提示

if(MessageBox.Show(this,"确认退出?

","提示信息:

",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)

{

e.Cancel=false;

}

else

{

e.Cancel=true;

}

}

}

 

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

当前位置:首页 > 求职职场 > 简历

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

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