ylbtech-dbs:DBS-Tally book(记账本)

-- =============================================
-- 记账本
-- 模仿小程序“记账e”业务流程
-- 13:17 2017/3/15
-- author:yb,gyg
-- =============================================

1,数据库关系图(Database Diagram) 返回顶部
2,数据库设计脚本(Database Design Script)返回顶部

V-2.2,

-- =============================================
-- 记账本
-- 模仿小程序“记账e”业务流程
-- 13:17 2017/3/15
-- author:yb,gyg
-- =============================================
USE master
GO -- Drop the database if it already exists
IF EXISTS (
SELECT name
FROM sys.databases
WHERE name = N'SB_TallyBook'
)
DROP DATABASE SB_TallyBook
GO CREATE DATABASE SB_TallyBook
GO
use SB_TallyBook GO
-- =============================================
-- 科目表
-- =============================================
create table [Subject]
(
subjectId uniqueidentifier primary key,--编号【UI、PK】
subjectCode varchar(50),--科目代码
subjectName varchar(50),--分类名称
subjectType bit,--类别:0=收入-来源;1=支付-用途
flagDisabled bit --是否排除
) GO
-- =============================================
-- 账单表
-- =============================================
create table Bill
(
billId uniqueidentifier primary key,--编号【UI、PK】
subjectCode varchar(50),--科目代码
amount money,--金额
payWay varchar(50),--支付方式
remark varchar(200),--备注
pubdate datetime, --日期
accountId uniqueidentifier,--账户ID【UI、UQ】
flagDisabled bit --是否排除
) GO
-- =============================================
-- 测试数据
-- ============================================= -- 收入科目
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','收入',0,0)
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','工资薪水',0,0) GO
-- 支出科目
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','食',1,0)
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','早餐',1,0)
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','午餐',1,0)
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','晚餐',1,0) GO
-- =============================================
-- 操作
-- ============================================= go
-- 1、记一笔
-- 1.1、记一笔收入
insert Bill(billId,amount,subjectCode,payWay,remark,pubdate
,accountId,flagDisabled)
values(NEWID(),0,10000,'','储蓄卡','2月分工资'
,'2017-3-10',NEWID(),0)
-- 1.2、记一笔支出
insert Bill(billId,amount,subjectCode,payWay,remark,pubdate
,accountId,flagDisabled)
values(NEWID(),0,200,'','现金','请客户吃饭'
,'2017-3-17',NEWID(),0) -- 2、账单
-- 2.1、账单-分时
-- 2.1.1、?如果按日期分组,例如:2017-3;2017-2
-- 2.1.2、
select b.billId,b.billType,b.amount,b.subjectCode,b.payWay
,b.remark,b.pubdate,b.flagDisabled,s.subjectType,s.subjectName from Bill b inner join [Subject] s on b.subjectCode=s.subjectCode
where b.accountId='' and b.pubdate=''
-- 2.2、账单-分类
-- 2.2.1、
select b.subjectCode,COUNT(*)'cnt' from Bill b
group by b.subjectCode
having b.accountId=''
-- 2.2.2、
select b.billId,b.billType,b.amount,b.subjectCode,b.payWay
,b.remark,b.pubdate,b.flagDisabled,s.subjectType,s.subjectName from Bill b inner join [Subject] s on b.subjectCode=s.subjectCode
where b.accountId='' and b.subjectCode=''

V-2.1,

 -- =============================================
-- 记账本
-- 模仿小程序“记账e”业务流程
-- 13:17 2017/3/15
-- author:yb,gyg
-- =============================================
USE master
GO -- Drop the database if it already exists
IF EXISTS (
SELECT name
FROM sys.databases
WHERE name = N'SB_TallyBook'
)
DROP DATABASE SB_TallyBook
GO CREATE DATABASE SB_TallyBook
GO
use SB_TallyBook
GO
-- =============================================
-- 科目表
-- =============================================
create table [Subject]
(
subjectId uniqueidentifier primary key,--编号【UI、PK】
subjectCode varchar(50),--科目代码
subjectName varchar(50),--分类名称
subjectType bit,--类别:0=收入-来源;1=支付-用途
flagDisabled bit --是否排除
) GO
-- =============================================
-- 账单表
-- =============================================
create table Bill
(
billId uniqueidentifier primary key,--编号【UI、PK】
billType bit,--类别:0=收入;1=支付
amount money,--金额
subjectCode varchar(50),--科目代码
payWay varchar(50),--支付方式
remark varchar(200),--备注
pubdate datetime, --日期
accountId uniqueidentifier,--账户ID【UI、UQ】
flagDisabled bit --是否排除
)
GO GO
-- =============================================
-- 测试数据
-- ============================================= -- 收入科目
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','收入',0,0)
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','工资薪水',0,0) GO
-- 支出科目
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','食',1,0)
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','早餐',1,0)
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','午餐',1,0)
insert [Subject](subjectId,subjectCode,subjectName,subjectType,flagDisabled)
values(NEWID(),'','晚餐',1,0) GO
-- =============================================
-- 操作
-- ============================================= go
-- 1、记一笔
-- 1.1、记一笔收入
insert Bill(billId,billType,amount,subjectCode,payWay,remark
,pubdate,accountId,flagDisabled)
values(NEWID(),0,10000,'','储蓄卡','2月分工资'
,'2017-3-10',NEWID(),0)
-- 1.2、记一笔支出
insert Bill(billId,billType,amount,subjectCode,payWay,remark
,pubdate,accountId,flagDisabled)
values(NEWID(),0,200,'','现金','请客户吃饭'
,'2017-3-17',NEWID(),0) -- 2、账单
-- 2.1、账单-分时
-- 2.1.1、?如果按日期分组,例如:2017-3;2017-2
-- 2.1.2、
select b.billId,b.billType,b.amount,b.subjectCode,b.payWay
,b.remark,b.pubdate,b.flagDisabled,s.subjectType,s.subjectName from Bill b inner join [Subject] s on b.subjectCode=s.subjectCode
where b.accountId='' and b.pubdate=''
-- 2.2、账单-分类
-- 2.2.1、
select b.subjectCode,COUNT(*)'cnt' from Bill b
group by b.subjectCode
having b.accountId=''
-- 2.2.2、
select b.billId,b.billType,b.amount,b.subjectCode,b.payWay
,b.remark,b.pubdate,b.flagDisabled,s.subjectType,s.subjectName from Bill b inner join [Subject] s on b.subjectCode=s.subjectCode
where b.accountId='' and b.subjectCode=''

2.0,

3,功能实现代码(Function Implementation Code)返回顶部
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

