手机话费查询系统(数据库与java连接)_第1页
手机话费查询系统(数据库与java连接)_第2页
手机话费查询系统(数据库与java连接)_第3页
手机话费查询系统(数据库与java连接)_第4页
手机话费查询系统(数据库与java连接)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 数据库原理及应用 课程设计(论文)设计(论文)题目 手机话费查询系统 学院名称 管理科学学院 专业名称 信息与计算科学 学生姓名 朱宇恒 学生学号 201407020208 任课教师 梁元 设计(论文)成绩 目录第一章 系统概述31.1 编写目的31.2 背景31.3 定义31.4 参考资料41.5 支持软件41.5.1 操作系统41.5.2 软件支持:4第二章 系统数据库设计部分42.1 需求分析42.1.1 需求描述42.1.2 数据流52.1.3 数据词典52.2 概念设计82.2.1 E-R图82.2.2 概念模型图112.3 逻辑设计112.3.1 逻辑结构设计112.3.2 逻辑

2、结构设计的思想112.3.3 E-R 图向关系模型的转换122.3.4 各实体的关系模型和对应的数据表122.4物理设计132.4.1 索引132.4.2存储过程13第三章 系统设计153.1界面设计153.1.1数据库界面153.1.2 java界面173.2安全设计20第四章 程序设计214.1登录界面程序214.2连接数据库程序23第一章 系统概述1.1 编写目的在21世纪的今天几乎人人都有一部手机,那人们就必定需要查询自己的手机话费消费情况,所以手机话费查询系统的产生就是必然的结果。利用数据库建立一个手机查询系统,使用该数据库能够让用户和通信工作更好得管理和更方便得查询手机话费。1.2

3、 背景项目名称:手机话费查询系统项目提出者:梁元 项目开发者:朱宇恒、张准、欧世光、万浩瀚 项目开始时间: 2016.111.3 定义SQL(StructuredQueryLanguage): 一种用于访问查询数据库的语言 。事务流:数据进入模块后可能有多种路径进行处理。E-R图(Entity Relationship Diagram):描述事物及其联系的概念模型。 :矩形表示实体,矩形框内写实体名 :菱形表示联系,菱形框内写联系名 :椭圆表示表示属性,椭圆框内写属性名 :连接线表示实体、联系与属性之间的所属关系或实体与联系之间的相连关系1.4 参考资料编号资料名称作者日期出版单位1数据库原理

4、及运用贾铁军2016.2科学出版社2数据库系统概论萨师煊、王珊2001.6高教出版社3数据库设计Stephens2001机械工业出版社1.5 支持软件1.5.1 操作系统服务器:Windows 2000 Server客户端:Windows 2000 Server/Professional 1.5.2 软件支持:SQL SERVER 2014第二章 系统数据库设计部分2.1 需求分析2.1.1 需求描述在手机话费查询系统中,主要有手机用户和工作人员两个操作实体,对于普通的手机用户来说,该系统仅允许他们作一个操作:即可以使用该系统通过手机号发出查询请求, 查询该手机消费总额和所剩余的话费。用户:用

5、户需要对自己所消费的信息有明确的细节了解并且可以随时的查询自己的消费记录。2.1.2 数据流a.产生个人信息=个人信息,用户注册经工作人员确认的号码后产生的用户个人信息,此数据来源于用户,流向用户信息存储,组成:工作人员,用户b.用户信息提供用户信息,工作人员修改用户信息时的信息来源,此信息来源于用户个人信息存储,流向工作人员,组成:工作人员c.查询剩余话费=提供话费信息,用户查询剩余话费时的信息来源,此数据来源于话费,流向用户,组成:用户,话费d.产生的帐目=帐目,用户办理的所有业务的消费帐目,此数据来源于业务信息存储,流向帐目信息存储,组成:业务,用户e.产生帐目信息=帐目信息,用户办理的

6、所有业务产生的帐目信息,此数据来源于帐目信息存储,流向帐目,组成帐目f.用户查询剩余话费=提供账目信息,用户查询账目信息时提供账目信息,此数据来源于话费信息存储,流向用户,组成:用户, 话费2.1.3 数据词典用户信息a.数据项名:身份证号码含义说明:用户的唯一标识别名:ID_no类型:字符型长度:18b.数据项名:用户姓名含义说明:手机用户的姓名别名:user_name类型:字符型长度:8c.数据项名:用户地址含义说明:用户的家庭住址别名:user_addr类型:字符型长度:20d.数据项名:用户状态含义说明:手机号码的开/停状态别名:user_state类型:字符型长度:2取值范围:开/停

