手机钱包的数据库设计DOC_第1页
手机钱包的数据库设计DOC_第2页
手机钱包的数据库设计DOC_第3页
手机钱包的数据库设计DOC_第4页
手机钱包的数据库设计DOC_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、 题 目: 手机钱包管理系统 摘 要 本文首先分析了手机钱包的三大模块,然后阐述了系统的设计原则,第一阶段对业务流程和数据的调查,需求应符合实际工作业务需求,构建系统的功能模块,并给出子模块功能的简述;第二阶段正确绘制本系统的流程图。将数据库转换为分E-R图,最后合并成整体的E-R图功能实现过程,对在整体设计中的功能给出SQL语句的相应描述,要求优化查询,说明了需完善之处。最后,通过数据库建表模拟,完成手机钱包管理系统的实现。本文手机钱包以支付宝为例。 支付宝(中国)网络技术有限公司是国内领先的第三方支付平台,致力于提供“简单、安全、快速”的支付解决方案。支付宝公司从2004年建立开始,始终以

2、“信任”作为产品和服务的核心。旗下有“支付宝”与“支付宝钱包”两个独立品牌。自2014年第二季度开始成为当前全球最大的移动支付厂商。支付宝主要提供支付及理财服务。包括网购担保交易、网络支付、转账、信用卡还款、手机充值、水电煤缴费、个人理财等多个领域。在进入移动支付领域后,为零售百货、电影院线、连锁商超和出租车等多个行业提供服务。还推出了余额宝等理财服务。支付宝与国内外180多家银行以及VISA、MasterCard国际组织等机构建立战略合作关系,成为金融机构在电子支付领域最为信任的合作伙伴。关键字:手机钱包管理系统 支付宝 数据库 SQL语言 目录一、引言 1二、需求分析 1 2.1 背景 1

3、2.1.1 背景 12.1.2需求现状 1 2.2用户需求分析 22.2.1 支付宝用户需求分析 2 2.2.2 客户需求分析 2 2.2.3 银行卡用户需求分析 2 2.3功能需求描述 2 2.3.1 钱包管理模块 2 2.3.2 财富信息管理模块 2 2.3.3 后台管理模块 2 2.3.4 功能模块图 2 2.4 数据流图 3 2.4.1 财富信息数据流图 32.4.2 钱包管理数据流程图 4 2.4.3 消费管理数据图 4 2.4.4 总数据流图 4 三、概念结构设计 5 3.1目标与任务 5 3.2实体属性 5 3.3 E-R实体模拟图 6 3.3.1 各实体E-R图 6 3.3.3

4、系统总的E-R图 8 四逻辑结构设计 10 4.1 任务与目的 10 4.2 关系模式的转换 10 4.3 数据模式的优化 10 4.4 优化后的关系模式 11 4.5设计用户子模式 11 五、设计SQL查询功能 11 5.1 SQL语言的概述 11 5.2建立数据库 12 5.2.1创建数据库 12 5.2.2 基本表的定义,删除与修改 12 5.3 数据查询 16 5.3.1单表查询 16 5.3.2嵌套查询 17 5.3.3集合查询 5.4 数据更新 5.4.1插入数据 5.4.2修改数据 5.4.3删除数据 5.5 触发器的建立 5.5.1 触发器概念 5.5.2 定义触发器 六、总结

5、 七、参考文献 1、 引言手机钱包致力于为中国电子商务提供简单、安全、快速的在线支付解决方案。 支付宝账户是为了实现支付宝服务而推出的交易工具。 支付宝为用户提供在银行账户和支付宝账户之间的资金划转业务,并提供相应资金往来记录的查询和管理。为你解决后顾之忧!钱没有直接交付到卖家手里。如果货物出问题,钱很容易就回来!不会出现交钱后就万事难的问题!支付宝其实就相当于担保中介,在买家和卖家之间建立起资金互通的桥梁,如果买家直接把钱打到卖家的银行帐户,买家不放心,如果卖家直接把货了,还怕收不到款,所以支付宝就在这种情况下出生的,买家买东西的 时候先把钱打到中介支付宝公司等买家收到货后,再由支付宝打转入

6、卖家帐户,这样以来,双方放心了!手机钱包管理系统可以为买卖双方完成安全、快速的网上支付业务,并为买卖家双方提供了交易资金记录的查询和管理。所以建立应当建立一套手机钱包于支付关系的管理系统。2、 需求分析2.1 背景2.1.1 背景随着社会的发展,人们的物质生活和精神生活不断地提高,然而我们的社会也走进了一个全新的时代。各行各业都开始离不开信息化。不管是在学校,企业还是事业单位都在通过一些信息化的管理来实现对人和事物的管理,不仅方便、快捷、更节省了劳动力。然而钱包也不例外,手机钱包致力于为中国电子商务提供简单、安全、快速的在线支付解决方案。 如需现金的在线支付成为了手机钱包的绝对化优势,现在我们

