SQL Server数据库设计机房信息管理系统

更新时间:2024-06-01 22:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据库原理与应用》课程设计

—机房信息管理系统

班级:计算机11-2 学号:11041216 姓名:张文涛

成绩:

数据库名称: db_jfManage 说明:

(1)数据库中包含的数据表的个数及名称。 数据库中包含了6个表 如下:

tb_Computer(电脑表) tb_Jifang(机房表) tb_Manager(管理员表) tb_MJ( 管理员维护机房表) tb_TJ(教师使用机房表) (2)数据表结构设计需填写下表。

tb_Computer(电脑表) 字段名称 C_No C_IP C_MAC C_State C_Model C_Provider C_Update 数据类型 Char(7) Char(15) Char(12) Char(1) Varchar(20) Varchar(20) Datetime(8) 是否允许空值 约束 主键 电脑号 电脑IP MAC地址 电脑当前状态(1可用,0不可用) 电脑类型 电脑提供商 电脑安装日期 说明

tb_Jifang(机房表) 字段名称 J_No J_Num J_State J_Wangguan J_Marks 数据类型 Char(5) Varchar(50) Char(1) Varchar(15) Varchar(50) 是否允许空值 约束 主键 机房号 电脑数量 机房是否可用(1可用,0不可用) 机房网关 机房备注 说明

tb_Manager(管理员表) 字段名 M_No M_Name M_Sex M_Zhiwu M_Shenfenzheng 数据类型 Char(6) Varchar(20) Char(2) Varchar(50) Char(18) 是否允许空值 约束 主键 说明 管理员编号 管理员姓名 性别 职务 身份证 M_Xueli M_Tel M_Brithday Varchar(50) Char(11) Datetime √ 学历 电话号 出生日期

tb_MJ( 管理员维护机房表) 字段名称 MJ_No M_No J_No MJ_Time C_No MJ_Mark 数据类型 Int(4) Char(6) Char(5) Datetime Char(7) Varchar(50) × 是否允许空值 约束 主键 外键 外键 说明 维修编号 管理员编号 机房编号 维修时间 电脑编号 备注

tb_Teacher(教师表) 字段名称 T_No T_Name T_Sex T_Zhicheng T_Xueli T_Tel T_Brithday 数据类型 char(6) Varchar(20) Char(2) Varchar(20) Varchar(20) Char(11) Datetime 是否允许空值 约束 主键 说明 教师编号 教师姓名 性别 职称 学历 电话 出生日期

tb_TJ(教师表) 字段名称 TJ_No T_No J_No TJ_Use TJ_Record TJ_Mark Int Char(6) Char(5) Datetime Varchar(50) Varchar(50) 数据类型 是否允许空值 约束 主键 外键 外键 说明 使用编号 教师编号 机房编号 使用时间 使用记录 使用备注 (3)数据表记录需用图说明。

tb_Computer(电脑表)

tb_Jifang(机房表)

tb_Manager(管理员表)

tb_MJ( 管理员维护机房表)

tb_Teacher(教师表)

tb_TJ(教师使用记录表)

(4)数据表关系设计 要求:画E-R图。

IP 编号 MAC 状态 提供商 电脑 类型 安装时间 职务 性别 身份证 学历 电话号 姓名 出生日期 管理员 编号 管理员编号 维护编号 机房编号 电脑编号 维护时间 管理员维护 备注

机房电脑数 机房编号 机房状态 网关 备注 机房 性别 职称 学历 姓名 电话号 教师编号 教师信息 出生日期

机房编号 使用时间 使用记录 教师编号 使用编号 教师使用记录 备注

E-R 图

N 教师 隶属 1 管理员 1 1 管理 N 使用 N 机房 1 拥有 N 电脑

(5)数据库功能设计

1、功能:查询2010年以前管理员01的管理记录 源代码:use db_jfManage

go

select J_No as 维修机房,tb_MJ.C_No as 电脑编号,C_IP as 电脑IP,MJ_Time as 维修日期,MJ_Mark as 事项 from tb_MJ,tb_Computer where

tb_MJ.M_No

like

‘’

and

year(MJ_Time)<2010

and

tb_MJ.C_No=tb_Computer.C_No 结果

2、功能:查询从2013年10月以来 机房J2701的使用记录中有记录错误,显示教师信息,联系电话,教师编号 源代码:use db_jfManage go

select tb_TJ.T_No as 教师编号,tb_Teacher.T_Name as 教师姓名,tb_Teacher.T_Tel as 联系电话,TJ_Mark as 备注,TJ_Use as 使用日期 from tb_TJ,tb_Teacher

where TJ_Record=’不正常’ and tb_TJ.T_No=tb_Teacher.T_No and year(tb_TJ.TJ_Use)>=2013 and month(tb_TJ.TJ_Use)>10 结果:

3、功能:查询机房2715的电脑状态并分组显示,按照当前状态统计 源代码:use db_jfManage go

select C_IP as 电脑IP,C_MAC as MAC地址,C_Provider as 提供商,C_State as 当前状态 from tb_Computer

group by C_State,C_IP,C_MAC,C_Provider order by C_State

compute count(C_State) by C_State 结果:

4、功能:统计维修次数在2次以上的电脑,并显示IP,提供商,每次维修时间,原因,维修人员

源代码:use db_jfManage go

select C_IP as IP地址,C_Provider as 提供商,MJ_Time as 维修时间,MJ_Mark as 原因,M_name as 维修人员

from tb_Computer,tb_MJ,tb_Manager

where tb_Manager.M_No=tb_MJ.M_No and tb_Computer.C_No=tb_MJ.C_No group by tb_MJ.C_No,C_Provider,MJ_Time,MJ_Mark,M_Name ,C_IP having count(tb_MJ.C_No)>=2 结果:

5、创建存储过程:

实现能够添加的存储过程 代码及结果:

create procedure addC (

@CNo char(7), @CIP char(15), @CMAC char(12), @CState char(1), @CModel varchar(20), @CProvider varchar(20), @CUpdate smalldatetime ) as

begin

insert into tb_Computer(C_No,C_IP,C_MAC,C_State,C_Model,C_Provider,C_Update) values (@CNo,@CIP,@CMAC,@CState,@CModel,@CProvider,@CUpdate) begin

select * from tb_Computer where C_No=@CNo end end

6、创建自定义函数:

功能:实现电脑编号转换成对应机房的编号

代码: create function cnoConvert(@CNo varchar(7)) returns char(4) as begin

return substring(@CNo,2,5) end 结果:

7、功能:统计某提供商的电脑各个状态的数量

代码:create function getAll_Com(@provider varchar(10),@state char(1)) returns int as begin

--统计 哪个 牌子的电脑 各个状态的数量

return(select Count(C_IP) from tb_Computer where C_Provider=@provider and C_State=@state) end 结果:

本文来源:https://www.bwwdw.com/article/a8n6.html

Top