一、app更新提示后台接口开发-(2)数据库表设计

新建一张数据库表用来存储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怎么存储汉字来深究。

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

时间: 2024-10-23 21:03:19

一、app更新提示后台接口开发-(2)数据库表设计的相关文章

app与php后台接口登录认证、验证(seesion和token)

简要:随着电商的不断发展,APP也层次不穷,随着科技的发展主要登录形式(微信.QQ.账号/密码):为此向大家分享一下"app与php后台接口登录认证.验证"想法和做法:希望能够帮助困惑的伙伴们,如果有不对或者好的建议告知下:*~*!  一.登录机制 粗略分析:登录可分为三个阶段(登录验证.登录持续.退出登录):登录验证指客户端提供账号/密码(或第三方平台(微信.qq)获取openid/unionid)向服务器提出登录请求,服务器应答请求判断能否登录并返回相应数据:登录持续指客户端登录后

三期_day02_数据库表设计和开发准备工作

数据库脚本 drop table crm_user_info; drop table crm_work_customer_relation; drop table crm_business; drop table crm_travel; drop table crm_contact_log; drop table crm_order; drop table crm_order_detail; drop table crm_gods; drop table crm_judge; drop tabl

远程通知中app更新提示。

// // AppDelegate.m // SDJK // // Created by Jobs on 6/13/16. // Copyright (c) 2016 com.FlintInfo.dEMO. All rights reserved. // #import "AppDelegate.h" #import <SMS_SDK/SMSSDK.h> #import "YTKNetworkConfig.h" #import "YTKUrlA

Python开发MySQL数据库(表)克隆工具

前段时间因为某些需求,需要频繁的克隆MySQL的某些数据库或者某几个表.手动导出导入操作了几次,感觉甚是繁琐,而且效率不高,出错几率过大.索性抽时间用Python开发了一个MySQL的clone工具,用了一段时间,将数据库或者表克隆到同一台服务器的话(即源数据库与目标数据库在同一主机上),百万条数据也就是几十秒的时间搞定.该工具也支持将本地数据库或者表克隆到远程主机上. 程序比较简单,就一个Python文件,原理就是主要使用了MySQL的LOAD DATA INFILE命令.先来看下工具帮助信息

ERP开发分享 1 数据库表设计

这是我的ERP设计经验分享系列,今天讲的是数据库的表设计(1),主要阐述: 1.单字段的主键:2.使用int32作为主键类型:3.使用版本字段处理乐观锁定:4.生效字段标明是否允许“被使用”:5.锁定字段处理悲观锁定:6.行唯一字段处理分布式应用:

小蚂蚁学习APP接口开发(9)—— APP版本升级的接口方法——处理客户端发来的请求数据

今天的笔记主要来记录最后的一个知识要点,APP客户端版本升级的接口开发. APP的开发主要由伟大而神圣的用户来更新,更新的流程应该是这样的: 开启APP--请求初始化接口init.php--检测是否需要更新---否--首页 ---是--更新 在初始化接口的时候,需要客户端发送几个数据: app_id            客户端id,比如: 1,安卓手机 2,iphone手机 version_id        大版本号id version_mini     小版本号id did        

[1.30] 保持的力量:接口开发最佳实践

神啊,求你赐给我平静的心,去接受我无法改变的事:赐给我勇气,去做我能改变的事:赐给我智慧,去分辨两者的不同. --平静之祷 1.30.1 论保持的力量 追到一个心仪的女生不难,难于如何保持和培养一份真挚的感情:获得一时的财富也不难,难于如何长久保持收益:创业的公司很容易博得一时媒体的关注以及某次天使的投资,但难于如何排除各种障碍.充分利用各方资源发展成中企业及至上市公司. 同样,提供一时的接口很容易,但当我们需要不断为接口提供升级,以及当我们维护提供一整套接口时,面临的困难和问题会越来越大.所以

java web开发(二) 接口开发

java web开发(一) 环境搭建讲解了如何搭建基础项目,如果你还没了解,可以先去看看!今天我们就来看看接口的开发,打算使用比较古老的或者说比较原始方法实现的接口. 一.数据库设计. 我打算做一个简单的学生信息管理系统,数据库名为students_manage,并且先设计一张学生表,表名为student. 1.打开Sqlyong工具,如果还没创建连接,可以点击新建,输入名称,点击确定即可, 2.然后在保存的连接中选择,刚刚新建的连接,只需要在密码输入框中输入,安装数据库时的设置的密码,点击连接

discuzX2.5后台操作自定义数据库表

转:http://xuliewei.cn/archives/3071 主要讲述如何在后台建立对某数据库表的增删查该,如有雷同纯属巧合.如有不妥欢迎指出1.通过phpmyadmin建表 CREATE TABLE IF NOT EXISTS `pre_jianyanxmlb` ( `lbid` mediumint(8) unsigned NOT NULL auto_increment, `flbid` mediumint(8) unsigned NOT NULL default '0', `lbna