大连海事大学本科生实验报告
数据库原理-操作实训
院 (系): 交通运输管理学院
专 业: 电子商务
课程名称: 数据库原理
学 号: **********
学 生: 周慧敏
**** **
完成日期: 2013 年 12 月
1.实验目的
掌握数据库模式设计,依据实际要求设计表结构,建立表的关系;结合一定的开发工具实现数据库应用程序的开发。
2.实验环境
2.1 硬件环境:
处理器:Intel(R) Core(TM) i3 CPU M 380 @ 2.53GHz 2.53GHz
安装内存:(RAM):2GB(1.86GB可用)
2.2 软件环境
操作系统: Windows7
数据库管理系统:微软公司的SQL Server2005
开发工具: Eclipse
3.需求分析
销售管理系统,可用于企业的销售信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成销售信息的添加,查询,修改,删除的操作。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。
该系统实现的大致功能:
1.用户登陆界面。该界面可以选择使用者的身份,“系统管理员,基本档案管理员,业务员”。不同的身份有不同的操作界面和功能权限。ID号和密码输入正确即可登录。
2.系统管理员界面,拥有最高权限。提供了客户信息管理、产品信息管理、订单信息管理、发货管理与签收管理等功能。
3.基本档案管理员界面。提供了客户信息管理、产品信息管理等功能。
4.业务员界面。提供了订单信息管理、发货管理与签收管理等功能。
5.登录的用户信息分别存储在SQL数据库的“unpw表”中,如果用户信息不存在这个表中,将会无权利登录本管理系统。
6.保证了本销售管理系统的安全性。
系统功能图如下:
4.概念结构设计
根据以上对系统的需求分析,系统设计,本系统使用的数据库实体分别为客户信息实体,产品信息实体,订单信息实体,发货单实体,签收单实体。
1:客户信息实体
客户信息实体包括客户名称、单位地址、、地址、开户银行、银行账号、发票抬头、所在区域等属性。客户信息实体的E-R图如图所示。
2:发货单实体
发货单实体包括客户名称、联系人、、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期等属性,E-R图如图所示。
3:签收单实体
签收单实体包括客户名称、联系人、、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期等属性,E-R图如图所示。
4:unpw实体
unpw实体包括un、pw、qx等属性,E-R图如图所示。
5:产品信息实体
产品信息实体主要包括产品名称、规格、型号、操作系统、产品描述、产品分类等属性。E-R图如图所示。
6:订单信息实体
订单信息实体主要包括客户名称、联系人、、发货地址、最后到货期限(日期)以及产品名称、型号、数量、产品要求等属性。E-R图如图所示。
实体属性表:
实体 | 属性 |
客户信息 | 客户名称、单位地址、、地址、开户银行、银行账号、发票抬头、所在区域 |
产品信息 | 产品名称、规格、型号、操作系统、产品描述、产品分类 |
订单信息 | 客户名称、联系人、、发货地址、最后到货期限(日期)以及产品名称、型号、数量、产品要求 |
签收单 jfinal增删改查 | 客户名称、联系人、、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期 |
发货单 | 客户名称、联系人、、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期 |
unpw(用户) | un(登录名)、pw(密码)、qx(用户) |
5.逻辑结构设计
(1) 表-dbo.客户信息(客户信息表)
客户信息表包括客户名称、单位地址、、地址、开户银行、银行帐号、发票抬头、所在区域等信息。
(2) 表-dbo.产品信息(产品信息表)
产品信息表包括产品名称、规格、型号、操作系统、产品描述、产品分类等信息。
(3)表-dbo.订单信息(订单信息表)
订单信息表包括客户名称、联系人、、发货地址、最后到货期限(日期)以及产品名称、型号、数量、产品要求等信息。
(4) 表-dbo.发货单信息(发货单表)
发货单表主要包括客户名称、联系人、、发货地址、地址、产品名称、型号、数量、单价、运费、总价、发货日期等信息。
(5) 表-dbo.签收单信息(签收单表)
签收单表主要包括客户名称、联系人、、发货地址、地址、产品名称、型号、数量、单价、运费、总价、收货日期等信息。
(6) 表-dbo.unpw(用户表)
用户表包括un、pw、qx等信息。
6.数据库实现
(1)数据库关系图
(2)SQL语句实现
数据表的创建:
(i)客户信息表创建:
create table 客户信息表(
客户名称 nchar(10) not null primary key ,
单位地址 nchar(10),
nchar(10),
地址 nchar(10),
开户银行 nchar(10),
银行账号 nchar(10),
发票抬头 nchar(10),
所在区域 nchar(10),
)
(ii)产品信息表创建:
create table 产品信息表(
产品名称 nchar(10) not null primary key ,
规格 nchar(10),
型号 nchar(10),
操作系统 nchar(10),
产品描述 nchar(10),
产品分类 nchar(10),
)
(iii)订单信息表创建:
create table 订单信息表(
客户名称 nchar(10) not null primary key ,
联系人 nchar(10),
nchar(10),
发货地址 nchar(10),
最后到货期限 nchar(10),
产品名称 nchar(10),
型号 nchar(10),
数量 int,
产品要求 nchar(10),
)
(iv)发货单表创建:
create table 发货单表(
客户名称 nchar(10) not null primary key ,
联系人 nchar(10),
nchar(10),
发货地址 nchar(10),
地址 nchar(10),
产品名称 nchar(10),
型号 nchar(10),
数量 int,
单价 int,
运费 int,
总价 int,
发货日期 nchar(10),
)
(v)收货单表创建:
create table 收货单表(
客户名称 nchar(10) not null primary key ,
联系人 nchar(10),
nchar(10),
发货地址 nchar(10),
地址 nchar(10),
产品名称 nchar(10),
型号 nchar(10),
数量 int,
单价 int,
运费 int,
总价 int,
收货日期 nchar(10),
)
(vi)管理员信息表创建:
create table unpw表(
qx int not null primary key ,
un varchar(12) not null,
pw varchar(12) not null
)
7.应用系统设计实现
(1)用户登录模块
(2)各用户操作模块
(i)系统管理员操作模块
(ii)基本档案管理员操作模块
(iii)业务员操作模块
(3)系统管理员登录
在登陆界面选择“系统管理员”角,输入正确的ID和密码。验证成功则可进入系统管理员管理界面。系统管理员ID号和登录密码存在数据库中的管理员信息表。表中存在的管理员才允许登录。
(i)点击客户信息管理,弹出如下界面:
(ii)点击显示按钮后,会出现数据库里保存的客户信息:
(iii)点击增加按钮,弹出如下界面,输入要增加的客户信息,成功后会弹出增加成功的提示窗口:
(iv)增加客户信息成功后客户信息管理界面会增加一行客户信息,如图所示:
(v)选中一条客户信息,点击删除按钮,成功后会出现删除成功的提示窗口:
(vi)成功删除Tom客户的信息后,客户信息管理界面变化如下:
(vii)选中一行客户信息,点击修改按钮,出现如下界面,输入要修改的信息,成功后弹出修改成功的提示窗口:(此处修改了客户Tom的)
(viii)点击查询按钮,弹出如下窗口:
在文本框中输入“Hei“,即可查询所在区域为”Hei“的客户信息:
其他模块与客户信息管理模块类似,均能实现信息的查询、修改、删除、增加、显示等功能,在此不再赘述;点击退出系统即可完成本次操作。
经过系统一系列的增删改查操作之后,sql sever 2005数据库上的客户信息表同时也发生了改变:
8.实验总结(实验心得)
本次操作实训虽然很辛苦,但实在是受益匪浅。在操作实训过程中碰到了很多问题,刚开始的时候,还真不知道从哪里下手。但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次操作实训我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在实验的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,这次操作实训之后,一定把以前所学过的知识重新温故。
通过这次操作实训使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
附录:代码
Control.java
package zhm;
public class Control {
public static void main(String[] args) {
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论