实验室设备管理系统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 nullcreate 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 intdeclare @maker as nvarchar(20)
--设备大小号插入变量declare @pre_count as intdeclare @now_count as intselect @EquipmentID=inserted.设备编号,@LaboratoryID=inserted.实验室编号,@EquipmentName=inserted.设备名称,@Model=inserted.型号,@type=inserted.类别,@guige=inserted.规格,@count=inserted.数量,@maker=inserted.生产厂家 from insertedif not exists(select * from 设备信息 where @EquipmentID=设备编号)begininsert into 设备信息(设备编号,设备名称,型号,类别,规格,总数量,当前剩余数量,生产厂家) values(@EquipmentID,@EquipmentName,@Model,@type,@guige,@count,@count,@maker)endelsebeginupdate 设备信息 set 总数量=总数量+@count,当前剩余数量=当前剩余数量+@count where @EquipmentID=设备编号endselect @pre_count=count(*) from 设备详细编号 where @EquipmentID=设备详细编号.设备编号set @now_count=@pre_count+@countset @pre_count=@pre_count+1while @pre_count<=@now_countbegininsert into 设备详细编号(设备编号,设备ID,实验室编号) values(@EquipmentID,@pre_count,@LaboratoryID)set @pre_count = @pre_count+1endinsert into 购买设备信息(设备编号,实验室编号,设备名称,型号,类别,购买日期,规格,数量,单价,购买人,生产厂家) select 设备编号,实验室编号,设备名称,型号,类别,购买日期,规格,数量,单价,购买人,生产厂家 from insertedendalter trigger 报修操作
on 报修
after insert
as
begindeclare @EquipmentID as char(8)declare @EquipmentID2 as char(8)select @EquipmentID=inserted.设备编号,@EquipmentID2=inserted.设备ID from insertedupdate 设备详细编号 set 设备情况='维修' where @EquipmentID=设备编号 and @EquipmentID2=设备IDupdate 设备信息 set 当前剩余数量=当前剩余数量-1 where @EquipmentID=设备编号end--select * from 报修
--select * from 报废
--select * from 设备信息
--select * from 设备详细编号
drop trigger 报废操作
create trigger 报废操作
on 报废
after insert
as
begindeclare @EquipmentID as char(8)declare @EquipmentID2 as char(8)select @EquipmentID=inserted.设备编号,@EquipmentID2=inserted.设备ID from insertedif '正常'=(select 设备情况 from 设备详细编号 where @EquipmentID=设备编号 and @EquipmentID2=设备ID)beginupdate 设备信息 set 当前剩余数量=当前剩余数量-1 where @EquipmentID=设备编号endupdate 设备详细编号 set 设备情况='报废' where @EquipmentID=设备编号 and @EquipmentID2=设备IDendalter trigger 设备借用
on 设备详细编号
after update
as
begindeclare @EquipmentID as char(8)declare @EquipmentState as nvarchar(5)select @EquipmentID=inserted.设备编号,@EquipmentState=inserted.设备情况 from insertedif @EquipmentState='使用中'beginupdate 设备信息 set 当前剩余数量=当前剩余数量-1 where @EquipmentID=设备编号endif @EquipmentState='正常'beginupdate 设备信息 set 当前剩余数量=当前剩余数量+1 where @EquipmentID=设备编号end
endselect * 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.是否修复=0alter trigger 修理完成
on 报修
after update
as
begindeclare @EquipmentID as char(8)--大号declare @EquipemntNo as char(8)--小号select @EquipmentID=inserted.设备编号,@EquipemntNo=inserted.设备ID from insertedupdate 设备信息 set 当前剩余数量=当前剩余数量+1 where @EquipmentID=设备编号update 设备详细编号 set 设备情况='正常' where @EquipmentID=设备编号 and @EquipemntNo=设备IDendupdate 报修 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  设备信息

实验室设备管理系统SQL代码相关推荐

  1. 单车管理系统——1.文档设计及sql代码说明

    SQL server 设计 目录: 1.各个表的建立 2.级联操作 3.触发器和存储过程 4权限管理 注:由于表比较多,sql语句很长,所以下面的说明中每样只举一个或两个例子, 1.各个表的建立 表1 ...

  2. 基于Javaweb实现实验室设备管理系统

    项目编号:BS-XX-013 本项目基于JSP/Servlet技术实现开发,开发工具采用IDEA或ECLIPSE,数据库采用MYSQL数据库. 首次使用,需要进入src/com/util/DBOK 修 ...

  3. asp毕业设计—— 基于asp+access的实验室设备管理系统设计与实现(毕业论文+程序源码)——实验室设备管理系统

    基于asp+access的实验室设备管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的实验室设备管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  4. 捷信达会员管理系统SQL语句相关

    捷信达会员管理系统SQL语句相关 USE gshis GO SET ANSI_NULLS, QUOTED_IDENTIFIER ON GO/****************************** ...

  5. ssm实验室设备管理系统java,项目模板、毕业设计

    下载地址:ssm实验室设备管理系统项目模板.毕业设计-Web服务器文档类资源-CSDN下载 ├── ssm实验室设备管理系统 │   └── ssmd8y36 │       ├── db │     ...

  6. C语言课程设计-实验室设备管理系统

    设计要求 实验室设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号.设备名称.领用人.所属部门.数量.购买时间.价格等.能够完成 ...

  7. 计算机实验室设备管理系统,实验室设备管理系统总结

    原标题:实验室设备管理系统总结 系统的功能主要包括设备计划.采购.验收入库.档案资料.调入调出.维修报废等各个环节,都应加大改革步伐,努力实现管理工作现代化,采用一些新的管理方法和技术手段,才能使设备 ...

  8. Oracle如何代码编辑,配置UltraEdit为Oracle PL/SQL代码编辑器

    配置UltraEdit为Oracle PL/SQL代码编辑器[@more@] 将下文复制到UltraEdit的wordfile.txt的最后,就能实现UltraEdit中对PL/SQL文件语法突出显示 ...

  9. 《SQL与关系数据库理论——如何编写健壮的SQL代码》一第3章

    本节书摘来华章计算机<SQL与关系数据库理论--如何编写健壮的SQL代码>一书中的第3章 ,第3.1节 C. J. Date 著 单世民 何英昊 许侃 译 更多章节内容可以访问云栖社区&q ...

  10. 水电缴费系统php源码_简易水电费管理系统源程序代码

    简易水电费管理系统源程序代码 法一: #include #include #include struct member {char no[100]; char name[20]; char passw ...

最新文章

  1. 研究javascript中的this
  2. Kubernetes上领先的开源Serverless解决方案有哪些
  3. Go的异常处理 defer, panic, recover
  4. lighttpd防御 Slow HTTP Denial of Service Attack 解决办法
  5. Linux 进程状态【转】
  6. 计算机组成原理补充实验,计算机组成原理实验补充实验指导-实.doc
  7. 深度学习笔记(47) 神经风格迁移
  8. cms是什么意思啊_美团面试官问我:ZGC 的 Z 是什么意思?
  9. 经验分享:正则表达式生成器java
  10. 822C Hacker, pack your bags!
  11. 37. 重定向 21
  12. 【测试沉思录】7. 测试左移的一点思考
  13. IDEA、MySQL、SQLyog安装教程
  14. free, iostat, Linux, top, uptime, vmstat
  15. 15000 字的 MySQL 速查手册
  16. 联想拯救者Y700评测 怎么样
  17. 内存的分配与回收实验
  18. 从整体视角了解情感分析、文本分类!
  19. 类似于心理测试的游戏
  20. Django serializers.serialize 的使用

热门文章

  1. python求解中位数、均值、众数
  2. 怎么把计算机光盘盒弹出,台式电脑10怎么弹出光驱-光驱台式机机箱打开方法
  3. 软件构造笔记---Java的多态性
  4. matlab局部放大找交点,11.matlab找两条离散曲线的交点
  5. 郭天祥的10天学会51单片机_第二节
  6. 舵机控制 —— 一篇就够
  7. 通达信 移动平均算法_通达信擒龙攻防战法主图指标公式
  8. python数组a减去数组b的简便操作
  9. ARM64 LFS 11.1编译成功
  10. if 语句嵌套注意事项1