topcoder-取名软件破解版下载

99宿舍客服软件下载
2023年4月3日发(作者:分区表错误)

I

题目:

学生宿舍管理系统数据库设计

目录

1.系统需求分析阶段..................................................................................................................................1

1.1引言.................................................................................................................................................1

1.2目标与任务....................................................................................................................................1

1.2.1需求分析阶段的目标......................................................................................................1

1.2.2需求分析阶段的任务......................................................................................................1

1.2.3需求分析阶段成果..........................................................................................................3

2.概念设计阶段.........................................................................................................................................12

2.1引言...............................................................................................................................................12

2.2概念模型设计..............................................................................................................................12

II

2.3新系统流程..................................................................................................................................15

3.逻辑设计阶段.........................................................................................................................................16

3.1逻辑设计的任务和目标.............................................................................................................16

3.2数据组织........................................................................................................................................16

3.2.1将E-R图转换为关系模型............................................................................................16

3.2.2模型优化..........................................................................................................................17

3.2.3数据库模式定义.............................................................................................................18

3.2.4用户子模式设计.............................................................................................................18

3.3数据处理........................................................................................................................................18

4.物理设计阶段.........................................................................................................................................19

4.1物理设计阶段的目标与任务.....................................................................................................19

4.2数据存储方面...............................................................................................................................19

4.3系统功能模块...............................................................................................................................20

4.3.1楼道工人基本的信息查询和更新模块.....................................................................20

4.3.2宿舍楼基本信息的查询和更新模块.........................................................................21

4.3.3宿舍基本信息的查询和更新模块..............................................................................21

4.3.4学生基本信息的查询和更新模块..............................................................................22

4.3.5宿舍物品的查询和更新模块......................................................................................22

4.3.6宿舍事故的查询和更新模块......................................................................................23

4.3.7宿舍物品处理的查询和更新模块..............................................................................23

4.3.8宿舍保卫处基本信息的查询和更新模块.................................................................24

5.数据库实施阶段....................................................................................................................................24

5.1建立数据库、数据表、视图、索引........................................................................................24

5.1.1建立数据库.....................................................................................................................25

5.1.2建立数据表.....................................................................................................................25

5.1.3建立视图.........................................................................................................................29

5.1.4建立索引.........................................................................................................................31

5.2数据入库........................................................................................................................................31

5.3创建各个功能的存储过程.........................................................................................................31

6.系统调试和测试.................................................................................................错误!未定义书签。

附录1数据库逻辑结构定义....................................................................................................................33

附录2存储过程定义.................................................................................................................................37

附录3所有的SQL运行语句....................................................................................................................42

--

1

1.系统需求分析阶段

1.1引言

现在要开发的校食堂点餐系统,通过对校食堂的相应的实地考察,我们了解到学校的

食堂工作全是由人工服务,并且每天的食堂人流量多,导致每天的学生和老师的用餐时间

增多,且造成食堂空间拥挤,人员流动不通的弊病。为了使食堂的工作效率增加,学生的

所受的服务更加便捷和多元化,便设计此系统作为食堂和被服务者全新的合作方式。

1.2目标与任务

1.2.1需求分析阶段的目标

(1)了解目前食堂管理的现状以及SQLServer2000的功能和特点。

(2)通过实地调查和问答-记录的方式了解食堂管理的工作业务流程,并记录和处理

相关的数据。

1.2.2需求分析阶段的任务

(1)处理对象:

系统要处理的对象包括宿舍楼基本信息、学生基本信息、宿舍基本信息、楼道工作人

员基本信息、宿舍保卫处基本信息、宿舍事故基本信息、物品出入基本信息等七个方面,

各个对象包括信息如下所示(详细的数据见于数据字典):

1.宿舍楼基本信息(Dormitory):包括宿舍楼编号、宿舍楼所在校区、宿舍楼再校区

中区域、每一幢宿舍楼楼管处的电话、宿舍楼楼管员信息等方面,这样可以方便管理者对

宿舍楼的管理,提高查询效率;

2.学生基本信息(Student):包括学生编号、学生所在学院信息、学生姓名、学生性

别、学生来自省份、学生出生日期、学生入学时间、学生所学专业、所在班级等方面的信

息,可以方便学信息的查询和更新;

3.宿舍基本信息(Room,Fitment,FitmentDestruction,FitmentCompensate):宿舍基

本信息包括四个数据结构(宿舍信息(Room),宿舍物品信息(Fitment),宿舍物品损坏信息

(FitmentDestruction),宿舍损坏物品赔偿信息),每个数据结构中的数据项见数据字典;

4.楼道工作人员基本信息(Worker):包括工作人员编号、工作人员姓名、工作类型、

工资、性别、联系方式、工作时间等数据项,可以方便管理人员对宿舍楼道工人的任用、

信息查询及更改;

5.宿舍保卫处基本信息(SafeGuard):包括保卫处名称、人员数目、负责人信息、联系

电话等四方面的信息;

--

2

6.宿舍事故基本信息(Accident,AccidentResearch,AccidentCompensate):事故信息

包括三个数据结构(事故信息、事故处理信息、事故赔偿信息),具体的数据项见数据字典;

物品出入基本信息(ArticalInOut):包括出入物品的学生信息、出入的物品信息、出入物品

时的负责人信息、出入物品时间,尽量减少宿舍事故的发生,保障学生宿舍财产的安全。

(2)处理功能要求

系统主要完成以下几个功能:

1.新菜单。提供视化更完美,更清晰的菜品名单,让消费者能更清楚的了解今天的菜

品;

2.系统根据所提供的菜品的价钱,自动的搭配生成相应不同价位的各种套餐,合理定

义套餐名,且给出每种套餐所包含的维生素和所适应的人群。提供相应的查询服务,为方

便消费者提供服务;

3.系统提供交易平台让消费者进行套餐购买和支付,将购买信息反馈给食堂工作人员,

人员提供套餐给消费者;

4.宿舍保卫处基本信息的查询和修改;

5.宿舍事故基本信息及事故处理信息的查询和修改;

6.宿舍楼物品出入审批及记录;

(3)安全性和完整性要求

安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据

一定程度上的安全性,再通过用户授权机制,欲用户登陆来识别用户级别,根据这个级别

来分配用户权限,达到数据更高层次的安全保密功能。

完整性要求用于描述宿舍楼基本信息、学生基本信息、宿舍基本信息、楼道工作人员

基本信息、宿舍保卫处基本信息、宿舍事故基本信息、物品出入基本信息中数据项能否为

null,以及一些用户自定义完整性(符合实际要求),详细完整性要求见于系统的逻辑设计

阶段。

--

3

1.2.3需求分析阶段成果

(1)学生宿舍管理系统业务流程图

新生入住宿舍业务流程图:

查询业务流程图(查询宿舍学生信息、楼道工作人员信息、宿舍楼信息等):

--

4

毕业生离宿业务流程图:

楼道工作人员任用业务流程图:

宿舍楼物品出入业务流程图:

--

5

宿舍事故处理业务流程图:

(2)数据流程图

顶层数据流程图:

第2层数据流程图:从学生角度出发

--

6

第2层数据流程图:从管理者角度出发

第3层数据流程图:从新生角度出发

第3层数据流程图:从毕业生角度出发

--

7

第3层数据流程图:从宿舍楼物品出入出发

第3层数据流程图:从宿舍事故角度出入出发

第3层数据流程图:从楼道工作人员的任用角度出发

--

8

第3层数据流程图:从管理者和外来访客的角度出发

(3)数据字典

(a)数据项:系统涉及的数据项有71项

表1.1数据项列表

数据项编号数据项名数据项含义与其它数据项的关系存储结构别名

DI-1StuNo学生编号char(9)学号

--

9

数据项编号数据项名数据项含义与其它数据项的关系存储结构别名

DI-2DepName学生所在学院char(20)学院

DI-3StuName

学生姓名

char(10)

姓名

DI-4StuSex

学生性别

char(2)

性别

DI-5StuHome学生来自省份char(10)祖籍

DI-6StuBorth学生出生时间Date出生日期

DI-7StuETime学生入学时间Date入学时间

DI-8StuPerfect学生所在专业char(20)专业

DI-9StuClass

学生所在班级编号

Int

编号

DI-10WorNo

工作人员编号

char(5)

编号

DI-11WorName工作人员姓名char(10)姓名

DI-12WorType工作类型char(8)工作类型

DI-13WorWage工作人员工资Int月工资

DI-14WorSex工作人员性别char(2)性别

DI-15WorPhNo

工作人员联系方式

char(12)

电话

DI-16WorTime

工作人员工作时间

char(30)

工作时间

DI-17RNo宿舍编号char(6)舍号

DI-18RHeader舍长信息等于StuNamechar(10)舍长

DI-19ROne宿舍学生信息同上char(10)舍员

1

DI-20RTwo宿舍学生信息同上char(10)舍员

2

DI-21RThree

宿舍学生信息同上

char(10)

舍员3

DI-22RFour

宿舍学生信息同上

char(10)

舍员4

DI-23RFive

宿舍学生信息同上

char(10)

舍员5

DI-24RSix宿舍学生信息同上char(10)舍员6

DI-25RGrade宿舍学生所属年级等于StuETimechar(4)年级

DI-26RDepart宿舍学生所在学院等于DepNamechar(20)学院

DI-27RPerfect宿舍学生所学专业等于StuPerfectchar(20)专业

DI-28RClass

学生所在班级编号等于StuClass

char(2)

班级

DI-29DorNo

宿舍楼编号

smallint

宿舍楼号

DI-30DorCampus宿舍楼所属校区char(4)校区

DI-31DorLocation宿舍楼在校区位置char(4)宿舍区位

DI-32DorPhNo宿舍楼管处电话char(12)电话

DI-33DorAdminist宿舍楼楼管员信息等于WorNochar(10)楼管员

DI-34SGName

保卫处名称

char(15)

名字

DI-35SGWorNum

保卫处人员总数

Int

人员数目

DI-36SGHeader保卫处负责人信息char(10)负责人

DI-37SGPhone保卫处电话char(12)电话

DI-38FitName宿舍物品名称char(16)宿舍物品

DI-39FitPrice宿舍物品价格Float价格

--

10

数据项编号数据项名数据项含义与其它数据项的关系存储结构别名

DI-40FitNum每一种宿舍的数量Int数量

DI-41FDFitment

损坏物品信息等于FitName

char(16)

物品名

DI-42FDStudent

损坏的学生信息等于StuNo

char(9)

学生

DI-43FDRoom损坏物品宿舍信息等于RNochar(6)舍号

DI-44FDFitNum损坏物品的数量Int数量

DI-45FCompFit赔偿物品信息等于FitNamechar(16)物品名

DI-46FCompStu需赔偿学生信息等于StuNochar(9)学生

DI-47FCompMon

赔偿价格

Float

赔偿价格

DI-48FCompPrin

赔偿负责人信息等于WorNo

char(10)

负责人

DI-49FCompDate赔偿日期Date日期

DI-50FCompNum赔偿物品数量Int数量

DI-51AcNo事故编号int编号

DI-52AcType事故类型char(10)类型

DI-53AcArtical

事故损失物品

char(30)

物品名

DI-54AcArNum

事故损失物品数量

Int

数量

DI-55AcStu事故受害学生等于StuNochar(9)学生

DI-56AcDate事故发生日期Date日期

DI-57AcPrin事故负责人信息等于SGHeaderchar(15)负责人

DI-58AcStuPh受害人联系方式char(12)学生电话

DI-59AcVerify

事故是否属实

Bool

核查

DI-60

ARNo

事故调查编号

char(4)

编号

DI-61

ARName

事故调查名称

char(15)

调查

DI-62

ARPrin

事故调查负责人等于SGHeader

char(10)

负责人

DI-63

ARResult

事故调查结果

Bool

结果

DI-64

ACStu

事故赔偿学生信息等于StuNo

char(10)

学生

DI-65

ACArtical

事故赔偿物品信息

char(30)

物品名

DI-66

ACDate

事故赔偿日期

Date

日期

DI-67

ACPrin

事故赔偿负责单位等于SGHeader

char(15)

负责单位

DI-68

AIOStu

要求物品出入学生等于StuNo

char(10)

学生

DI-69

AIOArtical

出入物品信息

char(20)

物品名

DI-70

AIOPrin

出入物品审查人等于WorNo

char(10)

负责人

DI-71

AIODate

出入物品日期

Date

日期

DI-72

AIONo

物品出入序号

Int

序号

(b)数据结构:

--

11

表1.2数据结构列表

数据结

构编号

数据结构名

数据结构

含义

组成

DS-1Student

宿舍学生信息

StuNo,DepName,StuName,StuSex,StuHome

,

StuBorth,StuETime,StuPerfect,StuClass

DS-2Worker宿舍楼工作人员信息

WorTime,WorName,WorType,

WorWage,WorSex,WorPhNo,WorNo

DS-3Room宿舍信息

RNo,RHeader,ROne,RClass,

RThree,RFour,RFive,RSix,RGrade,

RDepart,RPerfect,RTwo,

DS-4Dormitory宿舍楼信息

DorNo,DorCampus,DorPhNo

DorLocation,DorAdminist

DS-5SafeGuard

宿舍保卫处信息

SGName,SGWorNum,SGHeader,SGPhone

DS-6Fitment

宿舍物品配备信息

FitName,FitPrice,FitNum

DS-7FitmentDestruction宿舍物品损坏信息FDFitment,FDStudent,FDRoom,FDFitNum

DS-8FitmentCompensate

宿舍损坏物品赔偿信

FCompFit,FCompStu,FCompPrin,

FCompDate,FCompNum

DS-9Accident

宿舍事故注册信息

AcNo,AcType,AcStu,AcDate,

AcArtical,AcVerify,AcPrin,

AcArNum,AcStuPh

DS-10AccidentResearch宿舍事故调查信息ARNo,ARName,ARPrin,ARResult

DS-11AccidentCompensate

事故损失物品赔偿信

ACStu,ACArtical,ACDate,ACPrin

DS-12ArticalInOut宿舍楼物品出入信息AIOStu,AIOArtical,AIOPrin,AIODate,AIONo

