编写目的

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

背景

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

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

定义

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

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

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

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

小账本ER图设计

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

小账本数据表

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

数据字典

用户表

字段名

中文名

数据类型

主键

外键

说明

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)

数据流图

小账本顶层数据流图

细化记账功能数据流图

再次细化该数据流图

用户登录数据流图

查询功能数据流图

心愿功能数据流图

数据库源代码设计

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`);

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

  1. robo3t 连接服务器数据库_车牌识别软件连接各种数据库方法大全

    软件连接各种数据库方法大全 1:软件连接免安装数据库. 免安装数据库使用方便,不受操作系统版本影响,不用安装,解压打开运行即可,所以免安装数据库不要放在桌面上,也不要解压打开多个. 打开车牌识别软件, ...

  2. 小账本软件设计之数据库设计模式构建

    编写目的 该博客是小账本在前期开发阶段针对用户所进行的数据库设计,通过ER图,数据字典,数据流图来对该软件的数据库开发进行设计,并且附上部分源代码进行参考. 背景 待开发的软件名称为:小账本 作业名称 ...

  3. 微信小程序【腾讯云开发】创建并上线小程序项目(涉及-数据库操作)

    学习 视频 网址 :[云开发实战]30分钟创建并上线小程序项目 https://www.bilibili.com/video/BV1Pc411h7RU 视频-项目-源码 : 链接 : https:// ...

  4. access 根据id删除数据_小程序云开发之数据库自动备份丨云开发101

    钻石有价,数据无价.我们通常会把重要的业务数据存放在数据库中,并需要对数据库做定时的自动备份工作,防止数据异常丢失,造成无法挽回的损失. 小程序云开发提供了方便的云数据库供我们直接使用,云开发使用了腾 ...

  5. sqlserver服务启动失败_条码打印软件连接SQL数据库出现TCP连接失败解决办法

    小编今天用条码打印软件连接SQL 数据库遇到了一个问题:通过端口1433连接到主机localhost的TCP/IP连接失败.错误:"Connection refused:connect.请验 ...

  6. access重复数据累计_小程序·云开发之数据库自动备份丨云开发101

    小程序云开发之数据库自动备份 数据是无价的,我们通常会把重要的业务数据存放在数据库中,并需要对数据库做定时的自动备份工作,防止数据异常丢失,造成无法挽回的损失. 小程序云开发提供了方便的云数据库供我们 ...

  7. 微信小程序中如何使用数据库_如何在程序中使用数据库

    微信小程序中如何使用数据库 如何在程序中使用数据库 许多.NET解决方案都是数据库驱动的,因此我们很多人常常想知道如何访问数据库. 为了帮助您理解该问题的答案,我提供了以下示例,作为如何从数据库检索数 ...

  8. excel数据库_标签打印软件中Excel数据整理及导入

    在使用标签打印软件来批量打印可变内容时,经常会用到数据库导入,尤其是Excel导入来实现打印可变内容,那么Excel中的数据库内容应该是什么格式具体该如何整理呢,下面我们来详细看一下. 我们在使用Ex ...

  9. java小组队徽_小组队徽设计.ppt

    小组队徽设计 小组队徽设计 制作团队:F7 小组商讨设计方案 小组各成员队徽设计草图 小组队徽设计问题 初期遇到的问题:对于色彩的搭配比较迷茫,关于色彩的问题一直无法确定,还有关于色彩的明暗问题如何给 ...

最新文章

  1. 反射式红外光电管 ITR8307
  2. OGG维护优化脚本(一)-需求分析篇
  3. Linux基础(9)文本处理三剑客之grep
  4. localBlock在java_将java.util.Date转换为java.time.LocalDate
  5. 【CyberSecurityLearning 72】DC系列之DC-3渗透测试(Joomla)
  6. 每周一起读 × 招募 | WWW 2019:基于层次化强化学习的多源搜索展示优化
  7. Codeforces Round #500 (Div. 2) C.Photo of The Sky
  8. BIND9之dig工具的使用方法
  9. C# 程序Hello World
  10. 如何使用Python numpy.where()方法
  11. 2020腾讯广告大赛 :13.5 baseline
  12. gps掩星计算matlab,《GPS测量与数据处理》_李征航_武汉大学出版社.pdf
  13. 二本电气工程应届生收割5个offer,转型大数据真的与专业无关
  14. 高德 面积计算公式 js版
  15. 【Kafka】生产者
  16. 机器学习必须需要大量数据?小数据集也能有大价值!
  17. android6.0的root工具,安卓6.0怎么root?安卓6.0 root教程!
  18. Python将多张2D TIFF图片转为一个3D TIFF文件
  19. 2500php,Ryzen 5 2500U的性能评测
  20. CAD图块:什么是动态块?CAD动态块怎么使用?

热门文章

  1. 计算机为什么检测不到u盘启动项,BIOS如何设置U盘为电脑启动首选项_BIOS设置U盘启动项检测不到处理方法...
  2. 服务器里微信怎么多开,谈谈微信多开
  3. 【c++面向过程实验6】函数
  4. Gmail和Orkut邀请自助发送[共享]
  5. Win11电脑没有声音如何解决
  6. 初识托福TOEFL口语
  7. 把php放入火车头采集,火车头采集文章并导入帝国CMS
  8. 用beyond compare 复制中文文件乱码
  9. 实验5 :分析system_call中断处理过程
  10. j-style pro android,三星J7 Pro官方安卓9台湾版固件rom包:BRI-J730GMDXU6CSF5