考勤各项目字段,是否应都设置成number型--急!!!300大分 (300分)

  • 主题发起人 主题发起人 zohzjf
  • 开始时间 开始时间
Z

zohzjf

Unregistered / Unconfirmed
GUEST, unregistred user!
工资系统:工资项目要求根据用户设定,动态生成,对工资表可以进行一般的修改、
添加、删除,查询,
我想要一套相应的表结构,与方法。

我想用类似的方法变一套考勤系统,请问考勤各项目字段,是否应都设置成number型
--为了便于统计。但这样是否合理呢,请说出原因。
---这个问题分多,所以只要发言,对我的思维有一点点帮助,我都给分;
现在重点问:
考勤各项目字段,是否应都设置成number型
--为了便于统计。但这样是否合理呢,请说出原因。
 
two table:
one :(stru)
id,name;
two :(GZ_data)
personcode,item1,item2.....

用户增加字段时,动态Alter table2 和在table1 中追加记录. 如果可以完全可以一个表.
 
请考虑一下用竖表,然后变为横表.
 
你可以用一个表专门来存放工资项目,对这个表的修改就是对工资项目的修改嘛。
当然工资库肯定是另外一张表,它的表结构就从上面的表来。
 
一个表专门存放工资项目
 
xf163,nsj,Tense:
我要该变原来的设定的 one 的记录,怎么办,如果添加好说,但如果我减少
呢,以前的记录不是没有了吗
dongberlin:
竖表我考虑过,不过竖表变横表后,在修改时我怎么更新记录呀,我先建一个科目表放置
设定的科目,然后把竖表截断---按科目号)
 
一个表门存放工资项目,另一个专门存放对应的工资项目是否显示,
速达2000就是这样的,
你应该已经明白了
 
1。建立一个项目表,字段建议如下:
T_Project (Name char(20),PID char(4) not null, Flag smallint ,primarykey(PID))
其中Name 为项目的名称,PID为项目的唯一标识,
Flag用来记录是否该项目被更改 0 刚添加,1 修改过名称,2 被删除等
而且要在有项目表字段的表中定义外键,定义外键约束,以保证数据的完整性
2。建立存放具体各项内容的表
(可以考虑将各种项目建立一张相应的表也可以全部合在一张表中(如果各项目的数据量一样))

3。具体的查询或产生报表可以在以上的基础上进行

 
关键在与创建一个工资项目字典表,每条记录包括项目名称,字段名称,是否是录入项目,是否是修改项目等等
我们就是这样做的。

附上主要表的脚本,可以参考(老板要是知道了,非吃了我呀)

--工资基本数据
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TBGZJBSJ]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TBGZJBSJ]
GO

--计算公式
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TBGZJSGS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TBGZJSGS]
GO

--修改记录
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TBGZXGJL]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TBGZXGJL]
GO

--工资项目模板
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TBGZXMMB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TBGZXMMB]
GO

--工资项目字典
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TBGZZDXM]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TBGZZDXM]
GO

CREATE TABLE [dbo].[TBGZJBSJ] (
[CTZBH] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[CBH] [varchar] (6) COLLATE Chinese_PRC_CI_AS NULL ,
[CGZH] [varchar] (12) COLLATE Chinese_PRC_CI_AS NULL ,
[CLB] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[CDFYH] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[CZT] [char] (4) COLLATE Chinese_PRC_CI_AS NULL ,
[DGZRQ] [char] (8) COLLATE Chinese_PRC_CI_AS NULL ,
[MXM1] [money] NULL ,
[MXM2] [money] NULL ,
[MXM3] [money] NULL ,
[MXM4] [money] NULL ,
[MXM5] [money] NULL ,
[MXM6] [money] NULL ,
[MXM7] [money] NULL ,
[MXM8] [money] NULL ,
[MXM9] [money] NULL ,
[MXM10] [money] NULL ,
[MXM11] [money] NULL ,
[MXM12] [money] NULL ,
[MXM13] [money] NULL ,
[MXM14] [money] NULL ,
[MXM15] [money] NULL ,
[MXM16] [money] NULL ,
[MXM17] [money] NULL ,
[MXM18] [money] NULL ,
[MXM19] [money] NULL ,
[MXM20] [money] NULL ,
[MXM21] [money] NULL ,
[MXM22] [money] NULL ,
[MXM23] [money] NULL ,
[MXM24] [money] NULL ,
[MXM25] [money] NULL ,
[MXM26] [money] NULL ,
[MXM27] [money] NULL ,
[MXM28] [money] NULL ,
[MXM29] [money] NULL ,
[MXM30] [money] NULL ,
[MXM31] [money] NULL ,
[MXM32] [money] NULL ,
[MXM33] [money] NULL ,
[MXM34] [money] NULL ,
[MXM35] [money] NULL ,
[MXM36] [money] NULL ,
[MXM37] [money] NULL ,
[MXM38] [money] NULL ,
[MXM39] [money] NULL ,
[MXM40] [money] NULL ,
[CCZY] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[CBZ] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,
[IBM] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[CBM] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[CXM] [varchar] (16) COLLATE Chinese_PRC_CI_AS NULL ,
[CPYM] [varchar] (8) COLLATE Chinese_PRC_CI_AS NULL ,
[CCZH] [varchar] (12) COLLATE Chinese_PRC_CI_AS NULL ,
[CCXKH] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[TBGZJSGS] (
[CTZBH] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[CJSXM] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[CJSGS] [varchar] (300) COLLATE Chinese_PRC_CI_AS NULL ,
[CJSTJ] [varchar] (300) COLLATE Chinese_PRC_CI_AS NULL ,
[CJSXMC] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[CJSGSC] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[CJSTJC] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[IBH] [int] NOT NULL ,
[IGSXH] [int] NULL ,
[IENABLE] [bit] NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[TBGZXGJL] (
[CTZBH] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[CBH] [varchar] (6) COLLATE Chinese_PRC_CI_AS NULL ,
[CXM] [varchar] (16) COLLATE Chinese_PRC_CI_AS NULL ,
[CGZRQ] [char] (8) COLLATE Chinese_PRC_CI_AS NULL ,
[DSJ] [datetime] NULL ,
[CXMMC] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[CXGQ] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[CXGH] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[CXGYY] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[CCZY] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[TBGZXMMB] (
[IXH] [int] NULL ,
[CTZBH] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[CXM] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[CXMMC] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[BJZQL] [bit] NULL ,
[RMIN] [real] NULL ,
[RMAX] [real] NULL ,
[IXSWS] [int] NULL ,
[ITJXM] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[CTJXM] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[ILRXMXZ] [int] NULL ,//是否是录入项目
[IBDXGXZ] [int] NULL ,//等等
[IGDXGXZ] [int] NULL ,
[ICXXMXZ] [int] NULL ,
[IGZBTDXZ] [int] NULL ,
[ISHXZ] [int] NULL ,
[ITJHZXZ] [int] NULL ,
[IRBBFXZ] [int] NULL ,
[IZJJSBDXZ] [int] NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[TBGZZDXM] (
[IXH] [int] NULL ,
[CTZBH] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[CXM] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[CXMMC] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[BJZQL] [bit] NULL ,
[RMIN] [real] NULL ,
[RMAX] [real] NULL ,
[IXSWS] [int] NULL ,
[ITJXM] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[CTJXM] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[ILRXMXZ] [int] NULL , //是否是录入项目
[IBDXGXZ] [int] NULL , //等等
[IGDXGXZ] [int] NULL ,
[ICXXMXZ] [int] NULL ,
[IGZBTDXZ] [int] NULL ,
[ISHXZ] [int] NULL ,
[ITJHZXZ] [int] NULL ,
[IRBBFXZ] [int] NULL ,
[IZJJSBDXZ] [int] NULL
) ON [PRIMARY]
GO

 
多人接受答案了。
 
后退
顶部