ssh 一对多保存问题
sql 表
--部门表
create table Tdepartement(
FdId int identity(1,1) primary key , --部门id
FdNo nvarchar(50) not null, --部门编号
FdName nvarchar(50) not null, --部门名
)
--员工表
create table Temployee
(
FeId int identity(1,1) primary key, --员工id
FdId int not null, --部门id
FeNo nvarchar(50), --员工编号
FeName nvarchar(50) not null, --员工名
Festatus int not null default 0, --员工状态 0在职,1离职
Fremarks nvarchar(200) --备注
)
--员工表关联部门表一个部门有多个员工
alter table Temployee
add constraint FK_FdId foreign key(FdId) references Tdepartement(FdId)
--类别表
create table Ttype
(
FtId int identity(1,1) primary key,
FtName nvarchar(50)
)
--设备表(主机,显示器,笔记本,打印机等类别)
create table Tfacility
(
FfId int identity(1,1) primary key,
FfNo nvarchar(50) not null, --设备编码唯一的
FtId int not null, --类别
Fyjpz nvarchar(50), --设备配置内容如:联想
FrkDate nvarchar(50), --入库日期
FbfDate nvarchar(50), --报废日期
Fbxdate nvarchar(50), --保修时间
Fcj nvarchar(50), --厂家
Fjg int , --价格
Fcstatus int not null, --设备状态 0空闲,1使用中,2报废,3维修(升级),
Fremarks nvarchar(200) --备注(维修记录)
)
--设备表关联类别表,一种类别有多个设备
alter table Tfacility
add constraint FK_FtId foreign key(FtId) references Ttype(FtId)
--电脑配件
create table Thardware
(
FhId int identity(1,1) primary key, --配件id
FhNo nvarchar(50) not null, --配件编码唯一
FxmName nvarchar(50) not null, --项目名如:内存
Fyjpz nvarchar(50), --配件配置内容如:金士顿2g DDR3
FrkDate nvarchar(50), --入库日期
FbfDate nvarchar(50), --报废日期
Fbxdate nvarchar(50), --保修时间
Fcj nvarchar(50), --厂家
Fjg int , --价格
Fcstatus int not null, --配件状态 0空闲,1使用中,2报废,3维修(升级),
Fremarks nvarchar(200), --备注(维修记录)
FfId int --设备id
)
--配件表关联设备(主要是配件组成主机),一台主机有多个配件
alter table Thardware
add constraint FK_FfId foreign key(FfId) references Tfacility(FfId)
--设备维修升级记录表
create table TServicing
(
FsId int identity(1,1) primary key,
FsNo nvarchar(50) not null, --设备编码唯一的
FtName nvarchar(50), --类别
Fyjpz nvarchar(50), --设备配置内容如:联想 (显示配件) 如果要显示配件详细则配件表添加外键FsId
FrkDate nvarchar(50), --入库日期
FbfDate nvarchar(50), --报废日期
Fbxdate nvarchar(50), --保修时间
Fcj nvarchar(50), --厂家
Fjg int , --价格
Fcstatus int not null, --设备状态 0空闲,1使用中,2报废,3维修(升级),
Fremarks nvarchar(200) --备注(维修记录)
)
--分配表
create table TAllot
(
FaId int identity(1,1) primary key,
FfId int , --设备表id
FpcId int, --主机id
FdpId int, --显示器id
FdId int not null, --部门id
FeId int , --员工id
FfpDate nvarchar(50), --分配日期
Fremarks nvarchar(200) --备注
)
--一件设备对应一个分配(部门或员工)
alter table Tallot
add constraint FK_Tallot_FfId foreign key(FfId) references Tfacility(FfId) ,
constraint FK_Tallot_FeId foreign key(FeId) references Temployee(FeId),
constraint FK_Tallot_FdId foreign key(FdId) references Tdepartement(FdId),
constraint FK_Tallot_FpcId foreign key(FpcId) references Tfacility(FfId) ,
constraint FK_Tallot_FdpId foreign key(FdpId) references Tfacility(FfId)
--分配记录表
create table TallotAnnal
(
FaAnnalId int identity(1,1) primary key,
FfId int , --设备表id
FpcId int, --主机id
FdpId int, --显示器id
FdId int not null, --部门id
FeId int , --员工id
FfpDate nvarchar(50), --分配日期
Fremarks nvarchar(200) --备注
)
alter table TallotAnnal
add constraint FK_TallotAnnal_FfId foreign key(FfId) references Tfacility(FfId),
constraint FK_TallotAnnal_FeId foreign key(FeId) references Temployee(FeId),
constraint FK_TallotAnnal_FdId foreign key(FdId) references Tdepartement(FdId),
constraint FK_TallotAnnal_FpcId foreign key(FpcId) references Tfacility(FfId) ,
constraint FK_TallotAnnal_FdpId foreign key(FdpId) references Tfacility(FfId)