数据库校园一卡通管理系统.docx

上传人:b****7 文档编号:11368222 上传时间:2023-02-28 格式:DOCX 页数:25 大小:267.35KB
下载 相关 举报
数据库校园一卡通管理系统.docx_第1页
第1页 / 共25页
数据库校园一卡通管理系统.docx_第2页
第2页 / 共25页
数据库校园一卡通管理系统.docx_第3页
第3页 / 共25页
数据库校园一卡通管理系统.docx_第4页
第4页 / 共25页
数据库校园一卡通管理系统.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

数据库校园一卡通管理系统.docx

《数据库校园一卡通管理系统.docx》由会员分享,可在线阅读,更多相关《数据库校园一卡通管理系统.docx(25页珍藏版)》请在冰豆网上搜索。

数据库校园一卡通管理系统.docx

数据库校园一卡通管理系统

题目:

校园一卡通管理系统

摘要:

校园一卡通将管理、生活、消费、身份认证等多种功能集中于一体,提高了学生校园生活的效率。

该校园一卡通管理系统包括三个子系统:

校园卡日常管理、消费管理、身份认证。

每个子系统又包括多个功能模块,并提供了对各功能模块的查询和更新功能。

该系统开发由系统需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、数据库实施阶段等阶段组成。

关键字:

一卡通日常管理消费管理身份认证

 

1系统需求分析阶段

1.1需求分析目标

针对大学学生日常生活和学习管理情况的实地调查加自己的亲身体验,了解了目前应用关于大学的校园一卡通管理系统的应用情况,并充分体会到该模式相对于人工管理模式的简单、高效。

基于以上情况,目的是自行设计一个模拟大学校园一卡通的管理系统,在设计过程中,加深对校园一卡通的了解,增强对数据库知识的理解及SQL语言的实际应用,训练设计开发数据库的能力。

1.2需求分析任务

(1)处理对象:

该系统主要处理的对象有:

学生基本信息、校园卡基本信息、校园卡日常管理基本信息、餐厅消费基本信息、超市基本信息、身份认证基本信息、图书管理基本信息等。

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

1.学生基本信息(Student):

包括学生身份证号、学生学号、学生姓名、学生性别、学生出生年份、学生所在院系、学生的专业、学生所在班级等方面的信息,可以方便学生信息的查询和更新;

2.“校园卡”基本信息(Card):

包括校园卡的卡号、持卡人学生学号、持卡学生姓名、持卡学生性别、校园卡的状态、校园卡内的余额;

3.校园卡日常管理基本信息(CardManage):

包括四个数据结构办卡信息、挂失信息、解挂信息、充值信息,每个数据结构中的数据项见数据字典;

4.餐厅基本信息(cateen):

包括餐厅编号、餐厅名称、餐厅负责人、餐厅位置,具体的数据项见数据字典;

5.超市基本信息(supmanage):

包括超市编号、超市名称、超市负责人、超市位置,具体的数据项见数据字典;

6.消费基本信息(Busmanage):

包括消费编号、消费地点、卡号、消费时间、消费金额,具体数据项见数据字典;

7.身份认证基本信息(Identity):

包括四个数据构DormInf(学生宿舍楼基本信息),DormPress(学生归宿刷卡信息),LibInf(图书馆基本信息),LibPress(借书基本信息),具体的数据项见数据字典;

(2)处理功能要求

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

1.学生基本信息查询与更新;

2.校园卡日常事务管理情况基本信息查询与更新;

3.校园卡在某个时刻所处状态的查询;

4.餐厅基本信息的查询和修改;

5.超市基本信息的查询和修改;

6.学生消费额(包括餐厅,超市,校车消费)基本信息的查询;

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

描述学生基本信息、校园卡日常事务管理基本信息、“校园卡”基本信息、餐厅消费基本信息、超市消费基本信息、身份认证基本信息中数据项能否为null,以及一些用户自定义完整性(符合实际要求)。

1.2.3需求分析阶段成果

(1)校园卡一卡通管理系统业务流程图

校园卡日常管理业务流程图:

 

累计本次消费总价格

超市消费业务流程图:

 

宿舍身份认证管理业务流程图:

校车管理业务流程图:

学生

上车

累计本次消费

刷卡

卡内信息

不够本次消费

取消

消费

够本次消费

 

(3)数据流程图

 

顶层数据流程图:

 

图2.0顶层数据流程图

第1层数据流程图:

 

第1层数据流程图

 

第2层数据流程图:

从日常事务处理角度出发:

 

第2层数据流图(从日常管理角度)

第2层数据流程图:

从校园卡消费管理角度出发:

 

第2层数据流图(从消费角度)

第2层数据流程图:

从校园卡的身份认证管理角度出发:

.....

 