7、以支付宝为例,建立支付宝管理系统,实现支付环境的最优化。2.1.2需求现状:目前,虽然已经有了支付宝钱包管理系统,但是这种手机钱包管理系统有太多的局限性,已经不能满足用户和商家的需求,主要存在以下问题: 1.进入支付宝立即不清楚账号信息。2.模块内容杂乱。3.设置功能不易发现,更换支付宝账号较繁琐。4.太大众化,与各种网银钱包一样,没有自己的特点,没有特殊群体特殊对待。6.多数功能客户应用不到。2.2用户需求分析用户是系统的最终使用者,由分析可以得出结论,该系统应包含支付宝用户,客户,银行卡三大用户。这三类用户对该系统分别有不同的需求。2.2.1 支付宝用户需求分析支付宝账户简称账户,账户户对

8、系统的主要要求是:可以进行转账,充值,缴费,购物等一系列财物支付活动的实体。2.2.2 客户需求分析账户户进行转账,充值,缴费等支付活动的接受方。还是提供美食,电影,外卖,淘宝等交易的用户2.2.3 银行卡用户需求分析 支付宝通过银行卡进行支付活动2.3功能需求描述由分析可以得出结论,该系统应包含钱包管理模块,商家管理模块,财富管理模块。这三类模块对该系统分别有不同的需求。2.3.1 钱包管理模块本模块主要实现转账,手机充值,信用卡还款,生活缴费,收款,校园一卡通,美食,电影,外卖,淘宝等一系列消费管理活动。要涉及三类用户:支付宝账户户,客户,银行卡。用户通过该系统实现与客户,银行卡之间的各项

9、支付活动。2.3.2 财富信息管理模块每一个支付宝账户都可对银行卡输入、查询、更新、插入、修改、删除。2.3.3 后台管理模块 本模块是整个系统的一个基础,因为涉及到每个账户每个信息的不同。系统需要动态的管理支付宝账户的输入、查询、更新、插入、修改、删除。2.3.4 功能模块图手机钱包管理系统财富信息管理模块钱包管理模块后台管理模块余额宝充值账户登陆账户退出账户更改银行卡删除银行卡绑定购物转账2.4 数据流图2.4.1 财富信息数据流图银行卡银行卡管理账 户 绑定银行卡 余额管理 余额宝2.4.2 钱包管理数据流程图转账管理转 账 转账更新 购 物购物管理 购物更新账户 手机充值管 理 手机充

10、值 充值更新 账单管理账单 账单更新2.4.3 消费管理数据图消费账单账户 支付银行卡转账、购物客户2.4.4 总数据流转账管理转账 转账更新 购物管理 账户购 物 购物更新 手机充值管 理 充值 充值更新 绑定 账单管理对象账单 账单更新余额客户支付银行卡余额宝3、 概念结构设计3.1目标与任务模型是对现实世界的模拟和抽象,概念模型是对现实世界的第一层抽象。是用户与数据库设计人员之间进行交流的语言。概念结构设计是将需求分析后得到的用户需求抽象为反映用户观点的概念模型。3.2实体属性1) 账户(账号、登录密码、头像、姓名、性别、地区、绑定手机号、收货地址)2) 客户( 客户账号、姓名、头像、性

11、别、地区)3) 银行卡(银行卡号、开户姓名、开户证件号、开户银行、开户网点、密码、 余额)4) 余额宝(账号、余额、收益、支付密码)5) 转账(客户账号、金额、日期、客户姓名、备注、付款方式)6) 购物(购物商家、购物类型、日期、金额、付款方式)7) 充值(手机号、金额、付款方式,日期)8) 账单(账单号、客户账号、日期、金额、交易类型)3.3 E-R实体模拟图3.3.1 各实体E-R图1) 账户实体登陆密码账号头像收货地址绑定手机号账户性别姓名地区 2) 客户实体姓名地区头像账号性别客 户3) 银行卡实体余额密码证件号开户网点卡号姓名银行卡银行4) 余额宝实体收益支付密码余额账号余额宝 5)

12、 转账实体金额时间姓名 客户账号转 账 付款方式备注 6) 购物实体付款方式金额时间商家类型购 物7) 充值实体金额手机号充 值日期付款方式8) 账单实体时间账单号账单客户账号交易类型金额3.3.3系统总的E-R图性别账号日期充值金额头像 1 付款方式对象客 户手机号充值姓名 对象地区绑定 n n 1客户账号登陆密码 1金额类型账号收货地址头像 m n购物购买转账支付账户 m n n m 姓名性别绑定手机号日期付款方式付款方式地区金额备注 绑定属于 1 1账号姓名开户网点余额 证件号 1 n银行卡余额宝支付密码密码卡号收益余额银行 支付 1 1 交易类型 n对象账单号账单 对方账号金额时间四逻

