ylbtech-dbs:ylbtech-5,RI(报销发票系统)

-- =============================================
-- DatabaseName:PurpleReibursementInvoices(RI)
-- Desc: 报销发票系统
-- Model:
-- pubdate:11:11 2015/3/9
-- author:Yuanbo
-- 记录排除原则
-- 账户记录表原则
-- 字段备注原则 原部门、审核人、角色,数据不可更改原则。
-- =============================================

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

1.B.1,

-- =============================================
-- DatabaseName:PurpleReibursementInvoices(RI)
-- Desc: 报销发票系统
-- Model:
-- pubdate:11:11 2015/3/9
-- author:Yuanbo
-- 记录排除原则
-- 账户记录表原则
-- 字段备注原则 原部门、审核人、角色,数据不可更改原则。
-- =============================================
USE master
GO -- Drop the database if it already exists
IF EXISTS (
SELECT name
FROM sys.databases
WHERE name = N'PurpleRI'
)
DROP DATABASE PurpleRI
GO CREATE DATABASE PurpleRI
GO
use PurpleRI
go
-- =============================================
-- ylb:管理员 账户验证方式(账号+密码+U盾)【后期把这个库分开,数据名为:PurpleAccount】
-- 密码上下级管理模式
-- =============================================
create table Account
(
accountId int, --编号【FK】员工表ID
pwd varchar(400) not null, --密码
[guid] uniqueidentifier, --Guid 用于商户编号(U盾身份验证)
[disable] bit, --状态 0:正常;1:禁用
[type] varchar(400) --模块类型 admin|member
)
go
-- =============================================
-- ylb:账户记录表
-- =============================================
create table AccountRecord
(
accountRecordId int identity(101,1), --编号【ID,PK】
accountId int, --帐号ID【FK】
pwd varchar(400) not null, --密码【不加密】
addType varchar(400), --添加|修改类型 用户创建|修改密码
pubdate datetime default(getdate()), --工作日期
addAccountId int, --添加|修改账户ID【FK】
[type] varchar(400) --模块类型 admin|member
) go
-- =============================================
-- ylb:1,部门表
-- =============================================
create table Department
(
departmentId int primary key identity(101,1), --编号【PK】
departmentName varchar(400), --部门名称 disable bit default(0), --是否禁用 0:正常;1:禁用 accountId int --账户ID【FK】
)
/*
go
-- =============================================
-- ylb:1,职位表
-- =============================================
create table Job
(
jobId int primary key identity(101,1), --编号【PK】
jobName varchar(400), --职位名称 disable bit default(0), --是否禁用 0:正常;1:禁用 accountId int --账户ID【FK】
)
*/
go
-- =============================================
-- ylb:1,职位表(角色表)
-- 规则:一个部门只允许一个审批角色
-- =============================================
create table [Role]
(
roleId int primary key identity(101,1), --编号【PK】
roleName varchar(400), --角色名称 审批主管|普通职员 disable bit default(0), --是否禁用 0:正常;1:禁用 accountId int --账户ID【FK】
) go
-- =============================================
-- ylb:2,员工表
-- =============================================
create table Employee
(
employeeId int primary key identity(1001,1), --编号【PK】
[id] varchar(40), --身份证号
username varchar(400), --姓名
sex varchar(40), --性别 男|女
cardNo varchar(400), --银行卡号
hireDate datetime, --受雇日期
[status] varchar(400), --状态(在职,离职,退休)
retirementDate datetime, --退休(离职)日期 pubdate datetime, --添加时间
zIndex varchar(40),--字母检索 disable bit default(0), --是否禁用 0:正常;1:禁用 accountId int, --账户ID【FK】
departmentId int, --部门编号
)
go
-- =============================================
-- ylb:3.1,发票科目表
-- =============================================
create table Project
(
projectId int primary key identity(100,1), --编号【PK】
projectName varchar(20), --项目名称
salary money, --福利金额
type char(20), --发放形式(一次性发放,多次性发放)
pubdate datetime --项目时间
)
go GO
-- =============================================
-- ylb:1,发票表
-- =============================================
create table Invoice
(
invoiceId int primary key identity(1000,1), --编号【PK,ID】
invoiceType varchar(200), --发票类型 -1:不开发票;0:个人;1:公司
invoiceTitle varchar(200), --发票抬头
invoiceSubject varchar(200), --发票科目 1=商品明细、2=服装、3=皮具、4=箱包、5=化妆品、6=鞋、7=饰品、8=家居用品、9=珠宝 disable bit default(0), --是否禁用 0:正常;1:禁用 accountId int, --账户ID【FK】
memberId int --员工ID【FK】
)
GO
-- =============================================
-- ylb:1,账户表
-- ============================================= GO
-- =============================================
-- ylb:1,领取记录表
-- ============================================= go
-- =============================================
-- ylb:4,发放记录表
-- 数据具有不可修改的特性,敏感字段应以旧称的形式体现。
-- =============================================
create table AmountIssuing
(
amountIssuingId int primary key identity(1,1), --编号【PK】
oldDepartmentName varchar(400), --部门名称(旧称)
oldUsername varchar(400), --员工姓名(旧称)
oldId varchar(400), --身份证号(旧称) kaiJiId int, --经办会计
kaiJiZhuGuanId int, --主管会计 kaiJiName varchar(400), --经办会计
kaiJiZhuGuanName varchar(400), --主管会计 projectId int, --项目编号【FK】
salary money, --发放金额
pubdate datetime, --发放日期 remark varchar(400), --备注 disable bit default(0), --是否禁用 0:正常;1:禁用 accountId int, --账户ID【FK】
departmentId int, --部门编号
memberId int --员工ID【FK】disable bit default(0), --是否禁用 0:正常;1:禁用
)