(4)处理逻辑描述(判定表或判定树)

表1.3处理逻辑列表

--

12

判定条件决策

判断用户查询涉及的功能模块

宿舍基本信息模块、宿舍楼基本信息模块、学生基本信息模块、

宿舍楼配备物品基本信息模块、宿舍事故基本信息模块、宿舍

楼物品出入基本信息模块、宿舍楼保卫处基本信息模块、楼道

工人基本信息模块:先确定查询所涉及的功能模块;然后,确

定要查询的内容,确定查询数据流向;最后显示查询结果。

判断用户修改要涉及的模块,同

时把相应的修改数据传到相应的

模块之中

宿舍基本信息模块、宿舍楼基本信息模块、学生基本信息模块、

宿舍楼配备物品基本信息模块、宿舍事故基本信息模块、宿舍

楼物品出入基本信息模块、宿舍楼保卫处基本信息模块、楼道

工人基本信息模块:先确定更新所涉及的功能模块;然后,把

更新信息传送到相应的模块中;最后,进行相应的更新操作。

2.概念设计阶段

2.1引言

概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过

程,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段。

2.2概念模型设计

(1)根据不同的对象,从第3层数据流程图(中层数据流程图)入手,分别画出分E-R

图:

(a)从数据流程图图2.4与图2.5抽象出的分E-R图:

图3.1分E-R图1

图3.2分E-R图2

--

13

图3.3分E-R图3

(b)从数据流程图图2.6与图2.8抽象出的分E-R图:

图3.4分E-R图4

(c)从数据流程图图2.7抽象出的分E-R图:

图3.5分E-R图5

(2)各分E-R图中每个实体的属性如下所示:

学生:Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,

StuPerfect,StuClass);

宿舍:Room(RNo,RHeader,ROne,RClass,RThree,RFour,RFive,RSix,

RGrade,RDepart,RPerfect,RTwo);

宿舍楼:Dormitory(DorNo,DorCampus,DorLocation,DorPhNo,DorAdminist);

宿舍物品:Fitment(FitName,FitPrice,FitNum);

楼道工作人员:Worker(WorNo,WorName,WorType,WorWage,WorSex,

WorPhNo,WorTime);

保卫处:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);

各分E-R图中联系的属性如下所示:

物品出入:ArticalInOut(AIONo,AIOStu,AIOArtical,AIOPrin,AIODate);

宿舍物品处理:包含物品损坏和物品赔偿两个数据结构(将在逻辑设计阶段给出);

事故:包含宿舍事故注册、宿舍事故调查、事故损失物品赔偿三个数据结构(具体的

结构将在系统逻辑设计阶段给出)。

--

14

(3)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R

图,再消除不必要冗余,得到的基本E-R图如下所示:

图3.6基本E-R图

食堂

窗口

学生

员工

订餐

销售

收入

学生

评价

包含

隶属

包含

销售

送餐

外卖

就餐

评价

1

1

隶属

1

1

n

n

1

n

1

1

mn

m

n

m

n

1

1

--

15

2.3新系统流程

新系统流程图:

--

16

3.逻辑设计阶段

3.1逻辑设计的任务和目标

以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的

DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转

换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将

E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出

系统功能模块图)两大任务

3.2数据组织

3.2.1将E-R图转换为关系模型

由于宿舍楼与楼道工人的联系方式是1:n(一对多),可以将其之间的联系与n端实体

楼道工人合并,宿舍楼与宿舍之间的联系、宿舍与学生之间的联系方式也是1:n,同样也

将其之间的联系与n端实体宿舍、学生合并,而宿舍物品与学生、学生与楼道工作人员之

间的联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,保卫

--

17

处与学生之间的联系是1:n(一对多),但是它们之间的联系事故则包含数据结构,为了便

于模型优化,将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如

下:

楼道工人:Worker(WorNo,WorName,WorType,WorWage,WorSex,

WorPhNo,WorTime,DorNo,DorCampus,DorLocation);

宿舍楼:Dormitory(DorNo,DorCampus,DorLocation,DorPhNo,DorAdminist);

宿舍:Room(RNo,RHeader,ROne,RClass,RThree,RFour,RFive,RSix,

RGrade,RDepart,RPerfect,RTwo,DorNo,DorCampus,DorLocation);

宿舍物品:Fitment(FitName,FitPrice,FitNum,DorNo,DorCampus,DorLocation);

学生:Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,

StuPerfect,StuClass,RNo,DorNo,DorCampus,DorLocation);

保卫处:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);

物品出入:ArticalInOut(AIONo,StuNo,AIOArtical,AIOPrin,AIODate,DorNo,

DorCampus,DorLocation);

宿舍物品处理包含两个数据结构(宿舍物品损坏信息,宿舍物品损坏赔偿信息),基于表的

各个属性都是原子项的考虑,现将宿舍物品处理分解为:宿舍物品损坏、宿舍损坏物品赔

偿,具体如下:

宿舍物品损坏:FitmentDestruction(FitName,StuNo,RNo,FDFitNum,DorNo,

DorCampus,DorLocation);(消除命名冲突)

宿舍物品损坏赔偿:FitmentCompensate(FitName,StuNo,FCPrin,FCompDate,

FCompNum);(消除命名冲突)

宿舍事故包含三个数据结构(宿舍事故注册信息、宿舍事故调查信息、宿舍事故损失物

品赔偿信息),同样基于表的原子性的考虑也将事故分解为:事故注册、事故调查、

事故赔偿,具体如下:

事故注册:Accident(AcNo,AcType,StuNo,AcDate,AcArtical,AcVerify,SGName,

AcArNum,AcStuPh);

事故调查:AccidentResearch(AcNo,ARName,SGName,ARResult);

事故赔偿:AccidentCompensate(AcNo,ACStu,AcArtical,ACDate,SGName);

(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主

码)

3.2.2模型优化

关系模式Worker,Dormitory,Fitment,SafeGuard,ArticalInOut,FitmentDestruction,

FitmentCompensate,Accident,AccidentResearch,AccidentCompensate不存在非主

属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是宿舍关系

模式(Room)中存在着一些不应该有的数据冗余,现将模型优化为:

Room(RNo,RHeader,RGrade,RDepart,RPerfect,DorNo,DorCampus,

DorLocation);虽然Room中还存在一些数据冗余,但可以提高查询效率。

--

18

3.2.3数据库模式定义

表2.1数据库模式定义表

编号逻辑结构(基本表)定义完整性和安全性

T-1Worker(详见附录1-1)(详见附录1-1)

