实验室管理系统数据库代码_实验室废液分类标准

实验室管理系统数据库代码_实验室废液分类标准实验室设备管理系统SQL代码课程设计时的SQL代码,不是很完整,仅供参考。完整的实验室设备管理系统设计代码包括界面设计(使用的是C#)上传到了我的资源中。***界面截图***createdatabase实验室设备管理系统onprimary( name=’实验室设备管理_data’, filename=’E:\SqlServerData\实验室设备管理系统\实验室设备管理_data.mdf’, size=5MB, maxsize=100MB, filegrow

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

实验室设备管理系统SQL代码

课程设计时的SQL代码,不是很完整,仅供参考。
完整的实验室设备管理系统设计代码包括界面设计(使用的是C#)上传到了我的资源中点此跳转修改数据源xml配置点击跳转
以 C#+VS2019 作为开发环境, 采用 SqlServer 作为后台数据库管理系统, 开发了一款基于 C / S 结构的实验室设备管理系统。该系统分为管理员功能模块、 普通用户功能模块和设备维护员三个部分。
管理员模块实现用户信息管理、设备类别、信息、 购买、维修、报废管理等功能;普通用户模块实现借用申请、申请结果查看、借用历史查询等功能。
***界面截图 ***
在这里插入图片描述
在这里插入图片描述

create database 实验室设备管理系统
on
primary
(
	name = '实验室设备管理_data',
	filename = 'E:\SqlServerData\实验室设备管理系统\实验室设备管理_data.mdf',
	size = 5MB,
	maxsize = 100MB,
	filegrowth = 5%
)
log on
(
	name = '实验室设备管理_log',
	filename = 'E:\SqlServerData\实验室设备管理系统\实验室设备管理_log.ldf',
	size = 5MB,
	maxsize = 100MB,
	filegrowth = 5%
)

use 实验室设备管理系统

create table 用户
(
	用户ID char(8) primary key,
	用户名 nvarchar(10) not null,
	用户密码 varchar(16) not null,
	用户权限 int not null check (用户权限 <=3 and 用户权限 >= 1)
)


alter table 用户 drop 用户权限
alter table 用户 add 用户权限 int not null check (用户权限 <=3 and 用户权限 >= 0)
alter table 用户 add 电话 char(11) unique not null

create table 设备信息
(
	设备编号 char(8) primary key,
	设备名称 nvarchar(20) unique not null,
	型号 nvarchar(10),
	类别 nvarchar(5) default '计算机' check(类别 in('计算机','生物','物理','化学')), 
	规格 nvarchar(10),
	总数量 int check(总数量>=0),
	当前剩余数量 int check(当前剩余数量 >=0 ),
	生产厂家 nvarchar(10) not null
)
drop table 购买设备信息
create table 购买设备信息
(
	购买ID int primary key identity(1,1),
	设备编号 char(8) ,
	实验室编号 char(8),
	设备名称 nvarchar(20) unique not null,
	型号 nvarchar(10),
	类别 nvarchar(5) default '计算机' check(类别 in('计算机','生物','物理','化学')), 
	购买日期 datetime default(getdate()) not null,
	规格 nvarchar(10),
	数量 int check(数量>=0),
	单价 money not null,
	购买人 nvarchar(10) not null,
	生产厂家 nvarchar(10) not null,

	foreign key(设备编号) references 设备信息(设备编号),
	foreign key(实验室编号) references 实验室(实验室编号),
)

create table 实验室
(
	实验室编号 char(8) primary key,
	实验室名称 nvarchar(10) unique not null,
	实验室地址 nvarchar(10) unique not null

)

create table 设备详细编号
(
	设备编号 char(8) ,
	设备ID   char(8) ,
	实验室编号 char(8),
	设备情况 nvarchar(5) default '正常' check(设备情况 in('正常','维修','报废'))
	primary key (设备编号,设备ID),
	foreign key (设备编号) references 设备信息(设备编号),
	foreign key (实验室编号) references 实验室(实验室编号),
)

alter  table 设备详细编号 add 设备情况 nvarchar(5) default '正常' check(设备情况 in('正常','维修','报废'))
update 设备详细编号 set 设备情况='正常'


drop table 报修 
create table 报修
(
	报修ID int primary key identity(1,1),
	设备编号 char(8) ,
	设备ID   char(8) ,
	报修原因 nvarchar(30),
	报修日期 datetime default(getdate()) not null,
	维修日期 datetime ,
	维修人员 nvarchar(10),
	维修费用 money,
	是否修复 bit default 0,
	
	foreign key(设备编号,设备ID) references 设备详细编号(设备编号,设备ID),
)

create table 报废
(
	报废ID int primary key identity(1,1),
	设备编号 char(8) ,
	设备ID   char(8) ,
	报废原因 nvarchar(30),
	报废日期 datetime default(getdate()) not null,
	报废人员 nvarchar(10) not null,
	
	foreign key(设备编号,设备ID) references 设备详细编号(设备编号,设备ID),
)

create trigger 购买设备
on 购买设备信息
instead of insert
as
begin
--设备信息表的插入变量
	declare @EquipmentID as char(8)
	declare @LaboratoryID as char(8)
	declare @EquipmentName as nvarchar(20)
	declare @Model as nvarchar(10)
	declare @type as nvarchar(10)
	declare @guige as nvarchar(10)
	declare @count as int
	declare @maker as nvarchar(20)
--设备大小号插入变量
	declare @pre_count as int
	declare @now_count as int

	select @EquipmentID=inserted.设备编号,@LaboratoryID=inserted.实验室编号,@EquipmentName=inserted.设备名称,@Model=inserted.型号,@type=inserted.类别,@guige=inserted.规格,@count=inserted.数量,@maker=inserted.生产厂家 from inserted

	if not exists(select * from 设备信息 where @EquipmentID=设备编号)
	begin
		insert into 设备信息(设备编号,设备名称,型号,类别,规格,总数量,当前剩余数量,生产厂家) values(@EquipmentID,@EquipmentName,@Model,@type,@guige,@count,@count,@maker)
	end
	else
	begin
		update 设备信息 set 总数量=总数量+@count,当前剩余数量=当前剩余数量+@count where @EquipmentID=设备编号
	end

	select @pre_count=count(*) from 设备详细编号 where @EquipmentID=设备详细编号.设备编号
	set @now_count=@pre_count+@count
	set @pre_count=@pre_count+1
	while @pre_count<=@now_count
	begin
		insert into 设备详细编号(设备编号,设备ID,实验室编号) values(@EquipmentID,@pre_count,@LaboratoryID)
		set @pre_count = @pre_count+1
	end

	insert into 购买设备信息(设备编号,实验室编号,设备名称,型号,类别,购买日期,规格,数量,单价,购买人,生产厂家) select 设备编号,实验室编号,设备名称,型号,类别,购买日期,规格,数量,单价,购买人,生产厂家 from inserted

end


alter trigger 报修操作
on 报修
after insert
as
begin
	declare @EquipmentID as char(8)
	declare @EquipmentID2 as char(8)

	select @EquipmentID=inserted.设备编号,@EquipmentID2=inserted.设备ID from inserted

	update 设备详细编号 set 设备情况='维修' where @EquipmentID=设备编号 and @EquipmentID2=设备ID
	update 设备信息 set 当前剩余数量=当前剩余数量-1 where @EquipmentID=设备编号

end

--select * from 报修
--select * from 报废
--select * from 设备信息
--select * from 设备详细编号
drop trigger 报废操作
create trigger 报废操作
on 报废
after insert
as
begin
	
	declare @EquipmentID as char(8)
	declare @EquipmentID2 as char(8)

	select @EquipmentID=inserted.设备编号,@EquipmentID2=inserted.设备ID from inserted
	if '正常'=(select 设备情况 from 设备详细编号 where @EquipmentID=设备编号 and @EquipmentID2=设备ID)
	begin
		update 设备信息 set 当前剩余数量=当前剩余数量-1 where @EquipmentID=设备编号
	end
	update 设备详细编号 set 设备情况='报废' where @EquipmentID=设备编号 and @EquipmentID2=设备ID

end

alter trigger 设备借用
on 设备详细编号
after update
as
begin
	declare @EquipmentID as char(8)
	declare @EquipmentState as nvarchar(5)
	
	select @EquipmentID=inserted.设备编号,@EquipmentState=inserted.设备情况 from inserted
	if @EquipmentState='使用中'
	begin
	update 设备信息 set 当前剩余数量=当前剩余数量-1 where @EquipmentID=设备编号
	end
	if @EquipmentState='正常'
	begin
	update 设备信息 set 当前剩余数量=当前剩余数量+1 where @EquipmentID=设备编号
	end
end

select * from 设备详细编号  and 设备情况='正常'

select s1.设备编号,s1.设备ID,s1.实验室编号,s2.设备名称 from 设备详细编号 as s1 join 设备信息 as s2 on s1.设备编号=s2.设备编号 where s1.用户ID = '20180002'

select s1.设备编号,s1.设备ID,s2.设备名称,s2.类别,s2.生产厂家,s1.报修原因,s1.报修日期 from 报修 as s1 join 设备信息 as s2 on s1.设备编号=s2.设备编号
where s1.是否修复=0

alter trigger 修理完成
on 报修
after update
as
begin
	declare @EquipmentID as char(8)--大号
	declare @EquipemntNo as char(8)--小号
	
	select @EquipmentID=inserted.设备编号,@EquipemntNo=inserted.设备ID from inserted

	update 设备信息 set 当前剩余数量=当前剩余数量+1 where @EquipmentID=设备编号
	update 设备详细编号 set 设备情况='正常' where @EquipmentID=设备编号 and @EquipemntNo=设备ID


end

update 报修 set 维修日期=GETDATE(),维修人员='',维修费用='',是否修复=1 where 设备编号='' and 设备ID=''

select s1.报修ID,s1.设备编号,s1.设备ID,s2.设备名称,s1.报修日期,s1.维修日期,s1.维修费用,s1.报修原因 from 报修 as s1 join 设备信息 as s2 on s1.设备编号=s2.设备编号 where s1.是否修复=1 and 维修人员='赵一'

select * from 用户 where 用户权限<>'1'

delete  报修
delete  报废
delete  购买设备信息
delete  设备详细编号
delete  设备信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182290.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BeanUtils.copyProperties_java copyproperties

    BeanUtils.copyProperties_java copyproperties这里说的是spring的BeanUtils.copyProperties。场景开发中经常遇到,把父类的属性拷贝到子类中。通常有2种方法:1、一个一个set2、用BeanUtils.copyProperties很显然BeanUtils更加方便,也美观很多。那么任何情况都能使用BeanUtils么,当然不是。要先了解他。是深拷贝,还是浅拷贝?是浅拷贝。浅拷贝:只是调用子对象的set…

    2022年10月4日
    3
  • cbow模型详解_老C模型

    cbow模型详解_老C模型引言前面我分析了Word2vec的一种模型叫做skip-gram模型。在这篇文章中,我将讲述另一个word2vec模型——连续词袋模型(CBOW)模型。如果你理解skip-gram模型,那么接下来的CBOW模型就更好理解了,因为两者模型互为镜像。我们先来看看CBOW模型与skip-gram模型对比图:如何,这是不是镜像关系?所以接下来的讲解也会和skip-gram那篇文章极其类似。前向传播接

    2025年9月30日
    4
  • 微软edge浏览器无法访问此页面_0x80070035无法访问

    微软edge浏览器无法访问此页面_0x80070035无法访问转载于:https://www.cnblogs.com/real9527/p/6705752.html

    2025年11月23日
    3
  • 海思hi3516ev100开发板_海思V200

    海思hi3516ev100开发板_海思V2001安装ubunu14我的ubuntu14如下#uname-aLinuxubuntu4.4.0-142-generic#168~14.04.1-UbuntuSMPSatJan1911:26:28UTC2019x86_64x86_64x86_64GNU/Linux2软件包安装步骤1.配置默认使用bash执行sudodpkg-recon…

    2022年9月23日
    2
  • Java开发人员必须掌握的Linux命令(三)

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!学习应该是快乐的,在这个乐园中我努力让自己能用简洁易懂(搞笑有趣)的表达来讲解知识或者技术,让学习之旅充满乐趣,这就是写博文的初心。前面写了两篇Linux的命令介绍,地址1 地址2 ,前段时间看了哈利波特的一些电影,突然想到Linux的命令就像哈利波特电影中的魔法一样,都是有魔力的。那么学会Linux的这些命令,我…

    2022年2月28日
    46
  • robots.txt文件的作用

    robots.txt文件的作用Robots.txt文件的作用:1、屏蔽网站内的死链接。2、屏蔽搜索引擎蜘蛛抓取站点内重复内容和页面。3、阻止搜索引擎索引网站隐私性的内容。因此建立robots.txt文件是很有必要的,网站中重复的内容、页面或者404信息过多,搜索引擎蜘蛛就会认为该网站价值较低,从而降低对该网站的“印象分”,这就是我们经常听到的“降低权重”,这样网站的排名就不好了。robo

    2022年5月8日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号