学生借用教室管理系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

课程名称__数据库应用与设计____ 题目名称__学生借用教室管理系统

2013年12月15日

目录

No table of contents entries found.

一、概论及系统需求分析

对“学生活动借用教室管理系统”需求概述有如下几个方面:

首先,背景是现今大学生们都喜欢积极参加各式各样的学生活动来提高自己的综合素质,所以学生们借用教室来进行活动成为了在大学里最普遍的现象,但与此同时,学校中的“学生活动借用教室管理系统”却跟不上时代的步伐,管理系统没有得到很好的完善,学生们从中钻了不少空子。

问题是导致学校在管理借用教室的工作出现了不少问题。

目的是为了解决在管理过程中存在的种种问题,防止例如教室被违规使用等情况的出现,设计一个较为完善的“学生活动借用教室管理系统”数据库就成为解决问题的当务之急。

为了满足学校管理层有效管理的目的和学生需求,“学生活动借用教室管理系统”应该能够具备多种性能,比如:高效性,灵活性,实用性等。

“学生活动借用教室管理系统”主要如下:

1.学生活动借用教室登记处

学生活动借用教室现要进行相关信息的登记,申请表格式如下:(1)登记处需要将信息录入数据库系统,并对信息变化进行更改(2)查询教室空闲情况以及设施维修情况之后再安排教室给学生等

2.教室管理处

(1)安排教室维修人员值班,检查教室设施使用情况,登记设施出现问题和维修情况

(2)对学生活动期间使用教室记录,职工在记录的时候对教室查收需

登记表格式如下:

“学生借用教室管理系统”需求分析

教室借用管理工作如下:

1、数据的收集:

(1)需要进行学生活动借用教室登记:包括借用时间,学生姓名,学生学号等

(2)录入学生活动借用教室编号,借用时间等

(3)录入职工负责教室安排:包括工作人员职工号,职工姓名,负责教室编号等

(4)完成教室使用登记:记录职工信息,借用教室的学生学号等2、管理:

(1)系统的信息要及时更新,在借用教室完成之后要及时删除借用信息,以便学生教室借用

(2)教室的设施情况出现问题要在系统中进行及时的更新,用来作为教室能否被借用的参照条件之一。

3、查询工作

①查询可借用教室:能查询到教室借用情况,设施情况的教室的情况

②查询职工负责教室的人员安排

③查询教室设施情况信息

二、数据库概念结构设计

“学生借用教室管理系统”概念结构设计(E-R图)

通过使用PowerDesigner工具制作出如下六个相关的实体,联系,属性

学生活动借用教室登记处

分E-R图

管理记录处

分E-R图

整体的系统E-R图

三、数据库的逻辑结构设计

3.1 E-R图向关系模型的转化

3.2 用数据库建表并完成数据的完整性

建数据库的语句:create database 学生借用教室管理系统

在“学生借用教室管理系统”中建立模式语句是:create schema lyx 数据完整性分为四类:实体完整性(Entity Integrity)、域完整性(Domain Integrity)、参照完整性(Referential Integrity)、用户自定义完整性(User-definedIntegrity)。

实体完整性:在primary key定义的主属性不能为空值

域完整性:参照的属性都是一致的域取值

参照完整性:在职工表中,教室编号是参照了教室表中编号的属性,使用记录表中分别参照了职工表的工号和学生表的学号,学生表的借用教室编号参照了教室表中的编号,在关系图中可以看出四个表的参照关系符合了参照完整性

用户定义完整性:在四个表中出现了多个check的约束,这是用来限制值的域范围,在数据输入的时候需要考虑到check约束,否则插入数据不能完成。

3.3建表的脚本语句

USE [学生借用教室管理系统]

GO

/****** 对象: Table [lyx].[教室] 脚本日期: 12/30/2013 16:20:37 ******/ SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [lyx].[教室](

[编号] [char](30)NOT NULL,

[规模] [char](2)NULL,

[设施情况] [char](20)NULL,

PRIMARY KEY CLUSTERED

(

[编号] ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY =OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON [PRIMARY]

)ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** 对象: Table [lyx].[使用记录] 脚本日期: 12/30/2013 16:20:38

******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [lyx].[使用记录](

[序号] [int] NOT NULL,

[职工号] [char](10)NULL,

[学生号] [int] NULL,

PRIMARY KEY CLUSTERED

(

[序号] ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY =OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON [PRIMARY]

)ON [PRIMARY]

GO

SET ANSI_PADDING OFF

GO

/****** 对象: Table [lyx].[学生] 脚本日期: 12/30/2013 16:20:40 ******/ SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE [lyx].[学生](

[姓名] [char](30)NULL,

[学号] [int] NOT NULL,

[借用教室编号] [char](30)NULL,

[借用时间] [datetime] NULL DEFAULT(getdate()),

PRIMARY KEY CLUSTERED

相关文档
最新文档