T-2Dormitory(详见附录1-2)(详见附录

1

2

T-3Room(详见附录1-3)(详见附录

1

3

T-4Fitment(详见附录1-4)(详见附录

1

4

T-5Student(详见附录1-5)(详见附录1-5)

T-6SafeGuard(详见附录1-6)(详见附录1-6)

T-7ArticalInOut(详见附录1-7)(详见附录1-7)

T-8FitmentDestruction(详见附录1-8)(详见附录

1

8

T-9FitmentCompensate(详见附录1-9)(详见附录

1

9

T-10Accident(详见附录1-10)(详见附录

1

10

T-11AccidentResearch(详见附录1-11)(详见附录1-11)

T-12AccidentCompensate(详见附录1-12)(详见附录1-12)

3.2.4用户子模式设计

表2.2用户子模式设计(View)列表

编号用户子模式

(View)

作用(共性:提供数据保密和安全保护机制)

V-1WorView便于查询和修改楼道工人的基本信息

V-2DormView方便宿舍楼的基本信息的查询、更新

V-3

RoomView

以便于宿舍的基本信息的查询和更新

V-4

FitView

用于宿舍楼配备物品的基本信息的查询

V-5StuView便于查询和更改学生的基本信息

V-6SGView方便学生查询宿舍保卫处的基本信息

V-7ArIOView以便于物品出入的管理和信息的查询、更改

V-8FDView便于宿舍物品损坏的的登记及处理和信息的查询

V-9

FCView

查询损坏物品赔偿的基本信息,便于宿舍物品的管理

V-10

AccView

方便学生事故的注册及保卫人员对事故注册的查询

V-11ARView便于学生查询宿舍事故调查的基本信息

V-12ACView方便宿舍事故赔偿的信息查询和更新

3.3数据处理

--

19

系统功能模块图:

图4.1系统功能模块图

4.物理设计阶段

4.1物理设计阶段的目标与任务

数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,

在这个阶段中要完成两大任务:

(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;

(2)对物理结构进行评价,评价的重点是时间和空间效率。

4.2数据存储方面

为数据库中各基本表建立的索引如下:

食堂管理系统

--

20

1.由于基本表Room,Student的主码RNo,StuNo经常在查询条件和连接操作的连

接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引;

ory的主码DorNo,DorCampus,DorLocation经常在查询条件中出现,且

它们的组合值唯一,考虑在它们之上建立组合索引;

3.基本表Student的一属性StuName,经常在查询条件中出现,且经常出现在相等

的比较条件中,考虑在其之上建立聚簇索引;

4.基本表Fitment、SafeGuard的属性值几乎不会有什么变化,更新率很低,可考虑

适当建立索引;

5.基本表Worker,ArticalInOut,FitmentDestruction,FitmentCompensate,

Accident,AccidentResearch,AccidentCompensate的属性值经常发生变化,权

衡系统为维护索引付出的代价,可考虑不建立索引,也可以适当建立索引。

4.3系统功能模块

4.3.1楼道工人基本的信息查询和更新模块

将实现对楼道工人基本信息的查询和更新(修改、插入、删除)操作,方便于楼道工

人的任用和更换,具体的功能模块图如下:

图4.2楼道工人基本信息的查询、更新功能模块图

(注:表示系统给用户的信息,以下与此相同)

--

21

4.3.2宿舍楼基本信息的查询和更新模块

将完成对宿舍楼基本信息的查询、更新(修改、插入、删除)操作,便于宿舍的集中

管理,具体的功能模块图如下所示:

图4.3宿舍楼基本信息的查询、更新功能模块图

4.3.3宿舍基本信息的查询和更新模块

将达到对宿舍基本信息的查询、更新(修改、插入、删除)操作的目的,具体的功能

模块图如下所示:

--

22

图4.4宿舍基本信息的查询、更新功能模块图

4.3.4学生基本信息的查询和更新模块

将完成对学生基本信息的查询和插入、删除、修改等更新操作,具体的功能模块如下

所示:

图4.5宿舍学生基本信息的查询、更新功能模块图

4.3.5宿舍物品的查询和更新模块

将实现对宿舍物品基本信息的查询、插入、删除、修改等操作,以方便于宿舍物品的

配备,具体的功能模块图如下:

--

23

图4.6宿舍物品基本信息的查询、更新功能模块图

4.3.6宿舍事故的查询和更新模块

将实现对宿舍事故的插入和更新操作,方便宿舍事故的快速处理,及时了解事故处理

的结果,具体的功能模块图如下:

图4.7宿舍事故基本信息的查询、更新功能模块图

4.3.7宿舍物品处理的查询和更新模块

将完成对宿舍物品处理基本信息的查询、插入、删除、修改等操作,方便于宿舍物品

的处理,具体的功能模块图如下所示:

--

24

图4.8宿舍物品处理基本信息的查询、更新功能模块图

4.3.8宿舍保卫处基本信息的查询和更新模块

将实现对宿舍保卫处基本信息的查询和更新(包括更改、插入、删除)操作,方便于

宿舍意外事故的处理,具体的功能模块图如下:

图4.9宿舍楼保卫处基本信息的查询、更新功能模块图

5.数据库实施阶段

5.1建立数据库、数据表、视图、索引

--

25

5.1.1建立数据库

createdatabaseStudent_Dormitory_Management;

5.1.2建立数据表

(1)楼道工人基本信息表的建立:

createtableWorker(

WorNochar(5)notnullunique,

WorNamechar(10)notnull,

WorTypechar(8)notnull,

WorWageintnotnull,

WorSexchar(2)notnull,

WorPhNochar(12)null,

WorTimechar(30)null,

DorNosmallintnotnull,

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

primarykey(WorNo),

foreignkey(DorNo,DorCampus,DorLocation)references

Dormitory(DorNo,DorCampus,DorLocation),

check(WorWage>=0),

check(WorSex=‘男’orWorSex=‘女’));

(2)宿舍楼基本信息表的建立:

createtableDormitory(

DorNosmallintnotnull,

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

DorPhNochar(12)null,

DorAdministchar(10)null,

primarykey(DorNo,DorCampus,DorLocation),

check(DorNo>0andDorNo<100));

(3)宿舍基本信息表的建立:

createtableRoom(

RNochar(6)notnullunique,

RHeaderchar(10)null,

RGradechar(4)notnull,

RDepartchar(20)notnull,

RPerfectchar(20)notnull,

DorNosmallintnotnull,

--

26

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

primarykey(RNo),

foreignkey(DorNo,DorCampus,DorLocation)references

Dormitory(DorNo,DorCampus,DorLocation));

(4)宿舍楼配备物品基本信息表的建立:

createtableFitment(

FitNamechar(16)notnullunique,

FitPricefloatnotnull,

FitNumintnotnull,

DorNosmallintnotnull,

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

primarykey(FitName),

foreignkey(DorNo,DorCampus,DorLocation)references

Dormitory(DorNo,DorCampus,DorLocation));

(5)宿舍学生基本信息表的建立:

createtableStudent(

StuNochar(9)notnullunique,

DepNamechar(20)notnull,

StuNamechar(10)notnull,

StuSexchar(2)notnull,

StuHomechar(10)notnull,

StuBorthDatetimenotnull,

StuETimeDatetimenotnull,

StuPerfectchar(20)notnull,

StuClassintnotnull,

RNochar(6)notnull,

DorNosmallintnotnull,

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

primarykey(StuNo),

foreignkey(RNo)referencesRoom(RNo),

foreignkey(DorNo,DorCampus,DorLocation)references

Dormitory(DorNo,DorCampus,DorLocation),

check(StuClass>0andStuClass<=10));

(6)宿舍保卫处基本信息表的建立:

createtableSafeGuard(

SGNamechar(15)notnullunique,

SGWorNumintnotnull,

--

27

SGHeaderchar(10)notnull,

SGPhonechar(12)null,

primarykey(SGName),

check(SGWorNum>0));

(7)宿舍楼物品出入基本信息表的建立:

createtableArticalInOut(

StuNochar(9)notnull,

AIOArticalchar(16)null,

AIOPrinchar(9)notnull,

AIODatedatetimenotnull,

AIONointnotnullunique,

DorNosmallintnotnull,

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

primarykey(AIONo,AIODate),

foreignkey(StuNo)referencesStudent(StuNo),

foreignkey(AIOPrin)referencesWorker(WorNo),

foreignkey(DorNo,DorCampus,DorLocation)references

Dormitory(DorNo,DorCampus,DorLocation),

check(AIONo>0));

(8)宿舍配备物品损坏基本信息表的建立:

createtableFitmentDestruction(

FitNamechar(16)notnullunique,

StuNochar(9)notnull,

RNochar(6)notnull,

FDFitNumintnotnull,

DorNosmallintnotnull,

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

foreignkey(DorNo,DorCampus,DorLocation)references

Dormitory(DorNo,DorCampus,DorLocation),

foreignkey(FitName)referencesFitment(FitName),

foreignkey(StuNo)referencesStudent(StuNo),

foreignkey(RNo)referencesRoom(RNo),

check(FDFitNum>=0));

(9)宿舍损坏配备物品赔偿基本信息表的建立:

createtableFitmentCompensate(

FitNamechar(16)notnull,

StuNochar(9)notnull,

FCPrinchar(15)notnull,

--

28

FCompDateDatetimenotnull,

FCompNumintnotnull,

foreignkey(FitName)referencesFitment(FitName),

foreignkey(StuNo)referencesStudent(StuNo),

foreignkey(FCPrin)referencesSafeGuard(SGName),

check(FCompNum>=0));

(10)宿舍事故注册基本信息表的建立:

createtableAccident(

AcNointnotnullunique,

AcTypechar(10)notnull,

StuNochar(9)notnull,

AcDatedatetimenotnull,

AcArticalchar(30)notnull,

AcVerifyboolnull,

SGNamechar(15)notnull,

AcArNumintnotnull,

AcStuPhchar(12)notnull,

primarykey(AcNo,AcDate),

foreignkey(StuNo)referencesStudent(StuNo),

foreignkey(SGName)referencesSafeGuard(SGName),

check(AcArNum>0),);

(11)宿舍事故调查基本信息表的建立:

createtableAccidentResearch(

AcNointnotnull,

ARNamechar(15)notnull,

SGNamechar(15)notnull,

ARResultboolnotnull,

primarykey(SGName),

foreignkey(AcNo)referencesAccident(AcNo),

foreignkey(SGName)referencesSafeGuard(SGName),);

(12)宿舍事故赔偿基本信息表的建立:

createtableAccidentCopensate(

AcNointnotnull,

ACStuchar(9)notnull,

AcArticalchar(30)notnull,

AcDateDatetimenotnull,

SGNamechar(15)notnull,

foreignkey(AcNo)referencesAccident(AcNo),

foreignkey(ACStu)referencesStudent(StuNo),

foreignkey(SGName)referencesSafeGuard(SGName));

--

29

5.1.3建立视图

(1)用于查询和更新楼道工人基本信息的视图定义如下:

createviewWorView(编号,姓名,工作类型,工资,性别,联系方式,

工作时间,宿舍楼编号,校区,区位)

as

select*

fromWorker

withcheckoption;

(2)方便于宿舍楼基本信息查询、更新的视图定义如下:

createviewDormView(宿舍楼编号,校区,区位,楼管处电话,楼管)

as

select*

fromdormitory

withcheckoption;

(3)显示宿舍基本信息的视图定义如下:

createviewRoomView(宿舍编号,舍长,年级,学院,专业,宿舍楼编号,

校区,区位)

as

select*

fromRoom

withcheckoption;

(4)可用于宿舍楼配备物品基本信息查询、更新的视图定义如下:

createviewFitView(物品名,价格,数量,宿舍楼编号,校区,区位)

as

select*

fromFitment

withcheckoption;

(5)用于查询和更新学生基本信息的视图定义如下:

createviewStuView(学号,学院,姓名,性别,祖籍,出生日期,入学时间,

专业,班级,宿舍编号,宿舍楼编号,校区,区位)

as

select*

fromStudent

withcheckoption;

(6)显示宿舍保卫处基本信息的视图定义如下:

createviewSGView(名称,人员数目,负责人,电话)

as

select*

--

30

fromSafeGuard

withcheckoption;

(7)以便于物品出入管理和出入物品信息查询、更新的视图定义如下:

createviewArIOView(学号,出入物品,负责人,日期,序号,宿舍楼编号,

校区,区位)

as

select*

fromArticalInOut

withcheckoption;

(8)便于宿舍配备物品损坏登记及损坏宿舍物品查询的视图定义如下:

createviewFDView(物品名,学号,宿舍号,损坏数量,宿舍楼编号,校区,

区位)

as

select*

fromFitmentDestruction

withcheckoption;

(9)用于查询损坏物品赔偿基本信息,便于宿舍物品管理的视图定义如下:

createviewFCView(物品名,学号,负责人,日期,赔偿数量)

as

select*

fromFitmentCompensate

withcheckoption;

(10)方便学生事故的注册及保卫人员对事故注册查询的视图定义如下:

createviewAccView(编号,事故类型,学号,日期,损失物品,属实,

负责单位,损失数量,学生联系方式)

as

select*

fromAccident

withcheckoption;

(11)便于宿舍以外事故调查的视图定义如下:

createviewARView(编号,调查名称,负责单位,调查结果)

as

select*

fromAccidentResearch

withcheckoption;

(12)方便宿舍事故赔偿信息查询和更改的视图定义如下:

createviewACView(编号,学号,赔偿物品,日期,负责单位)

as

select*

fromAccidentCompensate

--

31

withcheckoption;

5.1.4建立索引

createuniqueindexStudentNoonStudent(StuNo);

createuniqueindexRoomNoonRoom(RNo);

createuniqueindexDormitoryNo_Campus_Location

onDormitory(DorNodesc,DorCampus,DorLocation);

createclusterindexStudentNameonStudent(StuName);

createuniqueindexFitmentNameonFitment(FitName);

createuniqueindexSafeGuardNameonSafeGuard(SGName);

5.2数据入库

系统包括宿舍学生基本信息管理、楼道工人基本信息管理、宿舍楼基本信息管理、宿舍

基本信息管理、宿舍事故基本信息管理、宿舍楼物品出入基本信息管理、宿舍楼保卫处基

本信息管理、宿舍配备物品及处理管理等八大功能模块,共有12张基本表,牵涉到大量数

据的录入,又由于时间限制,采用事先在Excel中录入数据,然后使用SQLServer2000数据导

入/导出向导功能,直接将数据导入到相应的基本表中。当然,附录中也给出了各个基本表

插入元组的存储功能,详细内容请参阅附录2。

5.3创建各个功能的存储过程(参考)

系统共创建了16个存储过程,具体列表如下:

表3.1创建的存储过程列表:

编号存储过程名称定义作用

P-1p1_Worker_Insert详见附录2-1在Worker中插入一元组

P-2p2_Dormitory_Insert详见附录2-2在Dormitory中插入一元组

P-3p3_Room_Insert详见附录2-3在Room中插入一元组

P-4p4_Fitment_Inser

详见附录2-4在Fitment中插入一元组

P-5p5_Student_Insert

详见附录2-5在Student中插入一元组

P-6p6_SafeGuard_Insert

详见附录2-6在SafeGuard中插入一元组

P-7p7_Artical_In_Out_Insert详见附录2-7在ArticalInOut中插入一元组

P-8p8_FitmentDestruction_Insert详见附录2-8在FitmentDestruction中插入一元组

P-9p9_FitmentCompensate详见附录2-9在FitmentCompensate中插入一元组

P-10p10_Accident_Insert

详见附录2-10在Accident中插入一元组

--

32

P-11p11_AccidentResearch_Insert详见附录2-11在AccidentResearch中插入一元组

P-12p12_AccidentCompensate_Insert

详见附录2-12在AccidentCompensate中插入一元组

P-13p13_Query_Worker

详见附录2-13在Worker中匹配(WorNo)查询

P-14p14_Query_Worker详见附录2-14在Worker中匹配(WorName)查询

P-15p15_Delete_Worker详见附录2-15在Worker中删除元组

P-16p16_Update_Worker详见附录2-16在Worker中更新操作

(其他表的查询、修改、删除与Worker表的大致相同,这里不再具体列出)

--

33

附录1数据库逻辑结构定义

1.楼道工人(Worker)基本信息表,用于记录楼道工人的基本信息:

表2.3楼道工人基本信息表

属性名数据类型取值范围是否是主属性或外键完整性

WorNochar(5)00000~99999是Notnull

WorNamechar(10)否Notnull

WorTypechar(8)

Notnull

WorWageInt

大于500(元/月)否

Notnull

WorSexchar(2)

男、女否

Notnull

WorPhNochar(12)否Null

WorTimechar(30)否Null

DorNosmallint00~99是Notnull

DorCampuschar(4)

四面八方其中之一是

Notnull

DorLocationchar(4)

四面八方其中之一是

Notnull

2.宿舍楼(Dormitory)基本信息表,用于记录宿舍楼的基本信息:

表2.4宿舍楼基本信息表

属性名数据类型取值范围是否是主属性或外键完整性

DorNosmallint00~99是Notnull

DorCampuschar(4)四面八方其中之一是Notnull

DorLocationchar(4)四面八方其中之一是Notnull

DorPhNochar(12)

Null

DorAdministchar(10)

Null

3.宿舍(Room)基本信息表,用于记录宿舍的基本信息:

表2.5宿舍基本信息表

属性名数据类型取值范围是否是主属性或外键完整性

RNochar(6)01-001~99-999是Notnull

RHeaderchar(10)否Null

RGradechar(4)

Notnull

RDepartchar(20)

Notnull

RPerfectchar(20)

Notnull

DorNosmallint00~99是Notnull

DorCampuschar(4)四面八方其中之一是Notnull

DorLocationchar(4)四面八方其中之一是Notnull

--

34

4.宿舍楼配备物品(Fitment)基本信息表,用于记录宿舍楼配备物品的基本信息:

表2.6宿舍配备物品基本信息

属性名数据类型取值范围是否是主属性或外键完整性

FitNamechar(16)

Notnull

FitPricefloat大于0否Notnull

FitNumInt大于0否Notnull

DorNosmallint00~99是Notnull

DorCampuschar(4)

四面八方其中之一是

Notnull

DorLocationchar(4)

四面八方其中之一是

Notnull

5.宿舍学生(Student)基本信息表,用于记录宿舍学生的基本信息:

图2.7宿舍学生基本信息

属性名数据类型取值范围是否是主属性或外键完整性

StuNochar(9)00000000~999999999是Notnull

DepNamechar(20)否Notnull

StuNamechar(10)否Notnull

StuSexchar(2)

男、女否

Notnull

StuHomechar(10)

Notnull

StuBorthdatetime

Notnull

StuETimedatetime否Notnull

StuPerfectchar(20)否Notnull

StuClassint大于0小于10否Notnull

RNochar(6)

01-001~99-999是

Notnull

DorNosmallint

00~99是

Notnull

DorCampuschar(4)

四面八方其中之一是

Notnull

DorLocationchar(4)四面八方其中之一是Notnull

6.宿舍保卫处(SafeGuard)基本信息表,用于记录保卫处的基本信息:

图2.8宿舍保卫处基本信息

属性名数据类型取值范围是否是主属性或外键完整性

SGNamechar(15)是Notnull

SGWorNumint

大于0否

Notnull

SGHeaderchar(10)

Notnull

SGPhonechar(12)

Null

7.宿舍楼物品出入(ArticalInOut)基本信息表,用于记录物品出入的基本信息:

图2.9宿舍楼物品出入基本信息

属性名数据类型取值范围是否是主属性或外键完整性

StuNochar(9)00000000~999999999是Notnull

--

35

属性名数据类型取值范围是否是主属性或外键完整性

AIOArticalchar(16)否Null

AIOPrinchar(9)

Notnull

AIODatedatetime

Notnull

AIONoInt大于0是Notnull

DorNosmallint00~99是Notnull

DorCampuschar(4)四面八方其中之一是Notnull

DorLocationchar(4)四面八方其中之一是Notnull

8.宿舍配备物品损坏(FitmentDestruction)基本信息表,用于记录物品损坏的基本信息:

图2.10宿舍配备物品损坏基本信息

属性名数据类型取值范围是否是主属性或外键完整性

FitNamechar(16)

Notnull

StuNochar(9)00000000~999999999是Notnull

RNochar(6)01-001~99-999是Notnull

FDFitNumInt大于等于0否Notnull

DorNosmallint00~99是Notnull

DorCampuschar(4)

四面八方其中之一是

Notnull

DorLocationchar(4)

四面八方其中之一是

Notnull

9.宿舍配备物品损坏赔偿(FitmentCompensate)基本信息表,记录损坏物品赔偿的基本信息:

图2.11宿舍配备物品损坏赔偿基本信息

属性名数据类型取值范围是否是主属性或外键完整性

FitNamechar(16)

Notnull

StuNochar(9)

00000000~999999999是

Notnull

FCPrinchar(10)是Notnull

FCompDatedatetime否Notnull

FCompNumint大于等于0否Notnull

10.宿舍事故注册(Accident)基本信息表,用于记录宿舍事故注册的基本信息:

2.12宿舍事故注册基本信息

属性名数据类型取值范围是否是主属性或外键完整性

AcNoint0000~9999

Notnull

AcTypechar(10)

Notnull

StuNochar(30)00000000~999999999

Notnull

AcDatedatetime是Notnull

AcArticalchar(30)否Notnull

AcVerifybool否Null

--

36

属性名数据类型取值范围是否是主属性或外键完整性

SGNamechar(15)是Null

AcArNumint大于等于0否Notnull

AcStuPhchar(12)

Null

11.宿舍事故调查(AccidentResearch)基本信息表,用于记录宿舍事故调查的基本信息:

图2.13事故调查基本信息

属性名数据类型取值范围是否是主属性或外键完整性

AcNoint0000~9999是Notnull

ARNamechar(15)是Notnull

SGNamechar(15)是Notnull

ARResultbool否Notnull

12.宿舍事故赔偿(AccidentCompensate)基本信息表,用于记录宿舍事故赔偿的基本信息:

图2.14宿舍事故赔偿基本信息

属性名数据类型取值范围是否是主属性或外键完整性

AcNoint0000~9999

Notnull

ACStuchar(10)00000000~999999999是Notnull

AcArticalchar(30)否Notnull

ACDatedatetime否Notnull

SGNamechar(15)是Notnull

--

37

附录2存储过程定义

1.p1_Worker_Insert的定义:

CREATEPROCEDUREp1_Worker_Insert

@worker_nochar(5),

@worker_namechar(10),

@work_typechar(8),

@work_wageint,

@worker_sexchar(2),

@work_timechar(30),

@dormitory_nosmallint,

@dormitory_campuschar(4),

@dormitory_locationchar(4)

as

insertintoWorker

values(@worker_no,@worker_name,@work_type,@work_wage,@worker_sex,

@work_time,@work_time,@dormitory_no,@dormitory_campus,

@dormitory_location);

2.p2_Dormitory_Insert

的定义

:

createprocedurep2_Dormitory_Insert

@dormitory_nosmallint,

@dormitory_campuschar(4),

@dormitory_locationchar(4),

@dormitory_phonechar(12),

@dormitory_administerchar(10)

as

insertintoDormitory

values(@dormitory_no,@dormitory_campus,@dormitory_location,

@dormitory_phone,@dormitory_administer);

3.p3_Room_Insert

的定义

:

createprocedurep3_Room_Insert

@room_nochar(6),

@room_headerchar(10),

@roomer_gradechar(4),

@roomer_departmentchar(20),

@roomer_perfectionchar(20),

@dormitory_nosmallint,

@dormitory_campuschar(4),

@dormitory_locationchar(4)

--

38

as

insertintoRoom

values(@room_no,@room_header,@roomer_grade,@roomer_department,

@roomer_perfection,@dormitory_no,@dormitory_campus,

@dormitory_location);

4.p4_Fitment_Inser

的定义

:

createprocedurep4_Fitment_Insert

@fitment_namechar(16),

@fitment_pricefloat,

@fitment_numberint,

@dormitory_nosmallint,

@dormitory_campuschar(4),

@dormitory_locationchar(4)

as

inserttoFitment

values(@fitment_name,@fitment_price,@fitment_number,@dormitory_no,

@dormitory_campus,@dormitory_location);

5.p5_Student_Insert

的定义

:

createprocedurep5_Student_Insert

@student_nochar(9),

@department_namechar(20),

@student_namechar(10),

@student_sexchar(2),

@student_homechar(10),

@student_borthdatetime,

@student_enter_timedatetime,

@student_perfectionchar(20),

@student_classint,

@room_nochar(6),

@dormitory_nosmallint,

@dormitory_campuschar(4),

@dormitory_locationchar(4)

as

insertintoStudent

values(@student_no,@department_name,@student_name,@student_sex

,@student_home,@student_borth,@student_enter_time,@student_perfection,

@student_class,@room_no,@dormitory_no,@dormitory_campus,

@dormitory_location);

6.p6_SafeGuard_Insert的定义:

createprocedurep6_SafeGuard_Insert

--

39

@safeguard_namechar(15),

@safeguard_worker_numint,

@safeguard_headerchar(10),

@safeguard_phonechar(12)

as

insertintoSGName

values(@safeguard_name,@safeguard_worker_num,@safeguard_header,

@safeguard_phone);

7.p7_Artical_In_Out_Insert的定义:

createprocedurep7_Artical_In_Out_InSert

@student_nochar(9),

@aio_articalchar(16),

@aio_principalchar(9),

@aio_datedatetime,

@aio_noint,

@dormitory_nosmallint,

@dormitory_campuschar(4),

@dormitory_locationchar(4)

as

insertintoAIOArtical

values(@student_no,@aio_artical,@aio_principal,@aio_date,

@dormitory_no,@dormitory_campus,@dormitory_location);

8.p8_FitmentDestruction_Insert:

的定义

createprocedurep8_FitmentDestruction_Insert

@fitment_namechar(16),

@student_nochar(9),

@room_nochar(6),

@fdf_numint,

@dormitory_nosmallint,

@dormitory_campuschar(4),

@dormitory_locationchar(4)

as

inserttoFitmentDestruction

values(@fitment_name,@student_no,@room_no,@fdf_num,@dormitory_no,

@dormitory_campus,@dormitory_location);

9.p9_FitmentCompensate

的定义

:

createprocedurep9_FitmentCompensate

@fitment_namechar(16),

@stu_nochar(9),

@fc_principalchar(10),

--

40

@fc_datedatetime,

@fc_numint,

as

insertFitmentDestruction

values(@fitment_name,@stu_no,@fc_principal,@fc_date,@fc_num);

10.p11_Accident_Insert

的定义

:

createprocedurep10_Accident_Insert

@ac_noint,

@ac_typechar(10),

@stu_nochar(30),

@ac_datedatetime,

@ac_articalchar(30),

@ac_verifybool,

@sg_namechar(15),

@ac_ar_numint,

@ac_stu_phonechar(12)

as

insertintoAccident

values(@ac_no,@ac_type,@stu_no,@ac_date,@ac_artical,@ac_verify,

@sg_name,@ac_ar_num,@ac_stu_phone);

11.p11_AccidentResearch_Insert的定义:

createprocedurep11_AccidentResearch_Insert

@ac_noint,

@ar_namechar(15),

@sg_namechar(15),

@ar_resultbool

as

insertintoAccidentResearch

values(@ac_no,@ar_name,@sg_name,@ar_result);

12.p12_AccidentCompensate_Insert

的定义

:

createprocedurep12_AccidentCompensate_Insert

@ac_noint,

@ac_stuchar(10),

@ac_articalchar(30),

@ac_datedatetime,

@sg_namechar(15)

as

insertintoAccidentCompensate

values(@ac_no,@ac_stu,@ac_artical,@ac_date,@sg_name);

13.p13_Query_Worker的定义:

--

41

createprocedurep13_Query_Worker

@worker_nochar(5)

as

select*

fromWorView

where编号=ltrim(@worker_no);

14.p14_Query_Worker

的定义

:

createprocedurep14_Query_Worker

@worker_namechar(10)

as

select*

fromWorView

where姓名likeltrim(@worker_name)+’%’;

15.p15_Delete_Worker的定义:

createprocedurep15_Delete_Worker

@worker_nochar(5)

as

delete

fromWorView

where编号=rtrim(ltrim(@worker_no));

16.p16_Delete_Worker的定义:

createprocedurep16_Delete_Worker

@worker_namechar(10)

as

delete

fromWorView

where姓名likertrim(ltrim(@worker_name)

--

42

附录3所有的SQL运行语句

createdatabaseStudent_Dormitory_Management;

createtableDormitory(

DorNosmallintnotnull,

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

DorPhNochar(12)null,

DorAdministchar(10)notnull,

primarykey(DorNo,DorCampus,DorLocation),

check(DorNo>0andDorNo<100));

createtableWorker(

WorNochar(5)notnullunique,

WorNamechar(10)notnull,

WorTypechar(8)notnull,

WorWageintnotnull,

WorSexchar(2)notnull,

WorPhNochar(12)null,

WorTimechar(30)null,

DorNosmallintnotnull,

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

primarykey(WorNo),

foreignkey(DorNo,DorCampus,DorLocation)references

Dormitory(DorNo,DorCampus,DorLocation),

check(WorWage>=0),

check(WorSex='男'orWorSex='女'));

createtableRoom(

RNochar(6)notnullunique,

RHeaderchar(10)null,

RGradechar(4)notnull,

RDepartchar(20)notnull,

RPerfectchar(20)notnull,

DorNosmallintnotnull,

DorCampuschar(4)notnull,

--

43

DorLocationchar(4)notnull,

primarykey(RNo),

foreignkey(DorNo,DorCampus,DorLocation)references

Dormitory(DorNo,DorCampus,DorLocation));

createtableFitment(

FitNamechar(16)notnullunique,

FitPricefloatnotnull,

FitNumintnotnull,

DorNosmallintnotnull,

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

primarykey(FitName),

foreignkey(DorNo,DorCampus,DorLocation)references

Dormitory(DorNo,DorCampus,DorLocation));

createtableStudent(

StuNochar(9)notnullunique,

DepNamechar(20)notnull,

StuNamechar(10)notnull,

StuSexchar(2)notnull,

StuHomechar(10)notnull,

StuBorthDATETIMEnotnull,

StuETimeDATETIMEnotnull,

StuPerfectchar(20)notnull,

StuClassintnotnull,

RNochar(6)notnull,

DorNosmallintnotnull,

DorCampuschar(4)notnull,

DorLocationchar(4)notnull,

primarykey(StuNo),

foreignkey(RNo)referencesRoom(RNo),

foreignkey(DorNo,DorCampus,DorLocation)references

Dormitory(DorNo,DorCampus,DorLocation),

check(StuClass>0andStuClass<=10));

createtableSafeGuard(

SGNamechar(15)notnullunique,

SGWorNumintnotnull,

--

44

SGHeaderchar(10)notnull,

SGPhonechar(12)null,

primarykey(SGName),

check(SGWorNum>0));

createtableArticalInOut(

StuNochar(9)notnull,

AIOArticalchar(16)null,

AIOPrinchar(5)notnull,

AIODatedatetimenotnull,

AIONointnotnullunique,

primarykey(AIONo,AIODate),

foreignkey(StuNo)referencesStudent(StuNo),

foreignkey(AIOPrin)referencesWorker(WorNo),

check(AIONo>0));

createtableFitmentDestruction(

FitNamechar(16)notnullunique,

StuNochar(9)notnull,

RNochar(6)notnull,

FDFitNumintnotnull,

foreignkey(FitName)referencesFitment(FitName),

foreignkey(StuNo)referencesStudent(StuNo),

foreignkey(RNo)referencesRoom(RNo),

check(FDFitNum>=0));

createtableFitmentCompensate(

FitNamechar(16)notnull,

StuNochar(9)notnull,

FCPrinchar(15)notnull,

FCompDateDatetimenotnull,

FCompNumintnotnull,

foreignkey(FitName)referencesFitment(FitName),

foreignkey(StuNo)referencesStudent(StuNo),

foreignkey(FCPrin)referencesSafeGuard(SGName),

check(FCompNum>=0));

createtableAccident(

AcNointnotnullunique,

AcTypechar(10)notnull,

--

45

StuNochar(9)notnull,

AcDatedatetimenotnull,

AcArticalchar(30)notnull,

AcVerifychar(5)notnull,

SGNamechar(15)notnull,

AcArNumintnotnull,

AcStuPhchar(12)notnull,

primarykey(AcNo,AcDate),

foreignkey(StuNo)referencesStudent(StuNo),

foreignkey(SGName)referencesSafeGuard(SGName),

check(AcArNum>0));

createtableAccidentResearch(

AcNointnotnull,

ARNamechar(15)notnull,

SGNamechar(15)notnull,

ARResultchar(5)notnull,

primarykey(SGName),

foreignkey(AcNo)referencesAccident(AcNo),

foreignkey(SGName)referencesSafeGuard(SGName));

createtableAccidentCompensate(

AcNointnotnull,

ACStuchar(9)notnull,

AcArticalchar(30)notnull,

AcDateDatetimenotnull,

SGNamechar(15)notnull,

foreignkey(AcNo)referencesAccident(AcNo),

foreignkey(ACStu)referencesStudent(StuNo),

foreignkey(SGName)referencesSafeGuard(SGName));

createviewWorView(编号,姓名,工作类型,工资,性别,联系方式,工作时间,宿舍楼编号,校区,区位)

as

select*

fromWorker

withcheckoption

createviewDormView(宿舍楼编号,校区,区位,楼管处电话,楼管)

as

select*

--

46

fromdormitory

withcheckoption

createviewRoomView(宿舍编号,舍长,年级,学院,专业,宿舍楼编号,校区,区位)

as

select*

fromRoom

withcheckoption

createviewFitView(物品名,价格,数量,宿舍楼编号,校区,区位)

as

select*

fromFitment

withcheckoption

createviewStuView(学号,学院,姓名,性别,祖籍,出生日期,入学时间,专业,班级,宿舍编号,宿舍楼编号,

校区,区位)

as

select*

fromStudent

withcheckoption

createviewSGView(名称,人员数目,负责人,电话)

as

select*

fromSafeGuard

withcheckoption

createviewArIOView(学号,出入物品,负责人,日期,序号)

as

select*

fromArticalInOut

withcheckoption

createviewFDView(物品名,学号,宿舍号,损坏数量)

as

select*

fromFitmentDestruction

withcheckoption

--

47

createviewFCView(物品名,学号,负责人,日期,赔偿数量)

as

select*

fromFitmentCompensate

withcheckoption

createviewAccView(编号,事故类型,学号,日期,损失物品,属实,负责单位,损失数量,学生联系方式)

as

select*

fromAccident

withcheckoption

createviewARView(编号,调查名称,负责单位,调查结果)

as

select*

fromAccidentResearch

withcheckoption

createviewACView(编号,学号,赔偿物品,日期,负责单位)

as

select*

fromAccidentCompensate

withcheckoption

createuniqueindexStudentNoonStudent(StuNo);

createuniqueindexRoomNoonRoom(RNo);

createuniqueindexDormitoryNo_Campus_LocationonDormitory(DorNo

desc,DorCampus,DorLocation);

createindexStudentNameonStudent(StuName);

createuniqueindexFitmentNameonFitment(FitName);

createuniqueindexSafeGuardNameonSafeGuard(SGName);

更多推荐

99宿舍客服软件下载