




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库程序设计实践报告数据库程序设计实践报告 课程名称 数据库系统概论课程名称 数据库系统概论 专业 软件工程专业 软件工程 实验 销售管理系统实验 销售管理系统 任课老师 邓新国任课老师 邓新国 学生 学生 时间时间 2014 年年 6 月月 20 日日 目录目录 1 概述概述 1 1 实验目的实验目的 1 1 2 实验环境实验环境 1 1 3 实验分工实验分工 1 2 需求分析需求分析 2 3 概念结构概念结构 3 4 逻辑结构设计逻辑结构设计 8 5 数据库的实现数据库的实现 11 6 应用系统设计的实现 代码 应用系统设计的实现 代码 21 7 附录附录 7 1 实验心得实验心得 35 1 概述概述 实验目的 实验目的 数据库是一门应用性很强的专业课 在学习时必须注意理论与实践相结合 本实践课的目 的是通过实践使学生经历一个数据库系统的数据库设计的全过程和受到一次综合的训练 以便 能较全面地理解 掌握和综合运用所学的知识 本次实验目的是利用本学期所学知识 掌握数 据库模式设计 依据实际要求设计表结构 建立表的关系 结合一定的开发工具实现数据库应 用程序的开发 深入了解数据库建立的几大问题 实验环境 实验环境 硬件环境 处理器 Intel R Core TM i3 CPU M 380 2 53GHz 2 53GHz 安装内存 RAM 2GB 1 86GB可用 软件环境 操作系统 Windows7 数据库管理系统 MySQL 开发工具 Eclipse MySQL Front WampServer 开发语言 java 实验分工 实验分工 1 需求分析 小组全员 2 概念设计 小组全员 3 逻辑设计 小组全员 4 物理设计 小组全员 5 数据库实现 第一部分 系统管理员模块 苏雯 第二部分 基本档案管理员模块 陈建儿 第三部分 业务员模块 陈秋霞 6 报告制作 小组全员 1 1 2 2 需求分析 需求分析 销售管理系统 可用于企业的销售信息管理 查询 更新与维护 使用方便 易用性强 图形界面清晰明了 该软件用 java 语言编写 用 SQLServer2005 数据库作为后台的数据库进 行信息的存储 用 SQL 语句完成销售信息的添加 查询 修改 删除的操作 用 ODBC 驱动实 现前台 Java 与后台 SQL 数据库的连接 Java 语言跨平台性强 可以在 windows linux ubuntu 等系统下使用 方便简单 安全性好 SQLServer2005 数据库高效安 全 两者结合可相互利用各自的优势 该系统实现的大致功能 1 用户登陆界面 该界面可以选择使用者的身份 系统管理员 基本档案管理员 业务员 不同的身份有不同的操作界面和功能权限 ID 号和密码输入正确即可登录 2 系统管理员界面 拥有最高权限 提供了客户信息管理 产品信息管理 订单信息管理 发货管理与签收管理等功能 3 基本档案管理员界面 提供了客户信息管理 产品信息管理等功能 4 业务员界面 提供了订单信息管理 发货管理与签收管理等功能 5 登录的用户信息分别存储在 SQL 数据库的 unpw 表 中 如果用户信息不存在这个表中 将会无权利登录本管理系统 6 保证了本销售管理系统的安全性 系统功能图如下系统功能图如下 2 2 销售管理系统 业务员系统管理员基本档案管理员 订 单 信 息 管 理 发 货 管 理 签 收 管 理 客 户 信 息 管 理 产 品 信 息 管 理 订 单 信 息 管 理 发 货 管 理 客 户 信 息 管 理 产 品 信 息 管 理 订 单 信 息 管 理 签 收 管 理 3 3 概念结构设计 概念结构设计 根据以上对系统的需求分析 系统设计 本系统使用的数据库实体分别为客户信息实体 产品信息实体 订单信息实体 发货单实体 签收单实体 1 客户信息实体 客户信息实体包括客户名称 单位地址 联系电话 地址 开户银行 银行账号 发票抬 头 所在区域等属性 客户信息实体的 E R 图如图所示 2 发货单实体 发货单实体包括客户名称 联系人 联系电话 发货地址 地址 产品名称 型号 数量 单价 运费 总价 发货日期等属性 E R 图如图所示 3 3 签收单实体 客户信息 客户名称 单位地址 联系电话 地址 开户银行 银行账号 发票抬头 所在区域 发货单 客户名称 联系人 联系电话 发货地址 地址 产品名称 型号 数量 单价 运费 总价 发货日期 签收单实体包括客户名称 联系人 联系电话 发货地址 地址 产品名称 型号 数量 单价 运费 总价 收货日期等属性 E R 图如图所示 4 unpw 实体 unpw 实体包括 un pw qx 等属性 E R 图如图所示 4 unpw un pw qx 签收单 客户名称 联系人 联系电话 发货地址 地址 产品名称 型号 数量 单价 运费 总价 收货日期 5 产品信息实体 产品信息实体主要包括产品名称 规格 型号 操作系统 产品描述 产品分类等属性 E R 图如图所示 6 订单信息实体 订单信息实体主要包括客户名称 联系人 联系电话 发货地址 最后到货期限 日期 以及产品名称 型号 数量 产品要求等属性 E R 图如图所示 5 实体属性表 实体属性表 产品信息 产品名称 规格 型号 操作系统 产品描述 产品分类 订单信息 联系人 联系电话 发货地址 最后到货期限 客户名称 产品名称 型号 数量 产品要求 实体属性 客户信息 客户名称 单位地址 联系电话 地址 开户银行 银行账号 发票抬头 所在区域 产品信息 产品名称 规格 型号 操作系统 产品描述 产品分类 订单信息 客户名称 联系人 联系电话 发货地址 最后到货期限 日期 以及产品名称 型号 数量 产品要求 签收单 客户名称 联系人 联系电话 发货地址 地址 产品名称 型号 数量 单价 运费 总价 收货日期 发货单 客户名称 联系人 联系电话 发货地址 地址 产品名称 型号 数量 单价 运费 总价 发货日期 unpw 用户 un 登录名 pw 密码 qx 用户 6 6 7 4 4 逻辑结构设计 逻辑结构设计 产品信息 产品名称 型号 规格 订单信息 产品名称 产品要求 型号 客户信息 客户名称 产品名称 单位地址 地址 签收单 银行账号 型号 单价 数量 发票抬头 总价 发货日期 运费 发货单 开户银行 联系电话 所在区域 操作系统 产品描述 产品分类 数量 客户名称 发货地址 联系电话 联系人 地址 收货日期 数量 总价 运费 单价 1 包含 n 1 签 收 N 1 生成 1 1 1 采购 n 1 表 客户信息 客户信息表 客户信息表包括客户名称 单位地址 联系电话 地址 开户银行 银行帐号 发票抬头 所在区域等信息 2 表 产品信息 产品信息表 产品信息表包括产品名称 规格 型号 操作系统 产品描述 产品分类等信 息 8 3 表 订单信息 订单信息表 订单信息表包括客户名称 联系人 联系电话 发货地址 最后到货期限 日 期 以及产品名称 型号 数量 产品要求等信息 4 表 发货单信息 发货单表 发货单表主要包括客户名称 联系人 联系电话 发货地址 地址 产品名称 型号 数量 单价 运费 总价 发货日期等信息 9 5 表 签收单信息 签收单表 签收单表主要包括客户名称 联系人 联系电话 发货地址 地址 产品名称 型号 数量 单价 运费 总价 收货日期等信息 6 表 unpw 用户表 用户表包括 un pw qx 等信息 10 5 5 数据库实现 数据库实现 1 数据库关系图 2 SQL语句实现 数据表的创建 数据表的创建 i 客户信息表创建 create table 客户信息表 客户名称 varchar 10 primary key 单位地址varchar 10 联系电话varchar 10 地址varchar 10 开户银行varchar 10 银行账号varchar 10 发票抬头varchar 10 所在区域varchar 10 ii 产品信息表创建 create table 产品信息表 产品名称varchar 10 primary key 规格varchar 10 型号varchar 10 11 操作系统varchar 10 产品描述varchar 10 产品分类varchar 10 iii 订单信息表创建 create table 订单信息表 客户名称varchar 10 primary key 联系人varchar 10 联系电话varchar 10 发货地址varchar 10 最后到货期限varchar 10 产品名称varchar 10 型号varchar 10 数量 int 产品要求varchar 10 iv 发货单表创建 create table 发货单表 客户名称varchar 10 primary key 联系人varchar 10 联系电话varchar 10 发货地址varchar 10 地址varchar 10 产品名称varchar 10 型号varchar 10 数量 int 单价 int 运费 int 总价 int 发货日期varchar 10 v 收货单表创建 create table 收货单表 客户名称varchar 10 primary key 联系人varchar 10 联系电话varchar 10 发货地址varchar 10 地址varchar 10 产品名称varchar 10 型号varchar 10 数量 int 单价 int 运费 int 总价 int 12 收货日期varchar 10 vi 管理员信息表创建 create table unpw表 qx int primary key un varchar 12 pw varchar 12 1313 6 6 应用系统设计实现 应用系统设计实现 用户登录模块 登录错误还可以重置 1系统管理员登录 在登陆界面选择 系统管理员 角色 输入正确的ID和密码 验证成功则可进入系 统管理员管理界面 系统管理员ID号和登录密码存在数据库中的管理员信息表 表 中存在的管理员才允许登录 14 基本档案管理员操作模块 1 1 点击客户信息 会显示订单的客户信息 有增加 删除修改 查询 显示功能 1 2 点击订单信息模块 出现现在的订单信息 包括客户信息 定的产品信息 15 1 3 点击产品信息管理出现仓库现有的产品信息 1 4 点击发货管理 出现已发货的订单的客户信息和产品信息 2 业务员模块 16 2 1 点击点击 出现用户订单情况 2 2点击增加键出现 17 2 3 点击 删除键出现删除键出现 2 4 点击 修改修改 18 2 5 点击 查询查询 2 6 点击 出现还未发货的客户订单信息 2 7 点击 出现已发货的客户信息 3 基本档案管理员模块 19 3 1点击 出现已在该系统订单的客户信息 3 2点击 出现仓库还有的存货信息 20 6 关键代码 6 1登陆界面代码 package 销售管理系统 import javax swing import java awt import java awt event import java sql public class DLFrame extends JFrame implements ActionListener ItemListener 登录界面 private static final long serialVersionUID 1L JPanel p1 null JPanel p2 null JPanel p3 null JLabel userName new JLabel 用户 JTextField txtUser new JTextField JLabel password new JLabel 密码 JPasswordField txtPwd new JPasswordField 6 JLabel role new JLabel 角色 JComboBox cbrole new JComboBox JButton btnLogin new JButton 登录 JButton btncz new JButton 重置 JButton btnCancel new JButton 取消 JLabel imageLabel Icon image static int OK 1 static int CANCEL 0 int actionCode 0 Connection con null Statement stmt null ResultSet rs null int qxian 0 SuppressWarnings deprecation public DLFrame 构造方法 super 登录界面 21 p1 new JPanel p2 new JPanel p3 new JPanel cbrole addItem 系统管理员 cbrole addItem 基本档案管理员 cbrole addItem 业务员 image new ImageIcon picture st jpg imageLabel new JLabel image p1 add imageLabel this setLayout new FlowLayout this setBounds 150 150 250 250 p2 setLayout new GridLayout 4 2 p2 add userName p2 add txtUser p2 add password p2 add txtPwd p2 add role p2 add cbrole p3 add btnLogin p3 add btncz p3 add btnCancel this add p1 this add p2 this add p3 this setResizable false this setDefaultCloseOperation JFrame EXIT ON CLOSE this show btnLogin addActionListener this cbrole addItemListener this btncz addActionListener this btnCancel addActionListener this public void connDB 连接数据库 try Class forName com mysql jdbc Driver catch ClassNotFoundException e e printStackTrace try con DriverManager getConnection jdbc mysql localhost 3306 sell useUnicode true stmt con createStatement catch SQLException e e printStackTrace public void closeDB 关闭连接 try stmt close con close catch SQLException e e printStackTrace public void itemStateChanged ItemEvent e if e getStateChange ItemEvent SELECTED JComboBox jcb JComboBox e getSource qxian jcb getSelectedIndex SuppressWarnings deprecation public void actionPerformed ActionEvent e Object source e getSource String un null String pw null boolean success false 用于判断是否登录成功 if source btnLogin if txtUser getText equals txtPwd getPassword equals 判断是否输入 了用户名和密码 JOptionPane showMessageDialog null 登录名和密码不能为空 else this connDB try rs stmt executeQuery select from unpw where qx qxian while rs next un rs getString un trim pw rs getString pw trim if txtUser getText equals un if txtPwd getText equals pw actionCode OK this setVisible false if qxian 0 new sysManagerFrame 进入系统管理员界面 if qxian 1 new baseManagerFrame 进入基本档案管理员界面 if qxian 2 new businessManFrame 进入业务员界面 success true break else JOptionPane showMessageDialog null 密码错误 txtPwd setText success true if success JOptionPane showMessageDialog null 登录名错误 txtUser setText txtPwd setText catch SQLException e1 e1 printStackTrace else if source btncz txtUser setText txtPwd setText else if source btnCancel System exit 0 6 2客户管理代码 package 销售管理系统 import java awt event import java sql import java util import javax swing public class CustomerManager extends JFrame implements ActionListener 客户信息管理 private static final long serialVersionUID 1L JPanel p new JPanel JButton btnAdd new JButton 增加 JButton btnDelete new JButton 删除 JButton btnAlter new JButton 修改 JButton btnSearch new JButton 查询 JButton btnDisplay new JButton 显示 JMenuBar mb new JMenuBar JPanel p1 new JPanel JTable sTable JScrollPane scroll Connection con null Statement stmt null ResultSet rs null Object playerInfo CustomerSelect sst String mxh null boolean bstd false CustomerManager String title 构造方法 super title add South p this add Center p1 mb add btnAdd mb add btnDelete mb add btnAlter mb add btnSearch mb add btnDisplay this connDB 连接数据库 this display this setBounds 300 300 600 450 btnAdd addActionListener this btnDelete addActionListener this btnAlter addActionListener this btnSearch addActionListener this btnDisplay addActionListener this this setJMenuBar mb this setDefaultCloseOperation JFrame EXIT ON CLOSE this setResizable false show CustomerManager CustomerSelect sst String title 构造方法 super title this sst sst bstd true add South p this add Center p1 mb add btnAdd mb add btnDelete mb add btnAlter mb add btnSearch mb add btnDisplay this connDB this setBounds 300 300 600 450 btnAdd addActionListener this btnDelete addActionListener this btnAlter addActionListener this btnSearch addActionListener this btnDisplay addActionListener this this setJMenuBar mb this setResizable false show public void display 显示所有客户的基本信息 int i 0 int j 0 List al new ArrayList try rs stmt executeQuery select from 客户信息 while rs next 找出表中的记录数赋给i al add rs getString 客户名称 al add rs getString 单位地址 al add rs getString 联系电话 al add rs getString 地址 al add rs getString 开户银行 al add rs getString 银行账号 al add rs getString 发票抬头 al add rs getString 所在区域 i catch SQLException e e printStackTrace playerInfo new Object i 8 String columnNames 客户名称 单位地址 联系电话 地址 开户银行 银 行账号 发票抬头 所在区域 try rs stmt executeQuery select from 客户信息 order by 客户名称 while rs next playerInfo j 0 rs getString 客户名称 playerInfo j 1 rs getString 单位地址 playerInfo j 2 rs getString 联系电话 playerInfo j 3 rs getString 地址 playerInfo j 4 rs getString 开户银行 playerInfo j 5 rs getString 银行账号 playerInfo j 6 rs getString 发票抬头 playerInfo j 7 rs getString 所在区域 j catch SQLException e e printStackTrace sTable new JTable playerInfo columnNames 创建网格 p1 add sTable scroll new JScrollPane sTable this add scroll public void connDB 连接数据库 try Class forName com mysql jdbc Driver catch ClassNotFoundException e e printStackTrace try con DriverManager getConnection jdbc mysql localhost 3306 sell useUnicode true stmt con createStatement catch SQLException e e printStackTrace public void closeDB 关闭数据库连接 try stmt close con close catch SQLException e e printStackTrace public void delete 删除某个客户的基本信息 String xh null String xm null SuppressWarnings unused String xn null SuppressWarnings unused String xp null SuppressWarnings unused String xr null String xs null String xb null SuppressWarnings unused String yx null int row 1 row sTable getSelectedRow if row 1 判断要删除的信息是否被选中 JOptionPane showMessageDialog null 请选择要删除的记录 else if bstd 判断选择的是不是查询后的结果 int j1 0 try rs stmt executeQuery select from 客户信息 while rs next xm rs getString 单位地址 xn rs getString 联系电话 xp rs getString 地址 xr rs getString 开户银行 xs rs getString 银行账号 xb rs getString 发票抬头 yx rs getString 所在区域 j1 catch SQLException e e printStackTrace int i1 0 try SuppressWarnings unused int rs1 stmt executeUpdate delete from 客户信息 where 客户名称 xh 删除数据库中当前被选中的记录 JOptionPane showMessageDialog null 记录删除成功 this dispose new CustomerManager 客户信息管理 display catch SQLException e e printStackTrace else try SuppressWarnings unused int rs1 stmt executeUpdate delete from 客户信息 where 客户名称 xh JOptionPane showMessageDialog null 记录删除成功 this dispose new CustomerManager 客户信息管理 display catch SQLException e e printStackTrace public void update 修改某个客户的基本信息 String xh null String xm null String xn null String xp null String xr null String xs null String xb null String yx null int row 1 row sTable getSelectedRow if row 1 JOptionPane showMessageDialog null 请选择要修改的记录 else int j1 0 try if bstd 判断选择的是不是查询后的结果 rs stmt executeQuery select from 客户信息 else rs stmt executeQuery select from 客户信息 where 客户名称 xh while rs next xm rs getString 单位地址 xn rs getString 联系电话 xp rs getString 地址 xr rs getString 开户银行 xs rs getString 银行账号 xb rs getString 发票抬头 yx rs getString 所在区域 j1 catch SQLException e e printStackTrace CustomerAdd cadd new CustomerAdd cadd setTitle 修改 cadd t1 setText xh cadd t2 setText xm cadd t3 setText xn cadd t4 setText xp cadd t5 setText xr cadd t6 setText xs cadd t7 setText xb cadd t8 setText yx cadd t1 setEnabled false this dispose public void select 显示某个查询的结果 String mx mx sst x playerInfo new O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年南通安全员b考试试题及答案
- 2025年安全生产安全评价模拟题及答案
- 2025年美发师技艺大赛试题及答案解析
- 2025年金融资产评估师资格考试试题及答案解析
- 课件中时间倒计时
- 2025年教育考试院考官招聘试题及答案解析
- 2025年建筑装饰工程师执业技能认证考试试题及答案解析
- 2025年家居装饰设计师专业技能认证考试试题及答案解析
- 2025年安全生产培训题库重点练习
- 2025年广告策划师国家职业资格考试试题及答案解析
- 校家社培训家长课件
- 2025供应链合同范本
- 2025年北京市中考道德与法治试卷试题真题(含答案详解)
- 产品偏离许可管理办法
- 食品行业标准化管理体系的构建研究
- 湖北农商行面试题目及答案
- 对便秘患者的健康教育
- 2025年中国热敏标签市场调查研究报告
- 仓库不良品管理制度
- 干部出国境管理课件
- VR模拟器飞行员训练评估-洞察及研究
评论
0/150
提交评论