博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一、app更新提示后台接口开发-(2)数据库表设计
阅读量:4677 次
发布时间:2019-06-09

本文共 2517 字,大约阅读时间需要 8 分钟。

新建一张数据库表用来存储app更新信息

数据表为:

 CREATE TABLE APP_UPDATE_MESSAGE(

APP_ID VARCHAR2(50),         --appId,01:android 02:ios

APP_CODE VARCHAR2(50),     --客户端设备id字符串,如:app.android.version.key

APP_NAME VARCHAR2(50),    --客户端设备名字

VERSION_MILEPOST  NUMBER DEFAULT 0, --是否是一个里程牌式的版本,默认为0,是则为1

VERSION_CODE VARCHAR2(50) ,   --版本号

VERSION_CODE_BEFORE VARCHAR2(50) ,  --上一个版本号

VERSION_TYPE NUMBER,   ---版本类型,0选择更新,1强制更新

VERSION_BIG VARCHAR2(50),   --新版本大小

DOWNLOAD_URL   VARCHAR2(50),    --更新地址

UPDATE_TITLE  VARCHAR2(50),      --升级信息简要

UPDATE_MESSAGE  VARCHAR2(4000),    --升级信息详情

STATUS  NUMBER,     --版本状态  1:最新版本,0:之前老版本

CREATE_TIME DATE,   --版本创建时间

UPDATE_PARAMS   VARCHAR2(50),   --添加扩展

CONSTRINT  APP_UPDATE_MESSAGE  PRIMARY  KEY(APP_ID,VERSION_CODE) --把APP_ID和VERSION_CODE作为组合主键约束,两者组合不能重复

);

COMMENT ON TABLE APP_UPDATE_MESSAGE IS 'APP更新提示表';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.APP_ID IS 'appId,01-android,02-ios';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.APP_CODE IS '客户端设备id字符串';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.APP_NAME IS '客户端设备名字';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.VERSION_MILEPOST IS '0-普通版本,1-里程碑式版本';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.VERSION_CODE IS '版本号';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.VERSION_CODE_BEFORE IS '上一个版本号';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.VERSION_TYPE IS '版本类型,0-选择更新,1-强制更新';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.VERSION_BIG IS '新版本大小';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.DOWNLOAD_URL IS '更新地址';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.UPDATE_TITLE IS '升级信息简要';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.UPDATE_MESSAGE IS '升级信息详情';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.STATUS IS '版本状态,0-之前的老版本,1-新版本';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.CREATE_TIME IS '版本创建时间';

COMMENT ON COLUMN APP_UPDATE_MESSAGE.UPDATE_PARAMS IS '添加扩展';

 

 

扩展:

1、app客户端收到返回值后,根据版本状态STATUS,来判断是否显示更新提示框

2、对于字段长度的一些解释:

CHAR的长度是固定的,没有字符就补空,VARCHAR2是变化的,如:VARCHAR2(20),表示20是最大值,小于20时,按实际长度存储。

VARCHAR2在oracle数据库中保存变长字符,在数据库中存储空间的大小是根据实际的字符长度,不会像CHAR一样不上空格,这样占用的空间更少。

由于VARCHAR2是变长存储,那么VARCHAR2(10),VARCHAR2(1000)有个什么区别,反正是变长的,存储空间相同,直接弄1000得了,免得以后要加长又要改变字段定义。为什么不直接用1000呢,有以下几个原因:首先字段长度是数据库的一种约束,可以保证进入数据库的数据符合长度要求,定义合理的字段长度可以减少一部分非法数据进入,等等,具体可以搜索oracle数据库字段长度设计来深究这个长度的问题,总体下来结论就是:

不能随便定义,并不是越大越好,要结合自身的实际业务,对于描述详情的信息,长度不可预知,可以保留更大的长度,避免以后经常进行长度调整,如直接定为4000.

3、更改字段长度sql语句:

例如调整APP_ID字段长度为10

ALTER TABLE APP_UPDATE_MESSAGE MODIFY APP_ID VARCHAR2(10);

4、oracle数据库中varahcr2存储汉字问题

根据数据库字符集的不同,存储汉字多少不同,如果用的是GBK编码,那个一个汉字将占用2个字节,用的是UTF8编码,那么一个汉字将占用3个字节。定字段长度时需要考虑到这点,这个问题的具体详解,可以搜索oracle的varchar2怎么存储汉字来深究。

 

 

小菜水平有限,高手勿喷,欢迎交流~~~

 

转载于:https://www.cnblogs.com/guomingkang/p/6073544.html

你可能感兴趣的文章
Mysql-2-数据库基础
查看>>
python把源代码打包成.exe文件
查看>>
PhotoshopCS5中将单位修改成百分比
查看>>
传统认知PK网络认知 刚子扯谈烤串认知
查看>>
字节数组java加密与解密
查看>>
矩形运算
查看>>
php 备份mysql数据库(joomla数据库可直接使用,其他数据库稍作修改即可)
查看>>
Design Pattern --- Strategy
查看>>
mui列表跳转到详情页优化方案
查看>>
一些简单有用的方法合集
查看>>
Neutron 架构 - 每天5分钟玩转 OpenStack(67)
查看>>
详解JS设计模式
查看>>
CPSR寄存器
查看>>
Java基础50题test7—处理字符串
查看>>
保险行业电话外呼型呼叫中心方案
查看>>
自建型呼叫中心
查看>>
input file 文件上传,js控制上传文件的大小和格式
查看>>
Day 6 函数与模块
查看>>
WebApi请求原理
查看>>
[Node.js] node-persist: localStorage on the server
查看>>