zoukankan      html  css  js  c++  java
  • 【实践】mysql数据库表设计及存储过程设计

    mysql数据库表设计及存储过程设计

    一、目标

      电话手表的数据库表设计,以及为了服务器与数据库后台分离进行存储过程设计。

    二、数据库表设计

      基本的数据表设计,设备信息表(手表)、APP用户个人信息表、设备登录状态表、经纬度位置表、消息表(可进行聊天)、指令表(用来记录app对设备的操作等)、验证码记录表、群组表、群成员表、意见表(意见反馈记录)、绑定表(设备与APP用户相互绑定)、陌生人表(记录设备上陌生人来电)、设备通讯录表(保存设备的通讯录名单)、手表消息记录表(用来对设备的各种消息的记录)等。

      遵循数据库设计三大范式。

    三、存储过程设计

      选择存储过程有几方面的考虑:

      1.速度、网络带宽 考虑的较少。

      2.服务器端与数据库端解耦,当数据库变动的时候,不影响服务器代码。

      3.加快项目的进程。

      4.安全问题,限制非数据库人员的操作权限,只能通过存储过程进行操作数据库。

    四、踩过的坑

      1.数据库设计:

      (1)对于闹钟开关,多个闹钟时间设置等,建议使用json形式进行存取。

      (2)尽可能把非强相关性的表分开成两张表或是多张表

      (3)遵循数据库设计三大范式

      (4)保证数据库表设计前后一致,简介

      2.存储过程设计:

      (1)传入参数一致性需要认真校验

      (2)注意调用者权限问题,definer | invoker  :在begin之前加上 sql security  invoker

        另外需要修改调用者权限:grant select,insert,delete,update,execute on database.* to 'user'@'%' ;

     

    由于项目服务端仍未开发好,所以数据库测试没遇到编码问题、格式问题、接口参数类型问题等等。

  • 相关阅读:
    php数组转换成js可用的数组的两种方式
    常用正则表达式--------------[拿把小刀,强大自己]
    AngularJs 相应回车事件
    常见的关系型数据库和非关系型数据库及其区别
    CMDB资产采集
    GB和GiB的区别
    python枚举详解
    python保留两位小数
    详解TCP三握四挥
    npm run dev 和 npm run serve
  • 原文地址:https://www.cnblogs.com/carsonwuu/p/10045440.html
Copyright © 2011-2022 走看看