移动APP管理用户信息系统数据库设计

举报
运气男孩 发表于 2021/12/27 22:00:04 2021/12/27
【摘要】 一、需求分析:目前,各类网络应用迅速向基于移动互联网的以智能手机为代表的智能移动终端迁移。由于使用场景与网络环境的变化,各类移动APP的研发发生了较大的变化。请以常用移动APP开发为背景,设计一个APP的管理用户基本信息的数据库,同时要考虑到用户权限管理的设计,要求如下:1)用户需要分角色管理,如管理员、区域管理、会员、普通用户等角色;2)用户信息包括用户基本信息和用户登录信息。  用户基本...

一、需求分析:

目前,各类网络应用迅速向基于移动互联网的以智能手机为代表的智能移动终端迁移。由于使用场景与网络环境的变化,各类移动APP的研发发生了较大的变化。请以常用移动APP开发为背景,设计一个APP的管理用户基本信息的数据库,同时要考虑到用户权限管理的设计,要求如下:

1)用户需要分角色管理,如管理员、区域管理、会员、普通用户等角色;

2)用户信息包括用户基本信息和用户登录信息。

  用户基本信息包括姓名、性别、出生日期、所在城市、身份信息(身份证、护照等)、联系信息(手机、E_mail、微信、QQ)等;

登录类型

  用户注册支持手机号验证码、账户、微信、QQ、微博注册;

  用户登录支持手机号码、账户、微信、QQ、微博登录;

  用户注册信息包括登录名、密码、注册日期、注册地址、注册IP、注册MAC地址、注册终端类型(手机、PC等)、注册操作系统、是否在线等信息;

登录信息

  用户每次登录时,还需要保存登录地址、登录日期、退出日期、登录IP、登录MAC、登录类型(账户、微信、QQ、微博等)、登录终端类型(手机、PC等)、登录操作系统、,如果手机登录,还需要记录手机型号、手机操作系统版本等信息;

  • 每个用户可以同时拥有多个角色,每个角色可以拥有多个用户。

 

二、概念模型设计

实体E-R图

通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型如下:

移动APP用户管理系统用户类别实体,角色实体,用户登录信息实体,用户注册信息实体,

1.用户实体与角色实体的部分E-R

 

 

 

2.用户登录信息的局部E-R图

 

3.用户注册信息的局部E-R图

 

4.简略总体E-R图(去除属性)

 

 

三、逻辑模型设计

将概念模型转换为关系模式

 

用户(用户id,姓名,性别,出生日期,所在城市,身份id联系id角色id

身份信息(身份id,身份证,护照)

联系信息(联系id,手机,E-mail,微信,QQ

角色(角色id,角色类别,用户id

用户注册信息(用户名,密码,注册日期,注册地址,注册ip,注册MAC地址,注册操作系统,是否在线, 注册终端类型id注册类型id

注册终端类型(注册终端类型id,注册终端类型名)

用户登录信息(用户名登录地址,登录日期,退出日期,登录ip,登录MAC地址,登录操作系统,登录终端类型id登录类型id

登录终端类型(登录终端类型id,登录终端类型名)

登录类型(登录类型id,账户,微信号,QQ号,微博号)

注册类型(注册类型id,账户,微信号,QQ号,微博号

拥有(用户id,角色id,角色类别)

四、物理模型设计

将关系模式转换为具体的数据库结构

用户表

字段名

中文名

数据类型

主键

外键

说明

user_id

用户id

int

PK

 

不能为空

user_name

姓名

Varchar

 

 

不能为空

user_sex

性别

Varchar(2)

 

 

不能为空

date

出生日期

Varchar

 

 

不能为空

city

所在城市

Varchar

 

 

不能为空

identity

身份id

int

 

FK

不能为空

contact

联系id

int

 

FK

不能为空

role

角色id

int

 

FK

不能为空

 

身份信息表

字段名

中文名

数据类型

主键

外键

说明

identity

身份id

Int

PK

 

不能为空

identityCard

身份证

Varchar

 

 

不能为空

passport

护照

Varchar

 

 

不能为空

联系信息表

字段名

中文名

数据类型

主键

外键

说明

contact

联系id

int

 

 

不能为空

moblieNum

手机

int

 

 

不能为空

mail

E-mail

varchar

 

 

不能为空

wechat

微信

varchar

 

 

不能为空

qqNum

QQ

int

 

 

不能为空

角色表

字段名

中文名

数据类型

主键

外键

说明

role

角色id

int

PK

 

不能为空

role_type

角色类别

varchar

 

 

不能为空

user_id

用户id

int

 

Fk

不能为空

用户注册信息表

字段名

中文名

数据类型

主键

外键

说明

username

用户名

varchar

PK

 

不能为空

password

密码

varchar

 

 

不能为空

registerTime

注册日期

datetime

 

 

不能为空

registerInterdress

注册地址

varchar

 

 

不能为空

registerIp

注册ip

varchar

 

 

不能为空

registerMac

注册MAC地址

varchar

 

 

不能为空

registerOS

注册操作系统

varchar

 

 

不能为空

online

是否在线

varchar

 

 

不能为空

systemTypeid

注册终端类型id

Int

 

FK

不能为空

registerTypeid

注册类型id

int

 

FK

不能为空

 

用户登录信息表

字段名

中文名

数据类型

主键

外键

说明

username

用户名

varchar

PK

 

不能为空

LoginTime

登录日期

datetime

 

 

不能为空

LoginInterdress

登录地址

varchar

 

 

不能为空

loginIp

登录ip

varchar

 

 

不能为空

loginMac

注册MAC地址

varchar

 

 

不能为空

loginOS

注册操作系统

varchar

 

 

不能为空

systemTypeId

登录终端类型id

varchar

 

FK

不能为空

logintypeid

登录类型id

Int

 

FK

不能为空

登录终端类型

字段名

中文名

数据类型

主键

外键

说明

systemTypeId

终端类型id

int

PK

 

不能为空

systemTypeName

终端类型名

varchar

 

 

不能为空

登录类型

字段名

中文名

数据类型

主键

外键

说明

logintypeid

登录类型id

int

PK

 

不能为空

account

账户

varchar

 

 

不能为空

QQnum

QQ

int

 

 

不能为空

wechatnum

微信号

varchar

 

 

不能为空

weibonum

微博号

varchar

 

 

不能为空

注册类型

字段名

中文名

数据类型

主键

外键

说明

registerTypeid

注册类型id

int

PK

 

不能为空

account

账户

varchar

 

 

不能为空

QQnum

QQ

int

 

 

不能为空

wechatnum

微信号

varchar

 

 

不能为空

weibonum

微博号

varchar

 

 

不能为空

拥有

字段名

中文名

数据类型

主键

外键

说明

user_id

用户id

int

PK

FK

不能为空

role_id

角色id

int

PK

FK

不能为空

roletype

角色类型

varchar

 

 

不能为空

心得体会

这次数据库设计使我熟悉了数据库系统设计的整体步骤。数据库系统设计大体可分为需求分析、概念设计、逻辑设计、物理设计、数据库的实施及调试测试六大步骤。其中,让我感触最深的是需求分析阶段,在这个阶段,必须对所要设计的系统有总体的构思和了解,知道自己要做什么,要实现什么,并且要实际的进行相关的调查,不能凭想象或自己的了解,这样会在后续的工作中遇到很多的问题

好了,关于此次数据库设计就说到这里了,如有不足之处,欢迎指正!

感恩能与大家在华为云遇见!希望能与大家一起在华为云社区共同成长。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。