机房收费系统数据库设计(一)

概述

        本数据库的设计是以操作者上机记录表为中心展开的。操作者登录系统,相应的上机记录表中会写入一些数据,操作者登录系统之后才可以对操作者信息表做各种操作,才可以对用户信息表做各种操作,才可以对卡信息表做各种操作,才可以对收费标准信息表做各种操作。


设计线路

操作者对操作者操作的过程

E-R图

机房收费系统数据库设计(一)_第1张图片

        注:实现不真删除操作者表中信息;一个操作者可以有多条上机记录,一条上机记录可以进行多类多操作的事件;操作者为操作者信息表中信息,被操作者也为操作者表中的信息;每张表都有自己的编号,像1n的这种关系,没有用n方作为主键。


逻辑结构

       (1)操作者基本情况数据表Operator _Info,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

Operator_ID

varchar(20)

Primary key

操作者的ID

Operator_Key

varchar(20)

not null

密码

Operator_Level

varchar(20)

普通操作者操作者管理员

操作级别

Operator_Name

varchar(20)

Not null

操作者名

Operator_Sex

varchar(20)

Not null

性别

Operator_State

varchar(20)

Not null

操作者当前是否登录;是否删除

注:Operator_State字段既有操作者是否在线的功能,又有是否删除的功能。当回复删除记录时,需要把该字段值由“删除”变为“OFF”。

       (2)操作者上机记录Operator_Login_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

Operator_Login_ID

Int

Primary key

操作者上机记录ID

Operator_ID

varchar(20)

Foreign key

操作者的ID;主外键表为Operator_Info

Operator_Login_Date

Date

Not null

登录日期

Operator_Login_Time

Time(7)

Not null

登录时间

Operator_Exit_Date

Date

Not null

退出日期

Operator_Exit_Time

Time(7)

Not null

退出时间

Operator_Machine_ID

Varchar(20)

Not null

计算机名称

注:一个用户可以有多条上机记录。 

        (3)注册操作者记录Operator_Register_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

Operator_Register_ID

Int

Primary Key

注册操作的ID

Operator_Login_ID

Int

Foreign Key

操作者登录编号;主外键表:Operator_Login_Record

Operator_User _ID

varchar(20)

Operator Key

记录被注册操作者的ID;主外键表User_ID

Operator_Register_Date

Date

Not null

操作日期

Operator_Register_Time

Time(7)

Not null

操作时间

注:一条上机记录可以进行多次同类操作;先注册到User_ID表后,再写向记录表中写记录信息。 

        (4)删除操作者记录Operator_Delete_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

Operator_Delete _ID

Int

Primary key

删除操作的ID

Operator_Login_ID

Int

Foreign Key

操作者登录编号;主外键表:Operator_Login_Record

Operator_User _ID

varchar(20)

Foreign Key

记录被删除操作者的ID;主外键表为:Operator_Info

Operator_Delete_Date

Date

Not null

操作日期

Operator_Delete_Time

Time(7)

Not null

操作时间

注:

        (5)修改操作者的记录信息表Operator_Modify_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

Operator_Modify_ID

int

Primary key

修改操作的ID

Operator_Login_ID

Int

Foreign Key

操作者登录编号;主外键表:Operator_Login_Record

Operator_Modify_Before_ID

int

Foreign key

备份操作的ID;主外键表为Operator_Modify_Before

Operator_Modify_Date

Date

Not null

操作日期

Operator_Modify_Time

Time(7)

Not null

操作时间

注:先备份好要修改的操作者的信息后,再进行相应记录的写入。 

       (6)被修改的操作者的修改之前信息的备份对修改之前的用户信息做记录的表Operator_Modify_Before,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

Operator_Modify_Before_ID

int

Primary key

备份操作的ID

Operator_User_ID

varchar(20)

Foreign key

被操作者的ID;主外键表为Operator_Info

Operator_User_Key

varchar(20)

not null

被操作者的密码

Operator_User_Level