7、(2)手机信息a.数据项名:手机号码含义说明:用户注册的手机号码别名:phone_no类型:字符型长度:12(3)账目信息a.数据项:消费月份含义说明:手机消费的具体月份别名:consume_month类型:字符型长度:4b.数据项名:账目编号含义说明:账目的唯一标示别名:account_no类型:字符型长度:10c. 数据项名:消费总额含义说明:该月份该用户手机消费总额别名:business_fee类型:money型长度:8(4)话费信息a.数据项名:话费编号含义说明:话费的唯一标示别名:fee_no类型:字符型长度:10b.数据项:话费余额含义说明:手机当前剩余的话费别名:fee_bala

8、nce类型:money型长度:8c.数据项名:手机号码含义说明:用户注册的手机号码别名:phone_no类型:字符型长度:122.2 概念设计2.2.1 E-R图(1)用户实体信息,如图2-1所示:图2-1 用户实体信息(2)话费实体信息,如图2-2所示:图2-2 话费实体信息(3)账目实体信息,如图2-3所示:图2-3 账目实体信息(4)手机实体信息,如图2-4所示:图2-4 手机实体信息(5)手机话费查询系统E-R图:图2-5手机话费查询系统E-R图实体之间的联系:a.一个用户可以注册多个手机号码,一个手机号码只能被一个用户注册。用户和号码之间是一对多的联系。b.一个用户可以拥有多个手机,

9、一个手机都要产生一个话费。用户和话费之间是一对多的联系。c.一个手机每个月有一个账目的消费,手机与账目之间是一对一的联系。2.2.2 概念模型图图2-6 手机话费查询系统概念模型图2.3 逻辑设计2.3.1 逻辑结构设计概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本 E-R 图转化为与选用 DBMS 产品所支持数据模型相符合的逻辑结构。 2.3.2 逻辑结构设计的思想针对手机话费管理系统,逻辑结构设计采用关系模型转换概念结构, E-R 将图依照规则转换为关系模型,为了进一步提高数据库应用系统的性能,再将转换后的关系模型进行优化,确定是否要对某些

10、模式进行合并或分解,为物理设计提供最优的处理。2.3.3 E-R 图向关系模型的转换关系模型的逻辑结构是一组关系模式的集合。E-R 图则是由实体,实体的属性和实体间的联系三个要素组成。所以将 E-R 图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。转换原则如下:实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性及为 关系模式的属性,实体标识符及为关系模式的键。 联系类型的转换,根据不同的情况做不同的处理。若实体间的联系是 1:1 的,可以在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。 若实体间的联系

11、1:N 的,则在 N 端实体类型转换成的关系模式中加入 1 端实体类型转换成的关系模式的键和联系类型的属性。若实体间的联系是 M:N 的,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上关系类型的属性,而键为两端实体间的组合。3个或 3个以上实体间的一个多元联系可以转换为一个关系模式,与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。 依照该规则将话费查询系统理系统的 E-R 图转换为关系模型,将每一个实体转换成一个关系(关系就是给出关系名,写出属性,并标明该关系的主键)。 2.3.4 各实体的关系模型和对应的数据表a.用户的基

12、本信息(身份证号码,用户姓名,用户地址,用户状态) 主键为用户的身份证号码ID_noCHAR(18)not nullprimary Key身份证号码user_nameCHAR(8)用户姓名user_addrCHAR(20)用户地址user_stateCHAR(2)用户状态b.话费信息(手机号码,话费余额,话费编号) 主键为话费编号fee_noCHAR(10)not nullprimary key话费编号phone_noCHAR(12)手机号码fee_balanceNUMERIC(8)话费余额c.账目信息(账目编号,消费月份,消费总额) 主键为账目编号account_noCHAR(10)not

13、nullprimary key账目编号consume_monthCHAR(4)消费月份business_feeNUMERIC(8)消费总额d.手机信息(手机号码) 主键为手机号码phone_noCHAR(11)not nullprimary key手机号码2.4物理设计2.4.1 索引为了加速表的查询,根据所设计的表的特点,我们将话费信息表中“账目编号”,手机信息表中的“手机号码”,话费信息表中的“话费编号”,用户信息表中“身份证号”,账目信息表中的“消费总额”分别建立索引。Create index handle1_FK on handle (account_no ASC)Create ind

14、ex handle2_FK on handle (phone_no ASC)Create index “pay2_FK” on “pay” (“fee_no” ASC)Create index “belong_FK” on mobile (“ID_no” ASC)Create index “consume_FK” on account (“business_fee” ASC)2.4.2存储过程(1)建立存储过程P1,可以使用该系统通过手机号与密码发出查询请求,查询该手机所剩余的话费。if exists (select * from sysobjects where name=“p1”)drop

15、 procedure dbo.P1GOcrrate procedure P1 asselect fee_balancefrom mobilephone userwhere user_name = “.”and user_password = “.”go(2)建立存储过程P2,统计并查看所有的手机用户信息,该信息主要包括两个方面,一方面是仅关于本手机的各种信息;另一方面是该手机的用户信息。if exists (select * from sysobjects where name=”P2”)drop procedure dbo.P2Go create procedure P2 asselect

