1、数据库课程设计是软件工程专业(本科)教学大纲要求的重要实践性环节之一,是学习完数据库原理及应用和Oracle数据库应用两门课程后进行的一次数据库方面的综合练习。其目的在于:配合数据库原理及应用和Oracle数据库应用课程的教学,使学生能巩固和加深对数据库基础理论和基本知识的理解;掌握使用数据库进行软件设计的基本思想和方法;提高学生运用数据库理论解决实际问题的能力;培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。二、课程设计的内容及要求内容:用一种高级语言和当前流行的数据库管理系统相结合,完成一个小型管理系统的设计与开发。所设计的小型管理系统应包含两个以上(不多于4个)的模块以
2、及输入输出、查询、插入、删除等基本功能。根据课程设计2周时间的安排选择适当大小的设计课题,课题的选择可以是实际问题,也可以是虚构的问题。根据题目的基本需求,画出系统结构图,并对数据库进行详细设计,编写程序,同时写出关于本数据库管理系统的报告书。要求:(1) 要求学生按照数据库原理及应用和Oracle数据库应用相关知识以及数据库课程设计教学大纲完成一个数据库设计,并撰写相应的课程设计报告。(2)提交课程设计报告。要求完成课程设计报告大约15页-20页,包括相应的模块设计文档、数据库设计文档、所承担模块的核心代码、测试过程分析与运行结果等。分组进行的同学共同完成基本设计与数据库设计,但每个人至少必
3、须独立完成一个模块设计与实现,并写入课程设计报告中。三、课程设计时间课程设计时间为2周(10个工作日)四、课程设计分组一人一组五、课程设计的成果和形式1报告一篇2符合设计要求的数据库应用系统一个目 录题目: 11.需求分析 12数据库概要设计13数据库逻辑设计34.数据库实施45.系统实现 76.测试结果 15参考文献 16超市管理系统设计与实现 1. 需求分析随着现代软件的发展,手工分析方式已经很难满足系统数据库分析的要求,必须借助于相应的工具。数据库需求分析是系统开发周期中的一个重要阶段。在开发超市管理系统时,可以进行E-R图分析,然后在对表格进行分析,从而对超市的管理系统有个清晰的了解。
4、超市管理系统的数据主要涉及文本信息,使用Oracle9i来实现数据库的信息管理。2. 数据库概要设计1. 产品信息表表Good主要来统计超市商品的详细信息,包括商品的ID号、名称、数量和价格表等详细信息。相应属性如表9.1所示。表1.1 产品属性表字段名称 数据类型 大小 默认值 可否为空 主键ID号自动长整型8无否是名称字符15数量价格整型2.顾客属性表表Customer主要用来统计超市各科的详细信息,包括顾客的电话、姓名、购买的商品的ID号和订单号等详细信息。相应属性如表9.2所示表1.2 顾客属性表数据类型大小默认值可否为空主键电话产品ID号订单号3.客户属性表表Customer1主要用
5、来统计超市大客户的详细信息,包括客户的电话、姓名、购买商品的ID号和订单号等详细信息。对应得表格属性如表9.3所示表1.3大客户属性表4.仓库属性表 表Ware主要用来统计超市仓库信息,包括仓库的名称、ID号、存放的商品的ID号等详细信息。对应的表格属性如表9.4所示。表1.4仓库属性表5.小订单属性表 表LittlePaper主要用来统计超市顾客的小型订单信息,包括订单的ID号、购买订单商品的ID号、购买的数量和总计金额等一些信息,对应的表格属性如表9.5所示。表1.5 小订单属性表订单ID号总计金额6.合同订单属性表 表Paper主要用来统计超市大客户的合同订单信息,包括订单的ID号、购买
6、的商品的ID号、购买的数量和总计金额等一些信息,对应的表格属性如图表9.6所示。表1.6 合同订单属性表7.表Worker主要用来统计超市相应超市人员的详细信息,包括超市人员的姓名、订单的ID号、商品的ID号和员工ID号等详细信息。表1.7 超市员工信息表3. 数据库逻辑设计 实现E-R图向关系模型的转换,特别注意实体的1:n联系,优化数据模型。详细说明实体、实体属性和实体之间的关系、完整性约束 建立的关系模式必须符合第一范式。 选择合适的支持关系模型的DBMS。4. 数据库实施 库和表的建立*创建顾客属性表在数据库“liuyong”中创建“Customer”表CREATE TABLE HR.
7、CUSTOMER(TEL NUMBER(8),NAME VARCHAR2(15),GOODID NUMBER(8) NOT NULL,PAPERID NUMBER(8) NOT NULL);向表中插入数据INSERT INTO , )VALUES(王刚02100 )李明02101 )陈峰02102 )李志强02104 )卓名03201 )欧阳明03106 )顾洪亮03221 )刘江03115 )朱富春03120 )江伟03108 ) 图2.1*建立大客户属性表在数据库“liuyong”中创建Customer1表CUSTOMER1 VARCHAR2(8)NOT NULL, VARCHAR2(8)
8、 NOT NULL );VALUES( 北京鼎盛超市,,2003p511 )VALUES( 世纪电脑公司, 2003p623)VALUES( 苹果电脑公司,2003p635)VALUES( IBM电脑公司,2002p623)VALUES( 惠普公司,2002p689)VALUES( 清华同方,2003p201)VALUES( 清华紫光,2003p221)VALUES( 北大方正,2002p230)VALUES( 四通集团,2003p213)VALUES( 联想集团,) 图2.25. 系统实现1 登陆页面的实现import javax.swing.*;import java.awt.*;impo
9、rt javax.swing.border.*;import java.awt.event.*;import java.sql.*;public class denglu public static void main(String args) FirstWindow win=new FirstWindow(超市管理系统); class FirstWindow extends JFrame implements ActionListener Box baseBox,boxV1,boxV2; JLabel label,label1; JComboBox list; JButton loginBu
10、tton; JTextField text1; JPasswordField text2; String code,inputNumber1; FirstWindow(String s) super(s); setLayout(null); label=new JLabel(春光超市,new ImageIcon(仓库.png),JLabel.RIGHT); add(label); Font f1=new Font(宋体,Font.BOLD,30); label.setFont(f1); label.setBounds(); label1=new JLabel(账号或密码错误no.png add
11、(label1); label1.setVisible(false); label1.setBounds(0); boxV1=Box.createVerticalBox(); boxV1.add(Box.createVerticalStrut(10);/设置垂直支撑距离 boxV1.add(new JLabel(账号:笑脸.png),JLabel.RIGHT); boxV1.add(Box.createVerticalStrut(12);密码:密码.png boxV2=Box.createVerticalBox(); boxV2.add(Box.createVerticalStrut(13);
12、 text1=new JTextField(12); boxV2.add(text1); boxV2.add(Box.createVerticalStrut(5); text2=new JPasswordField(12); boxV2.add(text2); baseBox=Box.createHorizontalBox(); baseBox.add(boxV1); baseBox.add(Box.createHorizontalStrut(10); baseBox.add(boxV2); add(baseBox); baseBox.setBounds(); loginButton=new
13、JButton(登录登陆.png); add(loginButton); loginButton.addActionListener(this); loginButton.setBounds(0); Cursor c=Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);/设置光标形状 loginButton.setCursor(c); setBounds(280); setVisible(true); setResizable(false); validate(); setDefaultCloseOperation(JFrame.EXIT_ON_CLO
14、SE);/用窗口右上角的关闭窗口 public void actionPerformed(ActionEvent e) if(e.getSource()=loginButton) Connection con; Statement sql; ResultSet rs; tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver catch(ClassNotFoundException e1) System.out.println(+e1); trycon=DriverManager.getConnection(jdbc:odbc:B_S sql=con.crea
15、teStatement(); String account=text1.getText(),str; String s=null; inputNumber1=s.copyValueOf(text2.getPassword(); str=select * from ADM where ADM_NAME=+account+and ADM_MM=+inputNumber1+; rs=sql.executeQuery(str); if(rs.next() setVisible(false); SecondWindow win=new SecondWindow( else label1.setVisib
16、le(true); label1.setText( con.close(); catch(SQLException e2) System.out.println(e2); 5.2商品查询class ThirdWindow1 extends JFrame implements ActionListener Box baseBox; JLabel label1,label2,label3,label4,label5,label6,label7,label8,label9; JTable table; JTextField text,text1,text2,text3,text4,text5,tex
17、t6,text7; JScrollPane scorllpane; JButton button1,button2,button3,button4,button5; JPanel panel; public ThirdWindow1 (String s)欢迎进入超市管理系统蝴蝶.gif label3=new JLabel(商品编号 label4=new JLabel(商品名 label5=new JLabel(生产商 label7=new JLabel(供应商(号) label8=new JLabel(售价 label9=new JLabel(当前数量 add(label3); add(lab
18、el4); add(label5); add(label6); add(label7); add(label8); add(label9); label3.setBounds(); label4.setBounds(); label5.setBounds(); label6.setBounds(); label7.setBounds(); label8.setBounds(); label9.setBounds(); button1=new JButton(查询 button1.addActionListener(this); list=new JComboBox(); list.addIte
19、m(请选择按商品名查询按生产商查询按商品编号查询 label2=new JLabel(请选择查询方式 text1=new JTextField(); text2=new JTextField(); text3=new JTextField(); text4=new JTextField(); text5=new JTextField(); text6=new JTextField(); text7=new JTextField(); add(text1); add(text2); add(text3); add(text4); add(text5); add(text6); add(text7); text1.setBounds(35); text2.setBounds(35); text3.setBounds(35); text4.setBounds(35); text5.setBounds(35); text6.setBounds(35); text7.setBounds(35); text=new JTextField(); baseBox.add(label2); baseBox.add(Box.creat
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1