java 账本 创建数据库_小账本软件设计之数据库设计模式构建

本文介绍了小账本软件的数据库设计,包括ER图、数据字典、数据流图,并展示了部分数据库源代码。内容涵盖了用户表、分类表、配置表、登录表、消费表和收入表的设计,以及相关数据流图的细化。
摘要由CSDN通过智能技术生成

编写目的

该博客是小账本在前期开发阶段针对用户所进行的数据库设计,通过ER图,数据字典,数据流图来对该软件的数据库开发进行设计,并且附上部分源代码进行参考。

背景

待开发的软件名称为:小账本

作业名称:第三次团队博客

定义

ER图:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型

UML图:UML-Unified Model Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。

数据字典:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。

数据流图:简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

小账本ER图设计

由于该任务的小组成员表示目前的er图已经渐渐往uml图的趋势发展,所以该er图包含了一部分uml图的特征

a15c57b223717e35a23fd18d5a715df7.png

小账本数据表

数据表的设计通过数据流图和数据字典分别设计

数据字典

用户表

字段名

中文名

数据类型

主键

外键

说明

U_id

用户id

int

PK

不能为空

Con_id

配置id

int

FK1

不能为空

U_number

登录账号

varchar(20)

FK2

不能为空

U_name

用户名

varchar(50)

用户昵称

U_gender

性别

char(2)

性别可为空

U_phone

电话

Char(11)

分类表

字段名

中文名

数据类型

主键

外键

说明

C_id

类别id

int

PK

不能为空

type

类别

varchar(255)

配置表

字段名

中文名

数据类型

主键

外键

说明

Con_id

配置id

int

PK

不能为空

U_id

用户id

int

FK

不能为空

key_

配置信息

varchar(255)

配置信息按照键值对的形式出现 ,类型是varchar(255)

value

配置信息的值

配置信息的值, 类型是 varchar(255)

登录表

字段名

中文名

数据类型

主键

外键

说明

U_number

账号

varchar(20)

PK

不能为空

U_id

用户id

int

FK

不能为空

U_password

密码

varchar(50)

密码要求保密性高

消费表

字段名

中文名

数据类型

主键

外键

说明

U_id

用户id

int

PK

FK1

不能为空

C_id

类别id

int

PK

FK2

不能为空

spend

消费金额

int

date

日期

Date

默认系统时间

Comment

备注

varchar(255)

收入表

字段名

中文名

数据类型

主键

外键

说明

U_id

用户id

int

PK

FK1

不能为空

C_id

类别id

int

PK

FK2

不能为空

earn

收入金额

int

date

日期

Date

默认系统时间

Comment

备注

varchar(255)

数据流图

小账本顶层数据流图

bd0505a1ce1a0fc52ea58e7c0c37ab3c.gif

细化记账功能数据流图

883fc121b8c692895e018fb5674e25e8.gif

再次细化该数据流图

f0dc6d1592d91ae8bf971d1df28c5eb8.gif

用户登录数据流图

b23a7f57c9df5742c1c524d7e8efc181.gif

查询功能数据流图

655095861b7b18eb637475c7854be7e7.gif

心愿功能数据流图

c9c62ab1b38134ffe1877c1ff45b9970.gif

数据库源代码设计

SET FOREIGN_KEY_CHECKS = 0;DROP TABLE IF EXISTS `user`;DROP TABLE IF EXISTS`property`;DROP TABLE IF EXISTS`operating`;DROP TABLE IF EXISTS`budget`;DROP TABLE IF EXISTS`wish`;SET FOREIGN_KEY_CHECKS = 1;CREATE TABLE `user` (

`id`char(12) NOT NULL,

`username`char(20) NOT NULL,

`descriptin`varchar NOT NULL,PRIMARY KEY(`id`)

);CREATE TABLE`property` (

`id`char(1) NOT NULL,

`account`char(18) NOT NULL,

`balance`float(8) NOT NULL,

`uid`char(12) NOT NULL,PRIMARY KEY(`id`, `uid`)

);CREATE TABLE`operating` (

`id`char(12) NOT NULL,

`type` boolNOT NULL,

`account`float(8) NOT NULL,

`uid`char(12) NOT NULL,

`pid`char(1) NOT NULL,PRIMARY KEY(`id`, `uid`, `pid`)

);CREATE TABLE`budget` (

`id`char(12) NOT NULL,

`schedule`float(8) NOT NULL,

`uid`char(12) NOT NULL,PRIMARY KEY(`id`, `uid`)

);CREATE TABLE`wish` (

`id`char(12) NOT NULL,

`description`varchar NOT NULL,

`finishtime` dateNOT NULL,

`uid`char(12) NOT NULL,PRIMARY KEY(`id`, `uid`)

);ALTER TABLE `property` ADD FOREIGN KEY (`uid`) REFERENCES `user`(`id`);ALTER TABLE `operating` ADD FOREIGN KEY (`uid`) REFERENCES `user`(`id`);ALTER TABLE `operating` ADD FOREIGN KEY (`pid`) REFERENCES`property`(`id`);ALTER TABLE `budget` ADD FOREIGN KEY (`uid`) REFERENCES `user`(`id`);ALTER TABLE `wish` ADD FOREIGN KEY (`uid`) REFERENCES `user`(`id`);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值