13、辑结构设计4.1 任务与目的逻辑结构设计的任务是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。4.2 关系模式的转换4.2.1 E-R图向关系模型的转换,实现将实体型和实体间的联系转换为关系模式。一个账户可以绑定多张银行卡,一张银行卡只能被一个账户绑定,故账户和银行卡之间是一对多的联系。一个账户只有一个余额宝,一个余额宝只属于一个账户,故账户和余额宝之间是一对一的联系。一个账户可以在多个商家购买东西,一个商家可以卖给多个账户东西,故账户和购物之间是多对多的联系。一个账户可以进行多次转账,转账可以被多个账户进行,故账户和转账多对多的联系。一个账户

14、可以进行多次手机充值,手机可以被多个账号充值,故账户和手机充值之间是一对一的关系。一个客户是一个购物商家,一个购物商家只能是一个客户,故客户和购物是一对一的联系。一个客户可以接受多次转账,一次转账只能传递给一个客户,故客户和转账是一对多的联系。一个客户可以接受多次充值,一次充值只能传递给一个客户,故客户和充值是一对多的联系。一个账单只能被一个余额宝或者一个银行卡支付,一个余额宝或者一个银行卡支付多个账单,故账单和余额宝、银行卡是一对多的联系。4.2.2 按照最少关系模式把E-R图转换为关系模型如下:1) 账户(账号、姓名、性别、地区、绑定手机号、收货地址、登录密码)2) 客户( 客户账号、姓名

15、、性别、地区)3) 银行卡(银行卡号、绑定账户账号、开户姓名、开户银行、密码、余额)4) 余额宝(账号、余额、支付密码)5) 转账(客户账号、账户账号、金额、日期、客户姓名、备注、付款方式)6) 购物(购物商家、账户账号、客户账号、购物类型、日期、金额、付款方式)7) 充值(账户账号、手机号、金额、付款方式,日期)8) 账单(账单号、对方账号、账户账号、银行卡号、日期、金额、交易类型)4.3 数据模式的优化账户关系:账户可以由账号唯一标识,并且满足BCNF的条件,故为BCNF。客户关系:客户可以由支付宝账号唯一标识,并且满足BCNF的条件,故为BC NF。银行卡关系:主码银行卡号与外码绑定的账

16、户账号存在部分依赖,故为1NF余额宝关系:BCNF。转账关系:不存在部分依赖关系,也不存在专递依赖关系,故为3NF。购物关系:3NF。充值关系:3NF。账单关系:主码账单号与银行卡号存在部分依赖关系,故为1NF4.4 优化后的关系模式1) 账户(账号、姓名、性别、地区、绑定手机号、收货地址、登录密码)2) 客户( 客户账号、姓名、性别、地区)3) 银行卡(银行卡号、开户姓名、开户银行、密码、余额)4) 余额宝(账号、余额、支付密码)5) 转账(客户账号、账户账号、金额、日期、客户姓名、备注、付款方式)6) 购物(购物商家、账户账号、客户账号、购物类型、日期、金额、付款方式)7) 充值(账户账号

17、、手机号、金额、付款方式,日期)8) 账单(账单号、对方账号、账户账号、日期、金额、交易类型)4.5设计用户子模式将概念模型转换为全局逻辑模型后,还应该根据局部应用需求,结合具体DBMS的特点,设计用户的外模式。目前关系数据库管理系统一般都提供了视图(Views)概念,可以利用这一功能设计更符合局部用户需求的用户外模式。定义数据库全局模式主要是从系统的时间效率、空间效率、易维护等角度出发。由于用户外模式与模式是相对独立的,因此在定义用户外模式时可以注重考虑用户的习惯与方便。包括:(1) 使用更符合用户习惯的别名。(2) 可以对不同级别的用户定义不同的Views,以保证系统的安全性。(3) 简化

18、用户对系统的使用。五、设计SQL查询功能5.1 SQL语言的概述结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。SQL语言是一个十分重要的标准数据库语言。SQL语言包括查询、数据操纵、定义、控制和管理等功能。SQL语言是一个综合的、通用的、功能极强的关系数据库语言。SQL功能强,简单易学,是一种交互式的查询语言,允许用户直接使用查询语句查询存储