varchar(20)

‘普通操作者’或’操作者’或’管理员’

被操作者的级别

Operator_User_Name

varchar(20)

Not null

被操作者的姓名

Operator_User_Sex

varchar(20)

Not null

被操作者的性别

Operator_User_State

varchar(20)

Not null

被操作者当前是否登录;是否删除

注:


操作者对用户操作的过程

E-R图

机房收费系统数据库设计(一)_第2张图片


逻辑结构

        (7)用户基本情况数据表User_Info,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

User_ID

varchar(20)

Primary key

用户号。

Card_ID

Varchar(20)

Unique Key

ID

User_Key

varchar(20)

not null

密码

User_Type

varchar(20)

‘固定用户’或’临时用户’

用户级别

User_Name

varchar(20)

Not null

用户名

User_Sex

varchar(20)

Not null

性别

User_Major

varchar(20)

Not null

专业

User_State

varchar(20)

Not null

用户当前是否登录,是否删除

User_Common

Varchar(50)

Not null

备注

注: 

        (8)注册用户记录表User_Register_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

User_Register_ID

Int

Primary key

注册操作号

Operator_Login_ID

Int

Foreign key

操作者的ID。主外键表为Operator_Login_Record

User _ID

varchar(20)

Foreign key

注册的用户ID;主外键表为User_Info

User_Register_Date

Date

Not null

操作日期

User_Register_Time

Time(7)

Not null

操作时间

注:先向用户表中写入信息后,在写相应的记录信息。 

        (9)记录对用户信息表删除的信息做记录的表User_Delete_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

User_Delete_ID

Int

Primary Key

删除操作号

Operator_Login_ID

Int

Foreign key

操作者的ID。主外键表为Operator_Login_Record

User _ID

varchar(20)

Foreign key

注册的用户ID;主外键表为User_Info

User_Delete_Date

Date

Not null

操作日期

User_Delete_Time

Time(7)

Not null

操作时间

注: 

        (10)记录对用户信息表修改的信息做记录的表User_Modify_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

User _Modify_ID

int

primary key

注册的用户ID

Operator_Login_ID

Int

Foreign key

操作者的ID。主外键表为Operator_Login_Record

User_Modify_Before_ID

Int

Foreign key

备份用户信息记录;主外键表为User_Modify_Before

User_Modify_Date

Date

Not null

操作日期

User_Modify_Time

Time(7)

Not null

操作时间

注:先备份要修改用户的信息,然后在向修改记录中写入数据。 

        (11)记录对修改之前的用户信息做记录的表User_Modify_Before,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

User_Modify_Before_ID

int

Primary key

修改ID

User_ID

varchar(20)

Foreign key

用户号。主外键表为User_Info

Card_ID

Varchar(20)

Foreign Key

卡ID。

User_Key

varchar(20)

not null

密码

User_Type

varchar(20)

‘固定用户’或’临时用户’

用户级别

User_Name

varchar(20)

Not null

用户名

User_Sex

varchar(20)

Not null

性别

User_Major

varchar(20)

Not null

专业

User_State

varchar(20)

Not null

用户当前是否登录,是否删除

User_Common

Varchar(50)

Not null

备注

注: 

        (12)用户上机记录User_Login_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

User_Login_ID

Int

Primary key

用户登录操作号

User_ID

varchar(20)

Foreign key

用户ID;主外键表为User_Info

Bill_ID

Int

Foreign key

本次账单号;主外键表为Bill

User_Login_Date

Date

Not null

登录日期

User_Login_Time

Time(7)

Not null

登录时间

User_Exit_Date

Date

Not null

退出日期

User_Exit_Time

Time(7)

Not null

退出时间

User_Common

Varchar(20)

Not null

计算机名称

注:

        (13)账单表Bill,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

Bill_ID

Int

Primary Key

本次账单号

Operator_Login_ID

Int

Foreign key

操作者登录操作号

User_Cost

Real

Not null

本次消费

     注:


