美文网首页
毕业设计--设计数据库

毕业设计--设计数据库

作者: 琰雪儿 | 来源:发表于2018-04-30 18:51 被阅读0次

    毕业设计:数据库设计
    功能分析:
    系统主要实现前台用户和后台管理员两大功能模块,用户功能主要提供给阅读馆会员的用户使用,包括用户的登录,查询会员办理日期、到期日期、缴费金额、续费提醒;后台管理员功能主要提供给系统的管理员使用,包括登录、增加会员信息、修改会员信息、删除会员信息、分类查询会员信息、自动结算会员费用、计算会员持续时间、会员费用统计、会员数量分期统计等

    一、从功能中可以看出,大致分为2大类:管理员和会员用户
    接下来我们继续细分!

    1*.账号表
    从功能看,管理员,仅仅只有一个账号,也不需要什么多余的信息表。而且会员用户也有账号
    所以我们可以建一张表专门用来存放账号:

    表名为:'account';
    设计字段:'a_username'、'a_password'、'jurisdiction';
    主键:'a_username';
    外键:无;
    'a_username'和'a_password'不做多余的解释就是用户和管理员的账号和密码;
    'jurisdiction'用来区分权限的,因为我们知道,管理员账号和会员账号权限不一样,也就注定了登录账号不同所跳转到的页面不同。
    所以我规定:
      '1'为管理员账号;
      '2'为普通用户账号;
    当然也可以建立两张表,分别用来存放管理员与用户的账号。
    我这边就选择用了一张表。
    

    二、接下来我们继续分析。这个系统主要是围绕会员用户设计的。所以数据库的表也应该是针对会员用户的
    我们再来看看
    用户页面需要实现的功能:用户登录,查询会员办理日期、到期日期、缴费金额、续费提醒
    管理员页面需要实现的功能:登录、增加会员信息、修改会员信息、删除会员信息、分类查询会员信息、自动结算会员费用、计算会员持续时间、会员费用统计、会员数量分期统计
    其中登录已经实现
    通过功能我们大致可以了解到,我们所需要建立的表应该有:1.用户信息表;2.用户充值记录表;
    我们首先从用户信息入手。
    我们都知道办理会员卡,我们要获取用户的部分信息,那么我们应该要获取用户的那部分信息呢?在一些正规的图书馆中,用户都是实名制,所以我们所获取的用户信息应该包括:姓名性别年龄身份证号手机号邮箱。邮箱我们作为一个可选,毕竟许多广告还是要从邮箱和手机短信上推广的,你们都懂得,嘿嘿嘿。。。通过功能还需要添加上会员办理日期到期日期
    所以我们的用户信息表就可以创建了!

    2*.用户信息表:

    表名:'vip_userinfo';
    字段:'v_id'、'vip_name'、'vip_sex'、'vip_age'、'vip_IdCard'、'vip_phone_number'、'vip_email'、'vip_start_date'、'vip_end_date'、'a_username';
    主键:'v_id';
    外键:'a_username';
    
    为什么使用'a_username'为外键呢?'a_username'为表'account'中的唯一主键。
    我们设计了信息表,那么这个信息对应那个会员用户呢?是不是就需要通过外键进行关联呢?所以我们选择'a_username'作为外键来关联这两张表
    

    接下来我们分析用户消费信息表:
    消费信息表比较简单:根据功能判断,此表中,只存储充值记录即可。

    3*.用户充值记录表:

    表名:'recharge';
    字段:'r_id'、'money'、'r_date';
    主键:'r_id';
    外键:无
    

    这样表我们就创建完了,那么我们来分析一下表与表之间的关系,
    首先:
    账号表'account'和用户信息表'user'之间:

    一个账号只能对应一个用户信息,所以表'account'与表'vip_userinfo'之间是一对一关系;
    一个用户信息也只对应一个账号,表'vip_userinfo'与表'account'之间也是一对一关系;
    它们通过'a_username'所关联。
    

    然后:
    用户信息表'vip_userinfo'与用户充值记录表:'recharge':

    一个用户可以有多条充值记录,所以用户信息表'vip_userinfo'与用户充值记录表:'recharge'之间是一对多关系;
    而一条充值记录只能对应一个用户,所以用户充值记录表:'recharge'与用户信息表'vip_userinfo'之间是一对一关系;
    因为存在1对多关系,所以需要建立中间表,把它们进行关联起来。(注:一对多,多对多,都需要建立中间表)
    

    中间表:

    表名:'userinfo_rechange';
    字段:'v_id'、'r_id';
    主键:'v_id'、'r_id';('v_id'、'r_id';分别是外键,但是它们两个一起构成了唯一索引,所以'v_id'+'r_id'是主键;它们共同构建为了主键)
    外键:'v_id'、'r_id';
    

    最后在删除用户时,我多建一张表用来收集用户信息。现在是大数据时代,所以删除用户信息不存在的。只是从正常的管理表中删除,存储到了专门存储收集用户信息的表中,即:"userinfo_collect"表

    表名:'userinfo_collect';
    字段:'id'、'user_name'、'sex'、'age'、'IdCard'、'phone_number'、'email';
    主键:'id';
    外键:无;
    

    到这里我们毕业设计的数据库就创建完成了。
    可以参考我的mysql教程《mysql入门:创建和删除数据库操作(DDL)》,哦:http://t.cn/Ru0XftA
    也可以关注我的文集《mysql入门到提升》http://t.cn/Ru0XO78学习更多关于数据库的知识,哦。

    小白出品,不喜勿喷!

      生活总会给你第二次机会,叫明天。  
    

    相关文章

      网友评论

          本文标题:毕业设计--设计数据库

          本文链接:https://www.haomeiwen.com/subject/rczzlftx.html