1.B.2,

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

ylbtech-dbs:ylbtech-5,RI(报销发票系统)的更多相关文章

  1. vue开发东京买菜,全栈项目,前端django,带手机GPS精准定位,带发票系统,带快递系统,带微信/支付宝/花呗/银行卡支付/带手机号一键登陆,等等

    因为博客园不能发视频,所以,完整的视频,开发文档,源码,请向博主索取 完整视频+开发文档+源码,duanshuiLu.com下载 vue+django手机购物商城APP,带支付,带GPS精准定位用户, ...

  2. django开发东京买菜,全栈项目,前端vue,带手机GPS精准定位,带发票系统,带快递系统,带微信/支付宝/花呗/银行卡支付/带手机号一键登陆,等等

    因为博客园不能发视频,所以,完整的视频,开发文档,源码,请向博主索取 完整视频+开发文档+源码,duanshuiLu.com下载 vue+django手机购物商城APP,带支付,带GPS精准定位用户, ...

  3. HDU 1864 最大报销额(DP)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1864 题目: 最大报销额 Time Limit: 1000/1000 MS (Java/Others) ...

  4. Linux系统——MySQL基础(一)

    # 数据库 ## 数据库简单的分类:(1)关系型数据库:MySQL和Oracle.Postgresql(2)非关系型数据库:Memcached和Redis(3)消息队列中间件(4)搜索引擎数据库:El ...

  5. 初探Azure的保留实例(Reserved Instance)

    最近的Ignite 2017宣布了Azure将在年底推出保留实例(Reserved Instance).虽然在没有RI的这些年,Azure的EA Monetary Commitment同样也提供了和R ...

  6. 什么是web service

    一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...

  7. Webservice简介

    一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...

  8. WebServices(转)

    一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...

  9. WebService到底是什?

    一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...

随机推荐

  1. Linux驱动设计——字符设备驱动(一)

    Linux字符设别驱动结构 cdev结构体 struct cdev { struct kobject kobj; struct module *owner; const struct file_ope ...

  2. some knowledge of maven {maven实战}

    maven是跨平台的,不仅是一个构建工具,也是一个可以管理依赖的工具.它最大化的消除了构件的重复,并且提供了中央仓库,能帮我们自动下载构件.------------------------------ ...

  3. 如何在python3.3用 map filter reduce

    在3.3里,如果直接使用map(), filter(), reduce(), 会出现 >>> def f(x): return x % 2 != 0 and x % 3 != 0  ...

  4. Android Studio + gradle多渠道打包

    通过工具栏的Build->Build Apk 好像只能打包第一个Module(eclipse里面是Project的概念),怎么多渠道打包呢?目前好像只能一个一个的打 首先在清单文件里设置个变量: ...

  5. Oracle数据库查询语句

    编写以下查询的SQL语句,以scott用户的emp表和dept表作为查询数据: 1.列出至少有一个员工的所有部门. SQL语句: select * from SCOTT.DEPT where dept ...

  6. linux包之bash之内置命令ulimit

    概述 [root@localhost ~]# rpm -qa|grep bashbash-4.1.2-15.el6_4.x86_64 linux limits.conf 配置 limits.conf ...

  7. 深入认识JavaScript 中的this指针

    深入认识JavaScript 中的this指针this指针是面向对象程序设计中的一项重要概念,它表示当前运行的对象.在实现对象的方法时,可以使用this指针来获得该对象自身的引用.和传统意义的面向对象 ...

  8. 1 TKinter小窗口及标题

    说明 :本博客户关于tkinter的知识参考:2014 年辛星 Python 界面编程教程第二版 创建一个GUI程序的步骤: 创建一个GUI程序 1.导入Tkinter模块 2.创建控件 3.指定这个 ...

  9. Spring和SpringMVC的区别

    spring 是是一个开源框架,是为了解决企业应用程序开发,功能如下◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能◆范围:任何Java应用简单 ...

  10. ajax简单案例:返回json型

    主页: <!--输入代号点击查询查到本代号的人名--> <body> <div> 请输入代号:<input type="text" id= ...