网上购物订单数据库系统
班级:xxxxx
姓名:xxxxx
目录
一、概述 ....................................................................................................................... 1
1.1 开发背景 ........................................................................................................ 2 二、需求分析 ............................................................................................................... 2
2.1 框架分析 ........................................................................................................ 3 2.2 功能需求 ........................................................................................................ 3 2.3 系统功能清单 ................................................................................................ 3 2.4 数据流图 ........................................................................................................ 4 2.5 数据字典 ........................................................................................................ 5
2.5.1 数据流的描述 ..................................................................................... 5 2.5.2 处理逻辑的描述 ................................................................................. 5
三、 概念模型设计 ..................................................................................................... 5
3.1 系统模块划分 ................................................................................................ 5 3.2 系统功能模块结构图 .................................................................................... 6 3.3 会员实体图 .................................................................................................. 7 3.4 商品实体图 .................................................................................................. 7 3.5 系统E-R 图 .................................................................................................... 8 3.6 管理员后台处理流程图 ............................................................................ 10 四、逻辑模型设计 ..................................................................................................... 10
4.1 E-R图向关系模型转化„„„„„„„„„„„„„„„„„„„„10 4.2 数据库表设计„„„„„„„„„„„„„„„„„„„„„„„10 4.3 关系模式优化„„„„„„„„„„„„„„„„„„„„„„„12 五、物理设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„12 六、数据库实施„„„„„„„„„„„„„„„„„„„„„„„„„„14 七、不足与体会„„„„„„„„„„„„„„„„„„„„„„„„„„23
一、概述
1.1 开发背景
随着网络技术的日益成熟,网络购物已经成为引领潮流的购物方式,尤其是在一些出门购物并不是十分便利的地区,网上购物的优势更是体现的淋漓尽致。与此同时,网上购物也给商家带来了巨大的利润,因为免除了一些不必要的费用,在收益的获得上也显得更为直接,例如在今年的“光棍节”期间,淘宝的成交额将近200亿,可见,网上购物已成为主流。因而一个好的订单数据库管理系统成为了必要,在管理好用户数据的同时,也提高了订单处理的效率。
网上购物系统的主要内容是,一方面让销售商把商品发布于网络,一方面让消费者通过网络来完成商品的交易。系统总体分成前台和后台两大模块,前台是用户模块,后台是管理员模块。实现的功能,首先系统向用户列出网站的商品信息。其次当顾客登录网上购物系统后,为每个用户分配一个购物车,用户选择商品后,商品会被放入购物车。再次,用户确认购物车信息,点击提交生成订单。最后,管理员对订单进行处理,即完成一次商品交易。
网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI 交易。这种全新的交易防护四实现了公司将文档与资金的无纸化交换。
二、需求分析
2.1 需求框架分析
在我们的订单数据库系统中,采用了三层架构设计模式。
三层架构是基于模块化程序设计的思想,为实现分解应用程序的需求,而逐渐形成的一种标准模式的模块划分方法。
此模型将应用程序划分为:用户界面层、业务逻辑层、数据访问层三个层次。 1、用户界面层:负责处理用户的输入和向用户输出,但并不负责解释其含义。有时候出于对效率的考虑,这一层可能会在向上传输用户输入之前进行合法性验证。
2、业务逻辑层:这一层是用户界面层与数据访问层的纽带,它根据用户界面层传来的数据进行相应的业务逻辑操作并把结果返回给前端界面显示。
3、数据访问层:负责实际的数据存储和检索,它建立实际的数据库连接,根据用户的请求执行检索或更新数据库操作。
2.2 功能需求
订单数据库系统共有5个页面,基本流程为:
1、 会员通过“会员登录页面”登录成功后进入“购物列表界面”。 2、 会员在此可以选购;
3、 选购完毕后进入“购物车清单页面”,查看购物信息。此处可修改信息。 4、 确认购物车信息后进入“订单信息页面”,会员填写详细信息并提交订 单。
5、 订单成功提交后进入“订单详情页面”,至此购物流程结束。
2.3 系统功能清单
表 2-1 系统功能清单
2.4 数据流图
图 2-1 数据流图
2.5 数据字典
2.5.1 数据流的描述 (1)会员编号数据项定义
表2-2 会员编号数据项定义
2.5.2 处理逻辑的描述 (1)判断是否已结算
表2-4 判断是否已结算
三、 概念模型设计
3.1 系统模块划分
1、连接数据库模块:使用JDBC 访问ORACLE 数据库,实现对数据库的操作 2、购物车及后台处理模块:会员将购买的商品加入购物车后,将数据插入数据库保存,以便后台管理员确定信息和发货以及会员查看记录
3、验证登陆模块:根据输入的用户名和密码验证是否正确 4、商品展示模块:通过访问数据库展示商品信息 5、商品详细信息模块:显示商品的详细信息
3.1.2后台模块详细功能描述:
(1)管理员信息管理:登录;添加新管理员、删除管理员:修改密码;管理
员日志(记录管理员的每个操作,由超级管理员进行查询)。 (2)商品信息管理:添加、删除商品类别;添加、修改、删除商品信息。 (3)用户信息管理:查询用户信息、修改账户金额。
(4)订单管理:管理订单是否确认,是否发货,是否付款,是否归档。并且
对相应信息进行查询(支持多参数查询)。
3.2 系统功能模块结构图
图 3-2 系统功能模块结构图
3.3 会员实体图
图 3-3 会员实体图
3.4 商品实体图
图 3-4 商品实体图
3.5 系统E-R 图 3.5.1分E-R 图
3.5.2总E-R 图
图3-5 系统E-R 图
3.6 管理员后台处理流程图
图 3-6 管理员后台处理流程图
四、逻辑模型设计
4.1 E-R 图向关系模型转化
管理员(管理员编号、用户名、密码)
会 员(ID 、昵称、密码、姓名、地址、E-mail 、QQ 、联系方式)
购物车(编号、用户名、商品名、数量、总价格、创建时间)
订 单(订单号、创建时间、用户名、姓名、地址、联系方式、商品名、商品编
号、数量、总价、单价)
商 品(商品编号、商品名、单价、厂商、生产日期、商品介绍)
4.2 各个数据库表设计如下:
其中交易状态中设定:
0 ------- 等待付款 1 ------- 已付款等待发货 2 ------- 已发货等待签收 3 ------- 交易完成 4 ------- 交易关闭
4.3 关系模式的优化
对关系模式进行规范化处理,对关系模式进行评价与修正。
五、物理设计
5.1聚簇设计
该订单管理系统可建立以下聚簇:
OderId(订单编号) Isbn(商品编号) User(用户编号) Uname(用户名)
这几个聚簇设计是因为这几张表都是实体表,且聚簇中的属性都是主键或是外键,被访问的概率很高,而其他表或者这些表上的其他属性被访问的概率就相对较低。
5.2索引设计
索引就是表中数据和相应存储位置的列表,使用索引可以大大减少数据的查询时间。 对于一个确定的关系,通常在下列情况下可以考虑建立索引。
(1) 在主键属性列和外键属性列上通常都可以分别建立索引,不仅有助于唯一性检查和
完整性检查,而且可以加快连接查询的速度。
(2) 以查询为主的关系可建立尽可能多的索引。
(3) 对等值连接,但满足条件的元组较少的查询可以考虑建立索引。
(4) 如果查询可以从索引直接得到结果而不必访问关系,则对此种查询可以建立索引。
该数据库管理系统可建立以下索引:
OderId(订单编号) Isbn(商品编号) User(用户编号) Uname(用户名) Shopname(商品名) Rname(用户姓名)
5.3分区设计与否
涉及到数据库文件和日志文件的分区问题。 磁盘分区设计的一般原则:
(1) 减少访问冲突,提高I/O并发性。多个事物并发访问同一磁盘时,会产生磁盘访问
冲突而导致效率低下,如果事务访问数据均能分布于不同磁盘上,则I/O可并发执行,从而提高数据库访问速度。
(2) 分散热点数据,均衡I/O负担。在数据库中数据访问的频率是不均匀的,那些经常
被访问的数据成为热点数据,此类数据宜分散存在于不同的磁盘上,以均衡各个磁盘的负荷,充分发挥多磁盘的并行操作的优势。
(3) 保证关键数据快速访问,缓解系统瓶颈。在数据库中有些数据如数据字典等的访问
频率很高,为保证对它的访问不直接影响整个系统的效率,可以将其存放在某一固定磁盘上,以保证其快速访问。
由以上原则可知,只有在管理程序较大且有大量用户同时访问时才需要进行分区设计,因此,本管理系统不需要进行分区设计。
六、数据库实施 6.1基本表的建立 1、用户信息表
create table yh (
UserID char (20), Rtime date , Uname char (20), Rname char (10), passwd char (18), address char (50), QQ char (15), email char (50), PRIMARY key (UserID )
);
2、商品信息表
Create table sp (
Isbn char (50), Uploadtime date , Shopname char (30), Frome char (50), Price int , Storecount int , Content char (50), Primary key (Isbn )
);
3、订单信息表
Create table gw (
OrderId Char (50), Stime date , UserID Char (20), Uname Char (20), address Char (50), Rname Char (10), Isbn Char (50), Shopname Char (30), Count int , Price int , Condition int ,
Primary key (OrderId ),
Foreign key (UserID ) references yh (UserID ), Foreign key (Isbn ) references sp (Isbn )
);
6.2建立视图
Create view gw_用户 As Select
gw . UserID , gw . Uname , gw . Rname , yh . email , gw . address , sp . Isbn , sp . Shopname , s p . Price From gw , yh , sp
Where gw . UserID =yh . UserID and gw . Uname =yh . Uname
and gw . Rname =yh . Rname
and gw . address =yh . address and gw . Isbn =sp . Isbn
and gw . Shopname =sp . Shopname and gw . price =sp . price;
6.3建立索引
Create unique index yonghu on yh (UserID ); Create unique index shangp on sp (Isbn ); Create unique index gouwu on gw (OrderId );
6.4建立触发器
当删除sp 中的某一商品时,gw 中的相应商品也应删除
create trigger del_商品 ON gw for delete as
delete Isbn
where sp . Isbn = (select Isbn from deleted )
6.5 建立java 程序与数据库的关联 Java 源码:import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.sql.*;
class Loading
{
private JFrame Loading_Frame;
private JButton Loading_Button;
private JTextField Loading_Name;
private JButton Loading_Cancel;
private JPasswordField Loading_Key;
private JLabel Loading_lb1;
private JLabel Loading_lb2;
//private JDialog Loading_dia;
/* public static Resultdosqlserch(String s) {
/*public static void closeConnection() //看来不能这样风装啊 ;;;;;
//可以操作,,rs.getString(字段名) 来获得属性; 先关闭rs.close(); 依次是st.close(); 最后是conn.close();*/ /*rs.next();//指向第一个数据
rs.close(); st.close(); con.close;
}*/ Loading() {
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");/
Loading_Button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){ Loading_Button = new JButton("sure"); Loading_Frame.setResizable(false);
Loading_Frame = new JFrame("Loading~~~!!!!!!");
int textWidth=16; int length;
int flag=0;
String name = Loading_Name.getText(); String key1 = Loading_Key.getText();
/打开jdbc 驱动
String url =
"jdbc:sqlserver://localhost:1433;databaseName=dd;";
String user = "la"; String key = "123";
Statement st;
ResultSet rs; Boolean flag1; Boolean flag2;
try{ 对象
st = con.createStatement();//
rs = st.executeQuery("select * from yh ");//rs即sql 查询后con = DriverManager.getConnection(url,user,key);//获取连接
得到的结果;rs 此时游标指向为空,
System.out.println("在账户输入框中您输入的是:"+name);//输
出TextField 中输入的数
while(rs.next())
{
String x = rs.getString("userid"); String y = rs.getString("passwd");
System.out.println("数据库账户表中已有的帐户"+x); System.out.println("该帐户的密码是"+y); }
}catch (SQLException f){System.out.println("catch出错");}
}});
Loading_Name = new JTextField( textWidth);//长度50的账户名//Loading_Cancel.addActionListener(); Loading_Cancel = new JButton("Cancel"); 输入框,添加文档监视器,可以实现判断输入文本的正确,与文本框是否改变内容
Loading_Key = new JPasswordField(textWidth);//密码输入框,Loading_Name.setEditable(true); //Loading_Name.getDocument().addDocumentListener(); 与账户输入框同等长度;
Loading_Frame.setSize(250,135); Container Loading_c = Loading_Frame.getContentPane(); //Loading_dia = new JDialog(Frame x)//属于窗窗口的对话框; Loading_lb2 = new JLabel("密码"); Loading_lb1 = new JLabel("账户");
Loading_Frame.setLayout(new FlowLayout()); //在登录窗口添加组件 Loading_c.add(Loading_lb1); Loading_c.add(Loading_Name); Loading_c.add(Loading_lb2); Loading_c.add(Loading_Key); Loading_c.add(Loading_Button); Loading_c.add(Loading_Cancel); Loading_Frame.setVisible(true);
}
public static void main(String[] args)
{
}
}
new Loading();
七、不足和心得体会
7.1系统设计的不足
1、在进行数据设计的时候,只考虑了几个最简单的数据输入,并不能很好地应用与实际应用当中
2、在使用过程中依旧会产生一些错误,比如缺乏一些用户交互界面造成的一些约束的错误
3、在整个系统的稳定性方面做的不足。我不能保证在我的系统上如果再加上其他功能会不会导致系统崩溃,所以还需要不断地完善。
7.2我的心得
经过本次的实习,我发现在操作的过程中依旧存在着诸多的不足,在做很多内容的时候依旧还是要看看书,查找一些资料,从而可以看出,在一些基本的知识上还是存在着一些缺陷和不足。此外,在逻辑结构上并没有考虑到与用户的交互问题,这也使得本系统的实用性大大折扣。
因此,在以后的学习生活当中,我会更为注意基础知识的巩固和初期在概念和逻辑结构设计上的合理性问题,总之,这次实习对我的学习成果不得不说是一次很好的检验,同时,是我受益良多。
网上购物订单数据库系统
班级:xxxxx
姓名:xxxxx
目录
一、概述 ....................................................................................................................... 1
1.1 开发背景 ........................................................................................................ 2 二、需求分析 ............................................................................................................... 2
2.1 框架分析 ........................................................................................................ 3 2.2 功能需求 ........................................................................................................ 3 2.3 系统功能清单 ................................................................................................ 3 2.4 数据流图 ........................................................................................................ 4 2.5 数据字典 ........................................................................................................ 5
2.5.1 数据流的描述 ..................................................................................... 5 2.5.2 处理逻辑的描述 ................................................................................. 5
三、 概念模型设计 ..................................................................................................... 5
3.1 系统模块划分 ................................................................................................ 5 3.2 系统功能模块结构图 .................................................................................... 6 3.3 会员实体图 .................................................................................................. 7 3.4 商品实体图 .................................................................................................. 7 3.5 系统E-R 图 .................................................................................................... 8 3.6 管理员后台处理流程图 ............................................................................ 10 四、逻辑模型设计 ..................................................................................................... 10
4.1 E-R图向关系模型转化„„„„„„„„„„„„„„„„„„„„10 4.2 数据库表设计„„„„„„„„„„„„„„„„„„„„„„„10 4.3 关系模式优化„„„„„„„„„„„„„„„„„„„„„„„12 五、物理设计„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„12 六、数据库实施„„„„„„„„„„„„„„„„„„„„„„„„„„14 七、不足与体会„„„„„„„„„„„„„„„„„„„„„„„„„„23
一、概述
1.1 开发背景
随着网络技术的日益成熟,网络购物已经成为引领潮流的购物方式,尤其是在一些出门购物并不是十分便利的地区,网上购物的优势更是体现的淋漓尽致。与此同时,网上购物也给商家带来了巨大的利润,因为免除了一些不必要的费用,在收益的获得上也显得更为直接,例如在今年的“光棍节”期间,淘宝的成交额将近200亿,可见,网上购物已成为主流。因而一个好的订单数据库管理系统成为了必要,在管理好用户数据的同时,也提高了订单处理的效率。
网上购物系统的主要内容是,一方面让销售商把商品发布于网络,一方面让消费者通过网络来完成商品的交易。系统总体分成前台和后台两大模块,前台是用户模块,后台是管理员模块。实现的功能,首先系统向用户列出网站的商品信息。其次当顾客登录网上购物系统后,为每个用户分配一个购物车,用户选择商品后,商品会被放入购物车。再次,用户确认购物车信息,点击提交生成订单。最后,管理员对订单进行处理,即完成一次商品交易。
网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI 交易。这种全新的交易防护四实现了公司将文档与资金的无纸化交换。
二、需求分析
2.1 需求框架分析
在我们的订单数据库系统中,采用了三层架构设计模式。
三层架构是基于模块化程序设计的思想,为实现分解应用程序的需求,而逐渐形成的一种标准模式的模块划分方法。
此模型将应用程序划分为:用户界面层、业务逻辑层、数据访问层三个层次。 1、用户界面层:负责处理用户的输入和向用户输出,但并不负责解释其含义。有时候出于对效率的考虑,这一层可能会在向上传输用户输入之前进行合法性验证。
2、业务逻辑层:这一层是用户界面层与数据访问层的纽带,它根据用户界面层传来的数据进行相应的业务逻辑操作并把结果返回给前端界面显示。
3、数据访问层:负责实际的数据存储和检索,它建立实际的数据库连接,根据用户的请求执行检索或更新数据库操作。
2.2 功能需求
订单数据库系统共有5个页面,基本流程为:
1、 会员通过“会员登录页面”登录成功后进入“购物列表界面”。 2、 会员在此可以选购;
3、 选购完毕后进入“购物车清单页面”,查看购物信息。此处可修改信息。 4、 确认购物车信息后进入“订单信息页面”,会员填写详细信息并提交订 单。
5、 订单成功提交后进入“订单详情页面”,至此购物流程结束。
2.3 系统功能清单
表 2-1 系统功能清单
2.4 数据流图
图 2-1 数据流图
2.5 数据字典
2.5.1 数据流的描述 (1)会员编号数据项定义
表2-2 会员编号数据项定义
2.5.2 处理逻辑的描述 (1)判断是否已结算
表2-4 判断是否已结算
三、 概念模型设计
3.1 系统模块划分
1、连接数据库模块:使用JDBC 访问ORACLE 数据库,实现对数据库的操作 2、购物车及后台处理模块:会员将购买的商品加入购物车后,将数据插入数据库保存,以便后台管理员确定信息和发货以及会员查看记录
3、验证登陆模块:根据输入的用户名和密码验证是否正确 4、商品展示模块:通过访问数据库展示商品信息 5、商品详细信息模块:显示商品的详细信息
3.1.2后台模块详细功能描述:
(1)管理员信息管理:登录;添加新管理员、删除管理员:修改密码;管理
员日志(记录管理员的每个操作,由超级管理员进行查询)。 (2)商品信息管理:添加、删除商品类别;添加、修改、删除商品信息。 (3)用户信息管理:查询用户信息、修改账户金额。
(4)订单管理:管理订单是否确认,是否发货,是否付款,是否归档。并且
对相应信息进行查询(支持多参数查询)。
3.2 系统功能模块结构图
图 3-2 系统功能模块结构图
3.3 会员实体图
图 3-3 会员实体图
3.4 商品实体图
图 3-4 商品实体图
3.5 系统E-R 图 3.5.1分E-R 图
3.5.2总E-R 图
图3-5 系统E-R 图
3.6 管理员后台处理流程图
图 3-6 管理员后台处理流程图
四、逻辑模型设计
4.1 E-R 图向关系模型转化
管理员(管理员编号、用户名、密码)
会 员(ID 、昵称、密码、姓名、地址、E-mail 、QQ 、联系方式)
购物车(编号、用户名、商品名、数量、总价格、创建时间)
订 单(订单号、创建时间、用户名、姓名、地址、联系方式、商品名、商品编
号、数量、总价、单价)
商 品(商品编号、商品名、单价、厂商、生产日期、商品介绍)
4.2 各个数据库表设计如下:
其中交易状态中设定:
0 ------- 等待付款 1 ------- 已付款等待发货 2 ------- 已发货等待签收 3 ------- 交易完成 4 ------- 交易关闭
4.3 关系模式的优化
对关系模式进行规范化处理,对关系模式进行评价与修正。
五、物理设计
5.1聚簇设计
该订单管理系统可建立以下聚簇:
OderId(订单编号) Isbn(商品编号) User(用户编号) Uname(用户名)
这几个聚簇设计是因为这几张表都是实体表,且聚簇中的属性都是主键或是外键,被访问的概率很高,而其他表或者这些表上的其他属性被访问的概率就相对较低。
5.2索引设计
索引就是表中数据和相应存储位置的列表,使用索引可以大大减少数据的查询时间。 对于一个确定的关系,通常在下列情况下可以考虑建立索引。
(1) 在主键属性列和外键属性列上通常都可以分别建立索引,不仅有助于唯一性检查和
完整性检查,而且可以加快连接查询的速度。
(2) 以查询为主的关系可建立尽可能多的索引。
(3) 对等值连接,但满足条件的元组较少的查询可以考虑建立索引。
(4) 如果查询可以从索引直接得到结果而不必访问关系,则对此种查询可以建立索引。
该数据库管理系统可建立以下索引:
OderId(订单编号) Isbn(商品编号) User(用户编号) Uname(用户名) Shopname(商品名) Rname(用户姓名)
5.3分区设计与否
涉及到数据库文件和日志文件的分区问题。 磁盘分区设计的一般原则:
(1) 减少访问冲突,提高I/O并发性。多个事物并发访问同一磁盘时,会产生磁盘访问
冲突而导致效率低下,如果事务访问数据均能分布于不同磁盘上,则I/O可并发执行,从而提高数据库访问速度。
(2) 分散热点数据,均衡I/O负担。在数据库中数据访问的频率是不均匀的,那些经常
被访问的数据成为热点数据,此类数据宜分散存在于不同的磁盘上,以均衡各个磁盘的负荷,充分发挥多磁盘的并行操作的优势。
(3) 保证关键数据快速访问,缓解系统瓶颈。在数据库中有些数据如数据字典等的访问
频率很高,为保证对它的访问不直接影响整个系统的效率,可以将其存放在某一固定磁盘上,以保证其快速访问。
由以上原则可知,只有在管理程序较大且有大量用户同时访问时才需要进行分区设计,因此,本管理系统不需要进行分区设计。
六、数据库实施 6.1基本表的建立 1、用户信息表
create table yh (
UserID char (20), Rtime date , Uname char (20), Rname char (10), passwd char (18), address char (50), QQ char (15), email char (50), PRIMARY key (UserID )
);
2、商品信息表
Create table sp (
Isbn char (50), Uploadtime date , Shopname char (30), Frome char (50), Price int , Storecount int , Content char (50), Primary key (Isbn )
);
3、订单信息表
Create table gw (
OrderId Char (50), Stime date , UserID Char (20), Uname Char (20), address Char (50), Rname Char (10), Isbn Char (50), Shopname Char (30), Count int , Price int , Condition int ,
Primary key (OrderId ),
Foreign key (UserID ) references yh (UserID ), Foreign key (Isbn ) references sp (Isbn )
);
6.2建立视图
Create view gw_用户 As Select
gw . UserID , gw . Uname , gw . Rname , yh . email , gw . address , sp . Isbn , sp . Shopname , s p . Price From gw , yh , sp
Where gw . UserID =yh . UserID and gw . Uname =yh . Uname
and gw . Rname =yh . Rname
and gw . address =yh . address and gw . Isbn =sp . Isbn
and gw . Shopname =sp . Shopname and gw . price =sp . price;
6.3建立索引
Create unique index yonghu on yh (UserID ); Create unique index shangp on sp (Isbn ); Create unique index gouwu on gw (OrderId );
6.4建立触发器
当删除sp 中的某一商品时,gw 中的相应商品也应删除
create trigger del_商品 ON gw for delete as
delete Isbn
where sp . Isbn = (select Isbn from deleted )
6.5 建立java 程序与数据库的关联 Java 源码:import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.sql.*;
class Loading
{
private JFrame Loading_Frame;
private JButton Loading_Button;
private JTextField Loading_Name;
private JButton Loading_Cancel;
private JPasswordField Loading_Key;
private JLabel Loading_lb1;
private JLabel Loading_lb2;
//private JDialog Loading_dia;
/* public static Resultdosqlserch(String s) {
/*public static void closeConnection() //看来不能这样风装啊 ;;;;;
//可以操作,,rs.getString(字段名) 来获得属性; 先关闭rs.close(); 依次是st.close(); 最后是conn.close();*/ /*rs.next();//指向第一个数据
rs.close(); st.close(); con.close;
}*/ Loading() {
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");/
Loading_Button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){ Loading_Button = new JButton("sure"); Loading_Frame.setResizable(false);
Loading_Frame = new JFrame("Loading~~~!!!!!!");
int textWidth=16; int length;
int flag=0;
String name = Loading_Name.getText(); String key1 = Loading_Key.getText();
/打开jdbc 驱动
String url =
"jdbc:sqlserver://localhost:1433;databaseName=dd;";
String user = "la"; String key = "123";
Statement st;
ResultSet rs; Boolean flag1; Boolean flag2;
try{ 对象
st = con.createStatement();//
rs = st.executeQuery("select * from yh ");//rs即sql 查询后con = DriverManager.getConnection(url,user,key);//获取连接
得到的结果;rs 此时游标指向为空,
System.out.println("在账户输入框中您输入的是:"+name);//输
出TextField 中输入的数
while(rs.next())
{
String x = rs.getString("userid"); String y = rs.getString("passwd");
System.out.println("数据库账户表中已有的帐户"+x); System.out.println("该帐户的密码是"+y); }
}catch (SQLException f){System.out.println("catch出错");}
}});
Loading_Name = new JTextField( textWidth);//长度50的账户名//Loading_Cancel.addActionListener(); Loading_Cancel = new JButton("Cancel"); 输入框,添加文档监视器,可以实现判断输入文本的正确,与文本框是否改变内容
Loading_Key = new JPasswordField(textWidth);//密码输入框,Loading_Name.setEditable(true); //Loading_Name.getDocument().addDocumentListener(); 与账户输入框同等长度;
Loading_Frame.setSize(250,135); Container Loading_c = Loading_Frame.getContentPane(); //Loading_dia = new JDialog(Frame x)//属于窗窗口的对话框; Loading_lb2 = new JLabel("密码"); Loading_lb1 = new JLabel("账户");
Loading_Frame.setLayout(new FlowLayout()); //在登录窗口添加组件 Loading_c.add(Loading_lb1); Loading_c.add(Loading_Name); Loading_c.add(Loading_lb2); Loading_c.add(Loading_Key); Loading_c.add(Loading_Button); Loading_c.add(Loading_Cancel); Loading_Frame.setVisible(true);
}
public static void main(String[] args)
{
}
}
new Loading();
七、不足和心得体会
7.1系统设计的不足
1、在进行数据设计的时候,只考虑了几个最简单的数据输入,并不能很好地应用与实际应用当中
2、在使用过程中依旧会产生一些错误,比如缺乏一些用户交互界面造成的一些约束的错误
3、在整个系统的稳定性方面做的不足。我不能保证在我的系统上如果再加上其他功能会不会导致系统崩溃,所以还需要不断地完善。
7.2我的心得
经过本次的实习,我发现在操作的过程中依旧存在着诸多的不足,在做很多内容的时候依旧还是要看看书,查找一些资料,从而可以看出,在一些基本的知识上还是存在着一些缺陷和不足。此外,在逻辑结构上并没有考虑到与用户的交互问题,这也使得本系统的实用性大大折扣。
因此,在以后的学习生活当中,我会更为注意基础知识的巩固和初期在概念和逻辑结构设计上的合理性问题,总之,这次实习对我的学习成果不得不说是一次很好的检验,同时,是我受益良多。