19、的数据SQL有以下5个特点1) 综合统一2) 高度非过程化3) 面向集合的操作方式4) 以同一语法结构提供多种使用方式5) 语言简洁,易学易用5.2建立数据库5.2.1创建数据库 create database 手机钱包管理系统5.2.2 基本表的定义,删除与修改 1) 账户定义create table 账户(账号 char(20) not null primary key,姓名 char(10),性别 char(2),绑定手机号 char(11),地区 char(10),收货地址 char(20),登陆密码 char(20),);表1 账户属性名字段类型主码或外码字段值约束账号charPri

20、mary key20姓名char10性别char2绑定手机号char11地 区char10收货地址char20登陆密码char20修改向账户表增加“注册时间”列,其数据类型为日期型。Alter table 账户add 注册时间 datetime;删除删除账户表。Drop table 账户cascade;2) 客户定义create table 客户(客户账号 char(20) not null primary key,姓名 char(10),性别 char(2),地区 char(10),);表2 客户属性名字段类型主码或外码字段值约束账号charPrimary key20姓名char10性别ch

21、ar2地 区char10修改向客户表增加“年龄”列,其数据类型为短整数型。Alter table 客户add 年龄 smallint;删除删除客户表。Drop table 客户cascade;3) 银行卡定义create table 银行卡 (银行卡号 char(20) not null primary key,姓名 char(10),开户银行 char(10),密码 char(20),余额 char(20),);表3 银行卡属性名字段类型主码或外码字段值约束银行卡号charPrimary key20姓名char10开户银行char10密 码char20余 额char20修改向银行卡表增加“绑

22、定手机号”列,其数据类型为字符型。Alter table 银行卡add 绑定手机号 char(11);删除删除银行卡表。Drop table 银行卡cascade;4) 余额宝定义create table 余额宝 (账号 char(20) ,支付密码 char(20),余额 char(20),primary key(账号),foreign key (账号) references 账户(账号),);表4 余额宝属性名字段类型主码或外码字段值约束账号charprimary key20支付密码char20余 额char205)转账定义create table 转账(账户账号 char(20),客户账

23、号 char(20),金额 char(20),日期 datetime,客户姓名 char(10)备注 char(20)付款方式 char(10)primary key(账户账号,客户账号),foreign key (账户账号) references 账户(账号),foreign key (客户账号) references 客户(账号),);表5 转账属性名字段类型主码或外码字段值约束账户账号charprimary key20客户账号charprimary key20金额char20日期Date客户姓名char10备注char20付款方式char106) 购物定义create table 购物(

24、账户账号 char(20),客户账号 char(20),金额 char(20),日期 date,购物商家 char(10)购物类型 char(20)付款方式 char(10)primary key(账户账号,客户账号),foreign key (账户账号) references 账户(账号),foreign key (客户账号) references 客户(账号),);表6 购物属性名字段类型主码或外码字段值约束账户账号charprimary key20客户账号charprimary key20金额char20日期Date购物商家char10购物类型char20付款方式char107) 充值定

25、义 create table 充值(手机号 char(11),账户户账号 char(20),金额 char(20),日期 date,付款方式 char(10)primary key(账户账号,手机号),foreign key (账户账号) references 账户(账号),);表7 充值属性名字段类型主码或外码字段值约束账户账号charprimary key20手机号charprimary key11金额char20日期Date付款方式char108) 账单定义create table 账单(账单号 char(20),账户账号 char(20),对方账号 char(20),金额 char(2

26、0),日期 date,交易类型 char(10)primary key(账单号),);表8 账单属性名字段类型主码或外码字段值约束账单号charprimary key20账户账号char20对方账号char20金额char20日期Date交易类型char205.3 数据查询5.3.1单表查询查询转账的详细记录Select *From 转账;查询消费金额20元以上的交易记录Select *From 账单Where 金额>20;查询账户101的账单记录,并按时间的降序排列Select *From 账单Where 账户账号=101Order by 日期desc;5.3.2嵌套查询查询交易金额为

27、50元的客户姓名和账号Select 账号,姓名From 客户Where 对方账号 in(select 对方账号From 账单Where 金额=50);查询没有用银行卡购物的账户账号Select 账号From 账户Where not exists (select *From 购物Where 账户账号=账户,账号and 付款方式=银行卡);5.3.3集合查询查询日期在2015年7月及消费金额大于等于50的账单号Select 账单号From 账单Where 日期>2015-07-01UnionSelect 账单号From 账单Where 金额>=20;5.4 数据更新5.4.1插入数据将一个新客户元组(账号:104;姓名:陈晓;性别:男;地区:天津)插入到账户表中。InsertInto 账户(账号,姓名,性别,地区)Values (104,陈晓,男,天津);5.4.2修改数据将账号103的账户性别改为女。Update 账户Set 性别=女Where 账号=103;5.4.3删除数据删除账号101的充值记录

温馨提示

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

评论

0/150

提交评论