16、mobilephone.account_no,user.user_name.ID_nofrom mobilephone,userwhere mobilephone.phone_no=user.phone_nogo第三章 系统设计3.1界面设计3.1.1数据库界面(1)创建列表:(2)手动输入手机话费信息:(3)查询 phone_no的所有信息:结果如图:(4)查询phone_noand consume_month=8的所有信息:结果如图:(5)查询phone_no的话费余额结果如图:(6)查询phone_no=135

17、66666666 的话费余额结果如图:3.1.2 java界面(1)java登录界面(2)登录名:user 密码:123输入完成点击登录。(3)登录之后的界面:(4)选择用户信息,可以查看所有用户话费信息:(5)选择话费余额:(6)输入手机号111之后:(7)选择账单:(8)输入手机号222之后:3.2安全设计随着目前计算机技术的飞速发展,数据库在信息社会中扮演着十分重要的角色,它应用广泛,深入到各个领域,但是随之而来则产生了数据的安全问题。数据库是存放数据的软件系统,它的安全隐患主要有:数据的安全,数据库系统被非法用户侵入,数据加密不安全性。数据库系统作为信息的聚集体,是计算机信息系统的核心

18、部件,其安全性至关重要,因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,是至关重要的。一般有以下一些方法:1.安全的密码策略:安全策略是所有安全配置的第一步。通常,许多数据库帐号的密码过于简单,这跟系统密码过于简单所造成的不安全是一个道理。对于系统管理员(SA)更应该注意。此外需定期修改密码。 2.安全的帐号策略:由于SQL Server不能更改SA用户名称,也不能删除这个超级用户,所以,必须对数据管理员的帐号进行最强的保护,包括使用非常强壮的密码,安全的数据管理员帐号策略还包括不要让管理员权限的帐号泛滥。很多主机使用数据库应用只是用来做查询、修改等简单功能的,根据实际

19、需要分配帐号,并赋予仅仅能够满足应用要求和需要的权限。比如,只需要查询功能的,使用具有public权限的帐号就能满足。 3.加强数据库日志的记录:审核数据库登录的“失败和成功”,可在实例属性中选择“安全性”,将其中的审核级别选定为“全部”,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件 定期查看SQL Server 日志,检查是否可疑的登录事件发生。4.管理扩展存储过程:在多数应用中不需要使用太多的系统存储过程,因此系统存储过程可根据广大拥护需求删除不必要的存储过程。提升权限或进行测试。对不需要扩展存储过程xp_cmdshell时,使用SQL语句将其删除 5.使用加密协议:

20、 SQL Server 2000使用Tabular Data Stream 协议进行网络数据交换,包括密码, 数据库内容等交换。这是一个潜在的安全威胁。所以,应采用SSL加密协议。第四章 程序设计4.1登录界面程序import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;public class UserQuery extends JFrame implements ActionListener static Connection con;static Statement sql;stati

21、c ResultSet res; JLabel label; JButton button1; / JTextField number; JTable table; JPanel pNorth,central; /String phone_number; Object name=手机号码,身份证号,姓名,性别; Object data; / Connection con; UserQuery() super(欢迎登录话费查询系统); button1=new JButton(显示); pNorth=new JPanel();/ number=new JTextField(20); button1

22、.addActionListener(this); / pNorth.add(new JLabel(请输入手机号,回车确认); pNorth.add(button1); / pNorth.add(number); add(pNorth,BorderLayout.NORTH); add(new JScrollPane(table),BorderLayout.CENTER); setBounds(100,100,400,300); setVisible(true); validate(); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); pub

23、lic void actionPerformed(ActionEvent e) if(e.getSource()=button1)Conn c=new Conn();con=c.getConnection();try sql=con.createStatement(); res=sql.executeQuery(select* from fare_select); int lastNumber=0; while(res.next() lastNumber+; res=sql.executeQuery(select* from fare_select); data=new ObjectlastN

24、umber4; int k=0; while(res.next() datak0=res.getString(phone_number); datak1=res.getString(name); datak2=res.getString(id); datak3=res.getString(sex); k+; res.close(); catch(Exception e1) e1.printStackTrace(); table=new JTable(data,name); table.setRowHeight(20); getContentPane().removeAll(); add(pNo

25、rth,BorderLayout.NORTH); add(new JScrollPane(table),BorderLayout.CENTER); validate(); 4.2连接数据库程序package _DataBase;import java.sql.*;/链接数据库方法public class Conn Connection con;public Connection getConnection()tryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);System.out.println(数据库驱动连接成功!);catch(ClassNotFoundException e)e.printStackTrace();trycon=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;databaseName=Calls inquiry, sa, );System.out.println(数据库连接成功!);catch(SQLException e)e.printStackTrace()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论