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/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |