关于装配类数据的简单设计
2007-02-24 13:46
369 查看
为了管理好电脑各类配件,想尽办法要做一个装配件一样的设备管理,我的想法是这样的:
1、装配关系只是一种约束,但是装配关系是一定的
2、设备和关系之间是一种松耦合关系,对于某一设备可以定义装配关系,但是该设备可以脱离装配关系而存在,如键盘是一种配件,但是在管理上如同设备一样管理。
3、每一个配件(设备)都有默认的装配关系存在,但是可以脱离该装配关系而在另一装配关系上存在。如笔记本电脑的装配关系上不存在显示器,但说不定哪天我愿意配上一个19宽屏的显示器用而不用其显示屏
4、主设备一定要存在装配关系,否则无法使用装配关系来管理其配件。就象主机一样,如果不定义好装配关系,那么在装上CPU时,则无法装上。
具体的数据设计:
1、装配关系表:
if exists(select * from sysobjects where name='ComponentModel')
drop table ComponentModel
go
create table ComponentModel( --设备装配模型表
cmautoid int identity(1,1), --自动编号
cmid varchar(20) primary key, --装备编号
cmname varchar(50), --名称
cmpid varchar(20), --父级编号
cmmemo varchar(50), --备注
cmnecessary bit, --是否必配件
cmbeone bit --是否单配件
)
2、物料编码表,从实践证明,用物料编码是胜于不编码的,并且在这儿有个好处,可以定义默认的装配关系
create table bd_stock(
stkautoid bigint identity(1,1),
stkid varchar(20) primary key clustered, --ID
stkname varchar(50) not null, --名称
stkstid varchar(10) foreign key references bd_stocktype(stid), --分类号
stkspec varchar(50), --规格
stkstyle varchar(50), --型号
stkmeasid varchar(5) foreign key references bd_measure(msid), --计量单位编号
stkassismeasid varchar(5), --默认的辅 计量单位
stkmark varchar(20), --品牌
stkcpid varchar(20), --装配号
stkmechid varchar(20), --机械图号,
stkisbatch bit, --是否批次管理
stkoragin varchar(20), --产地
stkstand varchar(20), --执行标准
stkquality varchar(20), --质量
stkmemo varchar(50), --备注
stkmin float, --最小量
stkmax float, --最大量
stkcostref float, --成本参考
stksaleref float, --采购/销售参考
stkfirmdays smallint, --
stkservice bit, --是否服务
stkinuse bit default(1), --是否在用
stkpurround smallint, --采购周期
stkzjf varchar(20) --助记符
)
3、设备表
create table OA_Device( --设备表
dvautoid int identity(1,1), --自动编号
dvid varchar(20) primary key, --编号
dvcmid varchar(20), --装备编号
dvmid varchar(10), --管理编号
dvtype varchar(10), --分类编号
dvname varchar(20), --名称
dvstkid varchar(20) foreign key references bd_stock(stkid), --商品编号
dvunit int,
dvmark varchar(20), --品牌/厂商
dvinterface varchar(20), --接口
dvspeed numeric(10,3), --速率
dvspdunit varchar(20), --速率计量单位
dvcontain numeric(10,3), --容量
dvctnunit varchar(20), --容量计量单位
dvmain varchar(20), --主设备
dvepid varchar(10), --使用公司`
dvdpid varchar(10) foreign key references bd_department(dpid), --部门
dvempid varchar(10) foreign key references bd_employee(empid) ,--操作人
dvisfree bit, --是否闲置
dvfiredate smalldatetime, --报废日期
dvsupply varchar(10), --供应商
dvpurchasedate smalldatetime, --采购日期
dvsn varchar(50), --序列号
dvmemo varchar(50), --备注
dvdate smalldatetime, --开始使用日期
dvchar varchar(50) --特征
)
其他无关紧要的表不列于此
1、装配关系只是一种约束,但是装配关系是一定的
2、设备和关系之间是一种松耦合关系,对于某一设备可以定义装配关系,但是该设备可以脱离装配关系而存在,如键盘是一种配件,但是在管理上如同设备一样管理。
3、每一个配件(设备)都有默认的装配关系存在,但是可以脱离该装配关系而在另一装配关系上存在。如笔记本电脑的装配关系上不存在显示器,但说不定哪天我愿意配上一个19宽屏的显示器用而不用其显示屏
4、主设备一定要存在装配关系,否则无法使用装配关系来管理其配件。就象主机一样,如果不定义好装配关系,那么在装上CPU时,则无法装上。
具体的数据设计:
1、装配关系表:
if exists(select * from sysobjects where name='ComponentModel')
drop table ComponentModel
go
create table ComponentModel( --设备装配模型表
cmautoid int identity(1,1), --自动编号
cmid varchar(20) primary key, --装备编号
cmname varchar(50), --名称
cmpid varchar(20), --父级编号
cmmemo varchar(50), --备注
cmnecessary bit, --是否必配件
cmbeone bit --是否单配件
)
2、物料编码表,从实践证明,用物料编码是胜于不编码的,并且在这儿有个好处,可以定义默认的装配关系
create table bd_stock(
stkautoid bigint identity(1,1),
stkid varchar(20) primary key clustered, --ID
stkname varchar(50) not null, --名称
stkstid varchar(10) foreign key references bd_stocktype(stid), --分类号
stkspec varchar(50), --规格
stkstyle varchar(50), --型号
stkmeasid varchar(5) foreign key references bd_measure(msid), --计量单位编号
stkassismeasid varchar(5), --默认的辅 计量单位
stkmark varchar(20), --品牌
stkcpid varchar(20), --装配号
stkmechid varchar(20), --机械图号,
stkisbatch bit, --是否批次管理
stkoragin varchar(20), --产地
stkstand varchar(20), --执行标准
stkquality varchar(20), --质量
stkmemo varchar(50), --备注
stkmin float, --最小量
stkmax float, --最大量
stkcostref float, --成本参考
stksaleref float, --采购/销售参考
stkfirmdays smallint, --
stkservice bit, --是否服务
stkinuse bit default(1), --是否在用
stkpurround smallint, --采购周期
stkzjf varchar(20) --助记符
)
3、设备表
create table OA_Device( --设备表
dvautoid int identity(1,1), --自动编号
dvid varchar(20) primary key, --编号
dvcmid varchar(20), --装备编号
dvmid varchar(10), --管理编号
dvtype varchar(10), --分类编号
dvname varchar(20), --名称
dvstkid varchar(20) foreign key references bd_stock(stkid), --商品编号
dvunit int,
dvmark varchar(20), --品牌/厂商
dvinterface varchar(20), --接口
dvspeed numeric(10,3), --速率
dvspdunit varchar(20), --速率计量单位
dvcontain numeric(10,3), --容量
dvctnunit varchar(20), --容量计量单位
dvmain varchar(20), --主设备
dvepid varchar(10), --使用公司`
dvdpid varchar(10) foreign key references bd_department(dpid), --部门
dvempid varchar(10) foreign key references bd_employee(empid) ,--操作人
dvisfree bit, --是否闲置
dvfiredate smalldatetime, --报废日期
dvsupply varchar(10), --供应商
dvpurchasedate smalldatetime, --采购日期
dvsn varchar(50), --序列号
dvmemo varchar(50), --备注
dvdate smalldatetime, --开始使用日期
dvchar varchar(50) --特征
)
其他无关紧要的表不列于此
相关文章推荐
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- “无限极”分类数据表设计的简单再总结
- 设计一个日期类Date,,要求: (1)包含年(year)、月(month)和日(day)私有数据成员。 (2)包含构造函数,重载关于一日期加上天数的加法运算符+、重载关于一日期减去天数的减加运算符-
- 如何利用ccform自定义表单来增加自己的控件,关于Sys_FrmEle表结构与数据存储设计?
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于用户、角色与数据范围的一种设计方法
- 关于数据仓库的设计!
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 关于MySQL从数据库文件恢复数据的简单解决办法
- 游戏设计一、关于游戏动态数据和静态数据的处理
- 【Java】简单数据同步(日志同步)设计(1)
- 关于项目中的DAL数据接入层架构设计
- 关于WPF的两个窗口之间简单的数据传递
- 简单的写一篇.关于取重复的数据.
- 关于类的数据成员的访问权限设计的一些思考
- 关于C语言和C++语言的数据读取函数解析及简单的例子
- 关于栈的弹出函数设计是否应该有两个返回值,一个表示数据,一个表示是否栈为空
- 由一个简单的客户端间TCP/UDP通信程序引发的关于设计模式的思考
- 关于数据仓库的设计!
- 关于数据类型的简单测试