与以往不同,机房重构需要我们自己设计数据库,下面简单介绍一下我的理解。
1、需要建哪些表?
Tabel | introduction |
Userinfo | 用户登录 |
WorkLoginfo | 用户工作记录 |
Studentinfo | 注册、充值、退卡 |
Rechargeinfo | 充值 |
Cancelcardinfo | 退卡 |
Onlineinfo | 学生上机 |
Lineinfo | 学生上机记录 |
OnWorkinfo | 多用户登录检测 |
BasicDatainfo | 基本信息设定 |
Checkinfo | 结账 |
2、建立完了所需要的表之后,需要添加所需要的字段。
结合之前自考学过的数据库系统原理这本书中关于这块的内容:关系型数据库设计遵循的三范式,先简单回顾一下:
1NF:删除了表中的重复数据组,为每组相关数据创建一个表,用一个主键标识每个表,该主键唯一的标识了每个数据行。
2NF:应用于多个记录的值的集合创建表,并用外键关联这些表。
3NF:删除不依赖于主键的列。
注:不同表中的相同字段通过外键约束可以实现同步更新。
举两个例子:
Userinfo表
表名 | 字段 |
Userinfo | UserID(主键) |
PassWord | |
UserName | |
Level |
WorkLoginfo表
表名 | 字段 |
WorkLoginfo | UserID(外键) |
LoginTime | |
LogoutTime | |
States | |
Computer |
3、填充好所需要的字段之后就是对字段属性的约束了。
还是以Userinfo表为例吧
字段名称 | 数据类型 |
UserID | Int |
PassWord | Char(10) |
UserName | Char(10) |
Level | Char(8) |
这样依次将每个表弄好就OK啦,既然是重构就要比第一次弄的要好,所以需要我们更规范化。