这次项目的数据库设计我们小组主要由苏文江同学负责,我在其中并没有发挥到多大作用,但是大家在讨论的时候我也是比较认真地去聆听的,接下来便说一下心得。
首先我们要理解我们项目的具体需求:
l 用户的登陆注册
用户写入用户名,密码,对应的学号/工号,手机号,和一些其他功能相关的信息。
l 用户写入信息
每次签到时,学生需要写入实时位置和实时图像信息。
l 用户读取信息
后台服务器读取本次写入的数据与系统留存的进行比对,完成查寝结果的自动生成,或者老师读取某位同学的电话号码。
l 统计签到结果
我们最开始的时候觉得只需要几张表就可以了,如下图
但我们发现学生表其实可以合成一个表的,然后单独有个学院年级专业表来对应。
于是发展成这个表
但是这个表对于主键的设定不是很合理,有些表只有一个属性,就只能那个属性是主键,所以我们有添加了逻辑主键进来。构成下面这个版本。
但是后面发现这样的表并不好,对于用户信息变动的时候,要改很多地方,比较麻烦,所以在听了老师的建议后决定分多几个表,不变的部分组成一个表,变得部分组成一个表,这样,当修改数据时,需要修改的数据量便没有那么大了。
总的来说,设计数据库不可能一下就能设计得很完美的,特别是刚开始学习数据库的时候,想法肯定是不够好的,不过可以在后面慢慢完善,小组进行讨论,并向老师求教,这样才能学习更多,使数据库设计更加完善。