操作者对卡的操作过程

E-R图

机房收费系统数据库设计(一)_第3张图片


逻辑结构

        (14)卡的基本信息表Card_Info,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

Card _ID

varchar(20)

primary key

操作号

Card_Money

Real

null

卡内余额

Card_State

varchar(20)

not null

是否删除或冻结等

注:

        (15)充值记录Card_Recharge_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

Card _Recharge_ID

Int

Primary key

充值号

Operator_Login_ID

Int

Foreign key

操作者登录操作号

Card _ID

varchar(20)

Foreign key

卡号

Card_Recharge_Money

Real

null

充值金额

Card_Recharge_Date

Date

Not null

操作日期

Card_Recharge_Time

Time(7)

Not null

操作时间

注: 

        (16)退卡记录Card_Return­_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

Card _Return_ID

Int

Primary key

退卡编号

Return_Login_ID

Int

Foreign key

操作者登录操作号

Card _ID

varchar(20)

Foreign key

卡号

Card_Return_Money

Real

null

退卡金额

Card_Return_Date

Date

Not null

操作日期

Card_Return_Time

Time(7)

Not null

操作时间


操作者对收费标准的操作过程

E-R图

机房收费系统数据库设计(一)_第4张图片


逻辑结构

        (17)操作者修改收费标准的信息做记录的表BaseCharge_Modify_Record,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

BeasCharge_Modify_ID

int

Primary key

修改编号

Operator_Login_ID

Int

Foreign key

操作者的ID。主外键表为Operator_Login_ID

BaseCharge_Modify__Before_ID

int

Foreign key

备份信息编号;主外键表为BaseCharge_Modify_Before

Operator_Modify_Date

Date

Not null

操作日期

Operator_Modify_Time

Time(7)

Not null

操作时间

注:先备份要修改的信息记录,再向修改记录表中写入相应的信息。

       (18)被修改的操作者的修改之前信息的备份对修改之前的用户信息做记录的表BaseCharge_Modify_Before,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

BaseCharge_Modify__Before_ID

int

primary key

修改编号

BaseCharge_ID

Int

Foreign key

收费标准号

BaseCharge_Prepare_Time

Int

not null

准备时间

BaseCharge_Temporary_Cost

Real

not null

临时用户收费金额

BaseCharge_FixUser_Cost

Real

not null

固定用户收费金额

BaseCharge_UnitTime

Int

not null

收费的单位时间(分)

注:

        (19)收费标准信息表BaseCharge_Info,结构如下:

字段名(列名)

字段类型

约束控制

字段含义说明

BaseCharge_ID

Int

Primary

一个标志

BaseCharge_Prepare_Time

Int

not null

准备时间

BaseCharge_Temporary_Cost

Real

not null

临时用户收费金额

BaseCharge_FixUser_Cost

Real

not null

固定用户收费金额

BaseCharge_UnitTime

Int

not null

收费的单位时间(分)

     注:

操作者的汇总过程

E-R图

机房收费系统数据库设计(一)_第5张图片

逻辑结构

字段名(列名)

字段类型

约束控制

字段含义说明

DaySum_Date

Date

Primary key

今天的日期

Operator_Login_ID

Int

Foreign key

操作者登录记录中的ID;主外键表为Operator_Login_Record

DaySum_LoginNO

Int

not null

今天上机的总人数

DaySum_RegisterNO

Int

not null

今天注册的总人数

DaySum_ReturnNO

Int

Not null

今天退卡的总人数

DaySum_ReturnMoney

Real

not null

今天退卡的总金额

DaySum_RechargeMoney

Real

Not null

今天充值的总金额

DaySum_MakeMoney

Real

Not null

今天总共获利金额


总结

       之前发表了一篇机房收费系统的数据库设计,但是,那个相当的失败,这个的设计是自己第三遍的设计结果,这一次的设计比较使自己满意,自己可以Hold住它。


你可能感兴趣的:(机房收费系统数据库设计(一))