数据库分析.docx
《数据库分析.docx》由会员分享,可在线阅读,更多相关《数据库分析.docx(14页珍藏版)》请在冰豆网上搜索。
![数据库分析.docx](https://file1.bdocx.com/fileroot1/2023-5/31/80821522-c6cf-48b5-ac6b-321babe58401/80821522-c6cf-48b5-ac6b-321babe584011.gif)
数据库分析
目录
1设计分析
1选题的目的及意义
2设计内容
2需求分析
1功能需求
2数据需求
3总体设计
1概念结构设计
2逻辑结构设计
4详细设计
5结论
1设计分析
1选题的目的及意义
银行管理系统:
该系统要求建立的用户表并不是很多,完成的功能也相对有限,但其中各个表之间的联系很紧密,该系统对数据库表的设计要求会很高,所以完成这个题目,能更好的训练数据库设计和java的编程能力,选择该题目就是充分训练数据库表设计的能力和运用java的能力。
2设计内容
用户管理模块:
建立新用户、删除老用户、更改用户操作;
商品操作模块:
商品户信息、商品单价、商品名;
2需求分析
1功能需求
对于用户部分,能够新建和删除用户,在操作过程中可以更改用户;对于商品部分,可以查询商品的信息,包括各种商品信息、商品单价、商品名单等;对于用户操作部分,有用户登录,用户注册操作,另外操作完成之后存储相应的操作记录并能够查询操作记录等功能。
2数据需求
goods_id
商品号
goods_name
商品名
goods_miaoshu
商品描述
user_name
用户名
user_pw
用户密码
user_realname
真实姓名
user_sex
性别
3总体设计
3.1概念结构设计
电子商场
用户
商品
用户注册
删除商品
修改商品
商品查询
用户登录
增加商品
↓↓
↓↓↓↓↓↓
用户密码
用户名
用户
性别
真实姓名
商品名
商品单价
商品
商品号
商品信息
3.2逻辑结构设计
用户(用户名密码真实姓名性别);
商品(商品号商品名商品信息商品单价);
4详细设计
登录界面的实现
classLoginextendsJFrameimplementsActionListener
{Containercp=null;
JFramef=null;
JButtonj1,j2;
JTextFieldname;
JPasswordFieldpwd;
JLabeljlable1,jlable2;
JPaneljp;
Login(){
jp=newJPanel();
jp.setLayout(newGridLayout(3,2));
addComponents();
this.setLayout(newBorderLayout(50,50));
this.add(BorderLayout.NORTH,newJLabel(""));
this.add(BorderLayout.SOUTH,newJLabel(""));
this.add(BorderLayout.EAST,newJLabel(""));
this.add(BorderLayout.WEST,newJLabel(""));
this.add(jp);
this.setTitle("用户登录界面");
this.setSize(350,220);
this.setVisible(true);
//jp.setBackground(Color.GRAY);
}
voidaddComponents(){
JLabeljlbu=newJLabel();
jlbu.setText("用户名");
name=newJTextField();
JLabeljlbp=newJLabel();
jlbp.setText("密码");
pwd=newJPasswordField();
//pwd.setEchoChar("*");
j1=newJButton("登录");
j2=newJButton("取消");
j1.addActionListener(this);
j2.addActionListener(this);
jp.add(jlbu);
jp.add(name);
jp.add(jlbp);
jp.add(pwd);
jp.add(j1);
jp.add(j2);
}
增加商品
修改商品信息
删除查询
用户登出
退出系统
商品查询
电子商场
修改商品
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptione)
{System.out.println("加载驱动程序失败!
");}
try{
Stringurl="jdbc:
odbc:
commodity";
Connectioncon=DriverManager.getConnection(url);
Statementsql;
Strings="insertintocommodityvalues('"+tf1.getText()+"','"+tf2.getText()+"','"+
tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"');";
Stringquery="select*fromcommoditywhere商品号='"+tf2.getText()+"'";
sql=con.createStatement();
ResultSetrs=sql.executeQuery(query);
booleanmoreRecords=rs.next();
if(moreRecords)
{
JOptionPane.showMessageDialog(f3,"商品号已经售光,请重新输入");
con.close();
tf2.setText("");
return;
}
intinsert=sql.executeUpdate(s);
if(insert==1)
{
JOptionPane.showMessageDialog(null,"商品信息录入成功!
");
tf1.setText("");
tf2.setText("");
tf3.setText("");
tf4.setText("");
tf5.setText("");
tf6.setText("");
}
classcommodityInimplementsActionListener
{
JFramef3;
Containercp;
JPaneljp1,jp2,jp3,jp4,jp,jpanelWest;
JButtonjbt1,jbt2;
JLabellabel;
JTextFieldtf1,tf2,tf3,tf4,tf5,tf6;
JLabellabel1,label2,label3,label4;
Stringsno;
commodityIn()
{
f3=newJFrame("商品信息添加");
cp=f3.getContentPane();
jp1=newJPanel();
jp2=newJPanel();
jp3=newJPanel();
jp4=newJPanel();
jpanelWest=newJPanel();
jp=newJPanel();
jbt1=newJButton("确定");
jbt2=newJButton("取消");
label=newJLabel("新商品登记",SwingConstants.CENTER);
label.setForeground(Color.black);
tf1=newJTextField(20);
tf2=newJTextField(20);
tf3=newJTextField(20);
tf4=newJTextField(20);
tf5=newJTextField(20);
tf6=newJTextField(20);
jp1.add(jbt1);
jp1.add(jbt2);
JPaneljpanel=newJPanel();
jpanel.add(label);
JPanelpp4=newJPanel();
JPaneljpane4=newJPanel();
cp.add(jpanel,"North");
JPanelpp2=newJPanel(newGridLayout(6,1,20,10));
JPanelpp3=newJPanel();
pp4.setLayout(newGridLayout(6,1));
pp4.add(newJLabel("商品名",SwingConstants.CENTER));
pp2.add(tf1);
pp4.add(newJLabel("商品号",SwingConstants.CENTER));
pp2.add(tf2);
pp4.add(newJLabel("单价",SwingConstants.CENTER));
pp2.add(tf3);
pp4.add(newJLabel("品牌",SwingConstants.CENTER));
pp2.add(tf4);
pp4.add(newJLabel("发行商",SwingConstants.CENTER));
pp2.add(tf5);
pp4.add(newJLabel("入库时间",SwingConstants.CENTER));
pp2.add(tf6);
pp3.add(jbt1);
pp3.add(jbt2);
cp.add(pp4,"West");
cp.add(pp2,"East");
cp.add(pp3,"South");
cp.add(jpane4,"Center");
f3.setSize(320,300);
f3.setVisible(true);
jbt1.addActionListener(this);
jbt2.addActionListener(this);
}
publicvoidinsertRecord()
{
if(tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals("")||
tf4.getText().equals("")||tf5.getText().equals("")||tf6.getText().equals(""))
{
JOptionPane.showMessageDialog(f3,"请填写商品资料");
return;
}
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptione)
{System.out.println("加载驱动程序失败!
");}
try{
Stringurl="jdbc:
odbc:
commodity";
Connectioncon=DriverManager.getConnection(url);
Statementsql;
Strings="insertintocommodityvalues('"+tf1.getText()+"','"+tf2.getText()+"','"+
tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"');";
Stringquery="select*fromcommoditywhere商品号='"+tf2.getText()+"'";
sql=con.createStatement();
ResultSetrs=sql.executeQuery(query);
booleanmoreRecords=rs.next();
if(moreRecords)
{
JOptionPane.showMessageDialog(f3,"商品号已经售光,请重新输入");
con.close();
tf2.setText("");
return;
}
intinsert=sql.executeUpdate(s);
if(insert==1)
{
JOptionPane.showMessageDialog(null,"商品信息录入成功!
");
tf1.setText("");
tf2.setText("");
tf3.setText("");
tf4.setText("");
tf5.setText("");
tf6.setText("");
}
}catch(SQLExceptiong)
{
System.out.println(g.getErrorCode());
System.out.println(g.getMessage());
}
}
5结论
本章介绍了对本网站的概要设计,
给出了本网是购物系统的功能结构图、
实体关
系图等,
说明了各模块之间的联系。
本章完成了系统数据库的数据需求分析的过程,
说明了数据库由概念结构设计转换成逻辑结构设计的过程,并把各个物理数据模型
结合起来形成一个整体的关系数据库模型,为系统详细设计与实现奠定了基础。
综
上所述,我认为,设计数据库的数据表,建立表与表之前的关系。
对整个网站系统
来说是十分必要的