第2层数据流图(从身份认证角度)

(4)数据字典

(a)数据项:

系统涉及的数据项有27项

表1.1数据项列表

数据项编号

数据项名称

简述

类型及宽度

取值范围

DI-1

Sid

学生身份证号

char(18)

DI-2

Sno

学生学号

char(8)

DI-3

Sname

学生姓名

char(10)

DI-4

Sage

学生性别

char(4)

"男"、"女"

DI-5

Sbirth

学生出生年

char(10)

DI-6

Sdept

学生所在院系

char(20)

DI-7

Sspecial

学生所在专业

char(20)

DI-8

Sclass

学生所在班级

char(20)

DI-9

Saddr

学生生源地

char(6)

DI-10

Cardno

校园卡卡号

char(8)

DI-11

Cardstate

校园卡状态

char(6)

"可用"、"不可用"

DI-12

Cardmoney

校园卡内余额

Float

DI-13

Cardstyle

校园卡类型

char(10)

“学生卡”、“教师卡”

DI-14

Cardtime

办理时间

char(10)

DI-18

Gsrq

挂失所在时间

Datetime

DI-20

Jgrq

解挂的时间

Datetime

DI-21

Czrq

充值的时间

Datetime

数据项编号

数据项名称

简述

类型及宽度

取值范围

DI-22

Czje

充值金额

Float

DI-23

Czno

充值次数编号

Int

DI-24

Pmoney

本次刷卡金额

Float

DI-25

Brno

借书编号

char(10)

DI-26

Bookno

图书编号

char(10)

DI-27

Booklist

已借数量

Int

(b)数据结构:

表1.2数据结构列表

数据结构编号

数据结构名称

数据结构别名

数据结构含义

数据项组成

DS-1

学生信息

Student

记录学生的信息

Sid、Sno、Sname、Ssex、Sbirth、Sdept、Sspecial、Sclass、Saddr

DS-2

挂失信息

LosInf

记录挂失信息

Cardno、Sno、Sid、Gsrq、jbr

DS-3

充值信息

FillInf

记录充值相关信息

Czno、Cardno、Sno、Czlx、Czje、jbr

DS-4

校园卡信息

Card

记录校园卡信息

Cardno、Sno、Sid、Cardstates、Cardmoney

DS-5

学生餐厅信息

DinInf

记录餐厅信息

Dinno、Dinname、Dinmanage、Dinaddr

DS-6

超市信息

SupInf

记录超市信息

Supno、Supname、Supmanage、Supaddr

DS-8

消费刷卡信息

PressInf

消费刷卡记录

Pressno、Pplace、Pno、Cardno、Pmoney、ptime、Pmanage、Paddr

DS-10

归宿刷卡信息

DormPress

记录归宿刷卡信息

Sno、Sid、Dormno、Backtime

DS-11

图书馆信息

LibInf

记录图书馆信息

Libno、Libname、Libregion

DS-12

借书信息

LibPress

记录借书信息

Brno、Bookno、Cardstate、Borlist、Libno

2概念设计阶段

2.1引言

概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。

2.2概念模型设计

(1)各部分E-R图。

(a)学生校园卡关系

 

分E-R图1

(b)校园卡日常管理关系

 

分E-R图2

(c)校园卡消费关系

 

分E-R图3

 

分E-R图4

m

校园卡

乘车刷卡

校车刷卡机

含有

校车

1

1

1

 

分E-R图5

(d)校园卡身份认证

 

分E-R图6

 

分E-R图7

(2)各分E-R图中关键实体和联系的属性如下所示:

学生:

(学号,姓名,性别,出生日期,身份证号,学院,专业,班级,生源地)

校园卡:

(校园卡卡号,持卡人学号,持卡人姓名,持卡人身份证号,持卡人性别,卡内余额,校园卡可用性)

服务:

(本次服务编号,校园卡卡号,服务类型,服务时间,服务中心地址)

校园卡中心:

(服务中心编号,服务中心地址,服务中心负责人)

超市:

(超市编号,超市名称,超市负责人,超市所在校区)

超市刷卡:

(本次消费编号,超市编号,校园卡卡号,消费金额,消费时间)

餐厅:

(餐厅编号,餐厅名称,餐厅负责人,餐厅所在校区)

餐厅刷卡:

(本次消费编号,餐厅编号,校园卡卡号,消费金额,消费时间)

校车:

(校车编号,校车类型,校车司机)

乘车刷卡:

(本次消费编号,校车编号,校园卡卡号,消费金额,消费时间)

图书馆:

(图书馆编号,图书馆名称,图书馆所在校区)

借书:

(借书编号,校园卡可用性,已借图书,图书馆编号)

宿舍楼:

(宿舍楼编号,宿舍楼学生类型,宿舍楼所在校区)

进出刷卡:

(归宿编号,校园卡卡号,学生学号,宿舍楼编号,刷卡时间)

(注:

由于属性较多,全都写到E-R图中显得很乱,此处将各属性列出。

(3)将E-R图合并,按照要求消除属性冲突、命名冲突、结构冲突等,得到初步的E-R图,在此基础上消除冗余得到下图的基本E-R图:

11

1

m

m

1

11

m

n

1

1

n

m

m

1

m

1

1

校园卡中心

服务

学生

拥有

校园卡

超市刷卡

餐厅刷卡

超市刷卡机

归宿检测

借书刷卡

含有

含有

超市

餐厅刷卡机

餐厅

宿舍楼

图书馆

m

乘车刷卡

校车刷卡机

含有

校车

m

1

 

基本E-R图

3逻辑设计阶段

3.1逻辑设计的任务和目标

系统逻辑设计的任务是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。

具体内容包括数据组织(将E-R图转换成具体的关系模型、模型优化、数据库模式定义、用户子模式(视图)设计)、数据处理(画出系统功能模块图)两大任务。

3.2数据组织

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

由以上分析,可以将学生实体、校园卡实体、校园卡中心实体、餐厅实体、超市实体、校车实体、宿舍楼实体、图书馆实体分别转化为单独的关系模型。

为了方便同学查询餐厅、超市和校车的消费情况,特将消费性刷卡联系转化为独立关系模式;为了了解同学的归宿信息,将身份认证型的进出刷卡转化为独立关系模式;为了了解同学借阅图书的情况,将身份认证中的借书刷卡转化为独立的关系模式;同时,考虑同学要向校园卡中充值,在学生校园卡联系中抽取充值关系转化为独立关系模式;考虑同学可能会挂失等,从学生校园卡联系中抽取挂失关系转化为独立关系模式。

具体的关系模式转化结果如下:

学生:

student(Sno、Sid、Sname、Ssex、Sbirth、Sdept、Sspecial、Sclass、Saddr)

校园卡:

Card(Cardno、Sno、Sid、Cardstyle、Cardstates、Cardmoney、Cardtime)

校园卡中心:

CardCenter(CCno、CCaddr、jbr)

充值:

FillInf(Czno、Cardno、Sno、Czje、Czrq、jbr)

挂失:

LosInf(Gsno、Cardno、Sno、Gsrq、jbr)

餐厅:

DinInf(Dinno、Dinname、Dinmanage、Dinaddr)

超市:

SupInf(Supno、Supname、Supmanage、Supaddr)

校车:

BusInf(Busno、Busstyle、Busdriver)

消费刷卡:

PressInf(Pressno、Pplace、Cardno、pmoney、ptime)

宿舍:

DormInf(Dormno、Dormstyle、Dormregion)

进出刷卡:

DormPress(Backno、Cardno、Sno、Dormno、Backtime)

图书馆:

LibInf(Libno、Libname、Libregion)

图书借阅刷卡:

BorBookPress(Brno、Bookno、Cardstates、Borlist、Libno)

(注:

标有直线下划线的为主属性,标有波浪线下划线的是外键属性)

4物理设计阶段

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

数据库的物理设计就是根据所选用的DBMS和处理需求,进行物理存储安排,建立索引,形成数据库的内模式,为逻辑数据模型选取一个最适合应用要求的物理结构的过程,在这个阶段中要完成两大任务:

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

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

4.2数据存储方面

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

由于基本表Card,Student,DinInf,SupInf的主码Cardno,Sno,Dinno,Supno经常在查询条件和连接操作的连接条件中出现,且它们的取值唯一,考虑在这四个属性上分别建立唯一性索引;

5数据库实施阶段

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

5.1.1建立数据库

createdatabasesducardsystem;

5.1.2建立数据表

(1)学生基本信息表的建立:

createtableStudent(

Snochar(12)primarykey,

Sidchar(18)notnull,

Snamechar(10)notnull,

Ssexchar(4)check(Ssex='男'orSsex='女')notnull,

Sbirthchar(10)notnull,

Sdeptchar(20)notnull,

Sspecialchar(20)notnull,

Sclasschar(20)notnull,

Saddrchar(20)notnull,);

(2)校园卡基本信息表的建立:

createtableCard(

Cardnochar(8)primarykey,

Snochar(12)notnull,

Sidchar(18)notnull,

Cardstylechar(18)notnull,

Cardstatechar(10)notnull,

CardmoneyFloatnotnull,

CardtimeDateTimenotnull,

foreignkey(Sno)referencesStudent(Sno),);

(3)校园卡中心CardCenter:

createtableCardCenter(

CCnochar(10)primarykey,

CCaddrchar(40)notnull,

jbrchar(10)notnull,);

(4)创建充值信息表FillInf:

createtableFillInf(

CznoIntprimarykey,

Cardnochar(8)notnull,

Snochar(12)notnull,

CzrqDateTimenotnull,

CzjeIntnotnull,

jbrchar(10)notnull,

foreignkey(Cardno)referencesCard(Cardno),

foreignkey(Sno)referencesStudent(Sno),);

(5)创建挂失信息表LosInf:

createtableLosInf(

GsnoIntprimarykey,

Cardnochar(8)notnull,

Snochar(12)notnull,

GsrqDateTimenotnull,

jbrchar(10)notnull,

foreignkey(Cardno)referencesCard(Cardno),

foreignkey(Sno)referencesstudent(Sno),);

(6)餐厅信息表DinInf;

createtableDinInf(

Dinnochar(4)primarykey,

Dinnamechar(10)notnull

Dinmanagechar(10)notnull,

Dinaddrchar(10)notnull,);

(7)超市信息表SupInf:

createtableSupInf(

Supnochar(4)primarykey,

Supnamechar(40)notnull,

Supmanagechar(10)notnull,

Supaddrchar(10)notnull,);

(8)校车信息表BusInf:

createtableBusInf(

Busnochar(4)primarykey

Busstylechar(10)notnull

Busdriverchar(10)notnull,);

(9)消费刷卡信息记录表PressInf:

createtablePressInf(

PressnoIntprimarykey,

Pplacechar(10)check(Pplace='餐厅'orPplace='超市'orPplace='校车')notnull,

Cardnochar(8)notnull,

PmoneyFloatnotnull,

PtimeDateTimenotnull,

foreignkey(Cardno)referencesCard(Cardno),);

(10)宿舍信息表DormInf:

createtableDormInf(

Dormnochar(10)primarykey,

Dormstylechar(8)check(Dormstyle='男生'orDormstyle='女生')notnull,

Sdeptchar(20)notnull,

Dormregionchar(10)notnull,

(11)归宿刷卡信息表Dormpress:

createtableDormPress(

BacknoIntprimarykey,

BacktimeDateTimenotnull,

Cardnochar(8)notnull,

Snochar(12)notnull,

Dormnochar(10)notnull,

foreignkey(Cardno)referencesCard(Cardno),

foreignkey(Sno)referencesStudent(Sno),

foreignkey(Dormno)referencesDormInf(Dormno),);

(12)图书馆信息表LibInf:

createtableLibInf(

Libnochar(10)primarykey,

Libnamechar(20)notnull,

Libregionchar(20)notnull,);

(13)图书馆借阅刷卡记录BorBookPress:

createtableBorBookPress(

BrnoIntprimarykey,

Booknochar(10)notnull,

Cardstatechar(10)notnull,

Borlistchar(40)notnull,

Libnochar(10)notnull,

foreignkey(Libno)referencesLibInf(Libno));

5.1.3建立视图

(1)用于查询的更新学生在各个餐厅刷卡消费信息的视图定义如下:

createviewDinner2

as

select*

fromPressInf

wherePlace='餐厅'

withcheckoption;

(2)用于查询和更新学生在各个餐厅刷卡消费信息的视图定义如下:

createviewSupmarket

as

select*

fromPressInf

wherePlace='超市'

withcheckoption;

(3)将学生信息表和刷卡消费表连接,用于查询相关的学生的基本信息

createviewstudent_Press

as

selectPressInf.Pressno,PressInf.Pplace,PressInf.Cardno,PressInf.pmoney,PressInf.Ptime,Card.Sno

fromPressInf,Card

wherePressInf.Cardno=Card.Cardno

withcheckoption;

5.1.4建立索引

依次分别在表Student,Card,DinInf,SupInf的主码Sno,Cardno,Dinno,Supno

上建立唯一性索引,具体SQL代码如下:

createuniqueindexS_Snoonstudent(Snoasc);

createuniqueindexCard_CardnoonCard(Cardnoasc);

createuniqueindexDinner_DinnoonDinInf(Dinnodesc);

createuniqueindexSupmarket_SupnoonSupInf(Supnodesc);

5.1.5建立触发器

用触发器来实现在用校园卡刷卡消费和进行各种类型的校园卡充值操作后,不仅要修改PressInf、FillInf里的信息,还要修改对应的Card表里的校园卡余额CardPmoney的值。

具体触发器依次定义如下:

createtriggerfill

onFillInf

afterinsert

as

updateCard

setCardmoney=Cardmoney+Czje

fromInserted

whereCardstate='可用'andCard.Cardno=Inserted.Cardno

createtriggerconsume

onPressInf

afterinsert

as

updateCard

setCardmo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1