DBS-Tally book(记账本)的更多相关文章

  1. iOS开发实战-时光记账Demo 本地数据库版

    现在记账APP也是用途比较广泛 自己写了个简单的demo 欢迎指正 效果 分析 1.思维推导 首先简单的做了下思维推导 2.文件结构 大致框架想好后就可以着手开始准备了 数据库管理:coreData ...

  2. android软件简约记账app开发day09-主页面模块,收支记账信息的展示

    android软件简约记账app开发day09-主页面模块,收支记账信息的展示 我们第一天已经绘制了记账条目的界面,也在主界面设置了LietView来展示记账条目,今天来实现记账后再主界面的展示效果 ...

  3. android软件简约记账app开发day08-时间对话框的书写+改bug,改bug

    android软件简约记账app开发day08-时间对话框的书写+改bug,改bug 绘制对话跨页面 在添加记账信息功能中,我提供了用户添加备注添加事件的功能,设计是点击时间会弹出一个时间对话框供用户 ...

  4. android软件简约记账app开发day07-备注界面完善

    android软件简约记账app开发day07-备注界面完善 ## 昨天我们已经绘制了备注页面,今天来用Java代码组装完善一下. 首先我们新建BeiZhuDialog类关联备注页面,并且实现点击接口 ...

  5. android软件简约记账app开发day05-记账页面条目代码优化和bug解决

    android软件简约记账app开发day05-记账页面条目代码优化和bug解决 今天还是因为该bug又极大的耽误了项目进程,该开发文档都要没有时间来写了. 先说bug吧,在昨天已经实现了页面图标的展 ...

  6. android软件简约记账app开发day04-记账页面条目的代码书写

    android软件简约记账app开发day04-记账页面条目的代码书写 在前三天我们完成了基本的界面展示,从今天开始,我们进入到后台逻辑代码的编写中,今天开发记账条目的代码 我们在主页面点击记一笔图标 ...

  7. android软件简约记账app开发day03-自定义键盘的书写

    android软件简约记账app开发day03-自定义键盘的书写 我们在fragment界面使用了自定义的keybroad键盘,所以今天我们来书写自定义的键盘代码 新建util包,新建keyboard ...

  8. 记账类APP竞品分析-挖财与随手记

    注:本文更新中. 一.概览 1.  产品名称及版本 l  挖财11.2.0.0 免费版(2016/9/6发布) l  随手记10.2.8免费版(2016/8/22发布) 2.  设备信息 设备型号:i ...

  9. Vue2.0 + Element-UI + WebAPI实践:简易个人记账系统

    最近正在学习Vue2.0相关知识,正好近期饿了么桌面端组件Element-UI发布,便动手做了一款简易个人记账系统,以达到实践及巩固目的. 1.开发环境 Win10 + VS2015 + Sqlser ...

  10. “耐撕”团队记账本 剧透

    β发布之后,我们团队开始fork"OneZero"团队的记账本程序.我们在原来的基础上添加了以下功能: 下面是我们团队记账本程序演示的视频:http://v.youku.com/v ...

随机推荐

  1. CMU-15445 LAB1:Extendible Hash Table, LRU, BUFFER POOL MANAGER

    概述 最近又开了一个新坑,CMU的15445,这是一门介绍数据库的课程.我follow的是2018年的课程,因为2018年官方停止了对外开放实验源码,所以我用的2017年的实验,但是问题不大,内容基本 ...

  2. MySQL数据库之视图

    1 引言 为了简化复杂SQL语句编写,以及提高数据库安全性,MySQL数据库视图特性.视图是一张虚拟表,不在数据库中以储存的数据值形式存在.在开发中,开发者往往只对某些特定数据和所负责的特定任务感兴趣 ...

  3. java中Optional和Stream流的部分操作

    package test9; import java.util.DoubleSummaryStatistics; import java.util.Optional; import java.util ...

  4. ViewPager 无限循环

    Overview 我们在使用ViewPager来制作图片轮播的时候,常常为ViewPager不能一直无限循环的问题所苦恼.对于这个问题,目前从网上找到了两个思路来解决: 将 ViewPager 的Co ...

  5. BZOJ.2705.[SDOI2012]Longge的问题(莫比乌斯反演 欧拉函数)

    题目链接 \(Description\) 求\[\sum_{i=1}^n\gcd(i,n)\] \(Solution\) \[ \begin{aligned} \sum_{i=1}^n\gcd(i,n ...

  6. 获取设备IP地址

    腾讯的IP地址API接口地址:http://fw.qq.com/ipaddress返回的是数据格式为: 1 var IPData = new Array(“58.218.198.205″,”" ...

  7. mySql---数据库索引原理及优化

    一.写在前面 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型 ...

  8. 使用 IntraWeb (8) - 系统模板

    我们可以自定义系统错误模板, 编辑 IWError.html 放到模板文件夹后, 它将替换默认的模板. {在主页面, 这是要模拟一个系统错误} procedure TIWForm1.IWButton1 ...

  9. 华为S5300系列交换机限制特定IP可以登录Web

    针对Web管理可能有如下需求: 1.限制某个特定IP允许访问Web 2.默认修改80端口访问 那么针对上面的设置可以有效杜绝而已Web密码暴力破解,增强交换机安全等. 实现: 1.限制特定IP登录We ...

  10. SW-DP (Serial Wire Debug Port) Analyzer plugin for the Saleae Logic

    SW-DP (Serial Wire Debug Port) Analyzer plugin for the Saleae Logic The SW-DP protocol is described ...