MySQL数据库设计规范
变更记录
版本号 V1.0 V1.6 修改点说明 创建 修改 变更日期 变更人 审批人 EPGL 修改点说明的内容有如下几种:创建、修改(+修改说明)、删除(+删除说明)
第2页,共29页
目 录
1
编写目的 ....................................................................................................................... 5 1.1 1.2 1.3 2
简介 ........................................................................................................................ 5 范围 ........................................................................................................................ 5 术语和定义 ............................................................................................................. 5
数据库策略 ................................................................................................................... 6 2.1 2.2 2.3 2.4 2.5
总则 ........................................................................................................................ 6 设计策略 ................................................................................................................. 6 对象长度策略 .......................................................................................................... 6 数据完整性策略 ...................................................................................................... 6 设计与性能的权衡策略 ........................................................................................... 6
3 基本规范 ....................................................................................................................... 8 3.1 3.2 3.3
功能 ........................................................................................................................ 8 对象使用 ................................................................................................................. 8 设计规范 ................................................................................................................. 9
4 对象命名规范.............................................................................................................. 10 4.1 4.2 4.3 4.4 4.5 4.6
总则 ...................................................................................................................... 10 库命名................................................................................................................... 10 表命名................................................................................................................... 10 字段命名 ............................................................................................................... 11 索引命名 ............................................................................................................... 11 用户 ...................................................................................................................... 12
5 对象设计规范.............................................................................................................. 13 5.1 5.2 5.3 5.4 5.5
总则 ...................................................................................................................... 13 库设计规范 ........................................................................................................... 13 表设计规范 ........................................................................................................... 13 字段设计规范 ........................................................................................................ 14 索引设计规范 ........................................................................................................ 15
6 SQL开发规范 ............................................................................................................. 16 6.1
总则 ...................................................................................................................... 16
第3页,共29页
6.2 6.3 6.4 6.5 7
DML ...................................................................................................................... 16 DDL ...................................................................................................................... 17 Select ................................................................................................................... 17 条件 ...................................................................................................................... 17
行为规范 ..................................................................................................................... 19 7.1 7.2 7.3
建表申请 ............................................................................................................... 19 重大操作 ............................................................................................................... 19 危险行为 ............................................................................................................... 19
8 数据模型产出物规范 ................................................................................................... 21 8.1 8.2 8.3
PDM文件 ............................................................................................................. 21 XML文件 .............................................................................................................. 21 建表脚本 ............................................................................................................... 21
9 附录 ............................................................................................................................ 22 9.1 9.2 9.3
xml文件使用说明 ................................................................................................. 22 MySQL保留关键字 .............................................................................................. 23 字段类型策略 ........................................................................................................ 29
第4页,共29页
1 编写目的
1.1 简介
针对关系型数据库MySQL的相关特性,拟定的相关开发过程的规范,其旨在通过该规范的约束和建议,使开发人员可以在他们所编写的代码中保持统一正确的风格,提供代码的可读性以及减少出现错误的几率。
1.2 范围
本规范仅适用于MySQL型数据库以及其对应的SQL脚本语言。
1.3 术语和定义
本规范采用以下的术语描述:
★ 禁止:编程时明令禁止使用的原则。 ★ 规则:编程时强制遵守的原则。 ★ 说明:对此规则进行必要的解释。 ★ 示例:对此规则或建议给出样例。
第5页,共29页
2 数据库策略
2.1 总则
数据模型全局单一,所有公共的数据模型得到共享。 数据库建模要基于统一的元数据管理机制。 数据库设计遵循关系数据库的规范化理论。 OLTP与OLAP分开设计。 2.2 设计策略
规范数据库设计的主要目的,为了满足当前业务及扩展的需求。主要考虑如下方面:
1) 方便业务功能实现、业务功能扩展;
2) 方便设计开发、增强系统的稳定性和可维护性; 3) 保证数据完整性和准确性;
4) 提高数据存储效率,在满足业务需求的前提下,使时间开销和空间开销
达到优化平衡。
2.3 对象长度策略
数据库字段的长度要考虑业务对象的类型、数据库所用字符集、时间格式来设定出相对准确的长度,满足业务需要,同时保证数据库的高效,避免不必要的开销。
2.4 数据完整性策略
必须遵循数据库设计的第二范式,根据业务需要尽量满足第三范式。 数据完整性尽量通过业务逻辑实现,数据库设计应禁止使用大量的外键约束,禁止使用触发器、存储过程、视图、事件等。 2.5 设计与性能的权衡策略
数据的标准化有助于消除数据库中的数据冗余。如果数据冗余低,数据的一
第6页,共29页
致性容易得到保证,如无特殊理由,OLTP系统的设计应当遵循第三范式,对于OLAP系统,为了减少表间连接查询的操作,提高系统的响应时间,合理的数据冗余是必要的。
第7页,共29页
3 基本规范
数据库的主要目的是存储,为了达到高效使用,必须禁止部分功能和规范对象使用。 3.1 功能
【禁止】禁用外键 【禁止】禁用视图 【禁止】禁用触发器 【禁止】禁用存储过程 【禁止】禁用EVENTS 【禁止】禁用分区表 【禁止】禁用保留字命名 【禁止】禁用ENUM、SET类型 【禁止】禁用TEXT/BLOB类型 【禁止】SQL中禁用HINT信息 3.2 对象使用
【禁止】禁用“-”中划线命令 【禁止】禁用select * 【禁止】禁用频繁短连接 【禁止】禁用数据库层运算 【禁止】禁止滥用外连接 【禁止】禁止超过三个表的关联 【禁止】禁用大事务、大SQL、大批量
【禁止】禁用无条件或永真条件的DELETE和UPDATE语句
第8页,共29页
3.3 设计规范
【禁止】禁止在线上做数据库压力测试 【禁止】禁止从测试、开发环境直连线上数据库 【禁止】禁止在数据库中存储图片、文件等大对象 【禁止】禁止在数据库中存储明文密码,加密后存入数据库
第9页,共29页
4 对象命名规范
4.1 总则
【规则】特殊约定或缩写,要有注释说明 【规则】采用英文单词、英文短语作为名称
【规则】库、表、字段命名的字符范围为:a-z, 0-9 和_(下划线) 【规则】长度控制在18个字符以内,缩写要易于理解,符合通用的习惯 4.2 库命名
【规则】单库仅使用a-z,分库名称为“库名_编号”
【规则】命名规则如下:项目简称+1位数据库类型代码+识别代码+序号
只有一个数据库,则不加序号,否则末尾增加序号。
生产库则不加识别代码,否则需要增加识别代码DEV或TEST 如果只作历史库,则只需要项目简称+H+序号
【说明】数据库代码:
类型代码 T A H 【示例】
出入系统业务生产库:AOCT、AOCT1、AOCT2
出入系统业务开发库:AOCTDEV、AOCTDEV1、AOCTDEV2 出入系统业务测试库:AOCTTEST、AOCTTEST1、AOCTTEST2
4.3 表命名
【规则】单表仅使用a-z、_,分表名称为“表名_编号
【规则】业务表名代表用途、内容:子系统简称_业务含义_后缀
【说明】子系统简称一般2~3字符,有开发定制简称;后缀,普通业务表
第10页,共29页
识别代码 DEV TEST 开发数据库 测试数据库 业务型数据库 分析型数据库 历史数据库 不需要添加后缀。
【规则】常用后缀
类型 临时表 备份表 字典表 历史归档表 日志表 类型表 大字段blob或text 代码、编码
后缀 _tmp、_tmp_yyyymmdd _bak、_bak_yyyymmdd _dic _his _log _type _lob _code 【规则】常用前缀:子系统简称
分析型数据库
子系统 数据存储区中的数据表 事实表 维表数据 中间表
简称 ods_ fac_ dim_ mid_ 4.4 字段命名
【规则】遵循“见名知意”的原则, 格式:名称_后缀 【规则】布尔型的字段,以助动词(has/is)开头 【规则】常用后缀 类型 流水号/无意义主键 类别 名称 描述 代码、编码 标志 时间
4.5 索引命名
【规则】命名格式:前缀_表名(或缩写)_字段名(或缩写)
后缀 id type name desc code flag time 示例 task_id station_type enduser_name station_desc error_code debug_flag insert_time 第11页,共29页
【规则】复合索引,取每字段前三个字符加下划线组合 【规则】常用前缀
类型 前缀 主键 pk_ UNIQUE约束 uk_ 普通索引 i_ 4.6 用户
【规则】与数据库名或业务名称保持一致
第12页,共29页
5 对象设计规范
5.1 总则
【规则】表使用innodb存储引擎
【规则】库、表、重要字段必须有注释,对于冗余字段要说明其维护方法 【规则】不同表之间的相同字段其属性值要保持一致
5.2 库设计规范
【规则】创建DB和表时显示指定字符集
【规则】对恶魔字符集emoji用utf8mb4(ios常用)
【规则】库表字符集和前端程序、中间件必须保持一致UTF8
【禁止】禁止使用BASE库存放业务数据,BASE库只能存放配置数据
5.3 表设计规范
【规则】必须显示指定engine和charset 【规则】所有业务表必须是innodb表 【规则】表必须有主键
主键字段名有意义,字段长度要尽量小 主键列为独立于业务 不使用复合索引作为主键 不使用字符串列作为主键 不使用频繁更新的列作为主键
不使用UUID、MD5、HASH 作为主键
主键选择数值型,使用自增或全局ID,并禁止更新
全局ID的生成规则:前缀+流水号规则。前缀:时间戳等有序数字
【规则】热库表的数量不超过300个
第13页,共29页
【规则】热表行数纯int不超过2000W,含char不超过1000W 【规则】临时表和备份表定期清理
【规则】需要重复引用大型表或常用表中的某个数据集时,可以使用临时表。 【规则】尽量保持表中行长度较小,表中的所有字段长度总和最长不应超过8K。
【规则】表的水平切分
用HASH进行水平切分时,表名后缀使用十进制数,下标从000开
始
首次分表尽量多的分,避免二次分表,二次分表的难度和成本较高 按日期时间分表需符合YYYYMMDDHH格式 采用合适的分库分表策略,如十库百表 大表要有明确的数据离线保留策略。
5.4 字段设计规范
【规则】字段的宽度适中
【禁止】禁止在数据库中使用大字段 【规则】单表字段数上限控制在20~50个
【规则】所有字段必须为NOT NULL,NULL列指定default值 【规则】单表不超过50个纯int字段,或不超过20个varchar字段 【规则】保持字段名和数据类型的一致性,例如user_id不要使用varchar
【规则】短数据使用tinyint或smallint 【规则】使用TINYINT来代替ENUM类型 【规则】使用unsigned存储非负数值。 【规则】使用整数保存ip地址和timestamp时间 【规则】对货币等对精度敏感的数据,应该用定点数
【规则】用DECIMAL代替FLOAT和DOUBLE存储精确浮点数 【规则】整形定义中不指定长度,比如使用INT,而不是INT(4)
第14页,共29页
【规则】变长使用varchar类型
【规则】单个字符的全部使用CHAR类型
【规则】字段中字符长度固定且较小时,使用CHAR()存储,如MD5、身份证号、手机号、性别等。
【规则】仅存储年使用YEAR类型,存储日期使用DATE类型。 【规则】精确到天,使用date类型
【规则】精确到时间(年月日时分秒),使用DATETIME 或TIMESTAMP
5.5 索引设计规范
【禁止】禁止外键
【规则】重要SQL需求的索引优先 【规则】单个表上索引不超过5个 【规则】重复值过高的列,不创建索引
【规则】复合索引
复合索引中的字段数不超过3个 核心SQL优先考虑索引覆盖
复合索引字段的顺序,区分度大的列放在前 合理创建复合索引,避免冗余或重复索引
【规则】不适合创建索引情况
更新太频繁的列
重复值过高的列,例如性别,status, type 进行数学运算和函数运算的列
【规则】重要的SQL必须被索引
SELECT、UPDATE、DELETE语句的WHERE条件列 ORDER BY、GROUP BY、DISTINCT的字段 多表JOIN的关联字段
第15页,共29页
6 SQL开发规范
6.1 总则
【规则】尽量使用单条SQL操作数据库,复杂的SQL可以拆分成多个小的SQL执行
【规则】使用预编译语句,只传递参数 【规则】永远用小结果集驱动大的结果集 【规则】必须查询执行计划,严禁有全表扫描上线 【规则】尽可能在索引中完成排序 【规则】使用最有效的过滤条件
【规则】关键SQL语句,表关联原则上不能超过3个 【规则】SQL语句书写要规范
SQL语句统一使用小写,每个词只允许有一个空格 避免同一SQL由于书写格式的不同而导致多次语法分析
【规则】尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理。
【规则】程序中应有捕获SQL异常的处理机制
【规则】不要将Null与 空串''视为相同。数据库中不允许出现空串。 【规则】使用EXPLAIN判断SQL语句是否合理使用索引,避免extra列出现:Using File Sort,Using Temporary
6.2 DML
【规则】大批量数据dml(update、delete、insert等)操作时,需要分批提交 【禁止】禁止单步commit,分批commit(100-10000)
【规则】insert表时建议写字段名,避免表顺序变动后字段插错顺序 【规则】尽量使用PK键值作为应用中update或delete记录条件 【规则】减少与数据库的交互次数,一次交互完成多次同类型任务
禁止单条SQL语句同时更新多个表
第16页,共29页
Insert … on duplicate key update Replace into、insert into values(),(),()… Update … where id in (1,2,3,4)
Alter table tbl_name add column col1, add column col2
6.3 DDL
【禁止】在业务运行期间运行的程序中禁止ddl(create、drop等)操作 【规则】明确事务边界
应用中事务开始要明确关闭“自动提交”设置autocommit=0 应用中显式的提交或回滚事务(commit/rollback) 事务要简单,整个事务持续时间不要太长
6.4 Select
【禁止】禁止使用select for update语句.
【禁止】SELECT列表中明确指定字段,禁止使用select * 【规则】From列表中,常数表优先,字典表或小表其次,大表最后 【规则】使用in代替or,in的值不超过500个 【规则】使用union all 而不是union 【规则】尽可能避免Join和子查询、or操作 【规则】多表关联所涉及字段必须有索引
6.5 条件
【禁止】禁止对左侧字段上使用函数、运算
【禁止】禁止出现隐式转换,明确字段与变量的类型对应 【规则】条件所涉及字段上尽量有索引 【规则】字段顺序尽量与索引顺序保持一致
【禁止】禁止使用开关条件,如1=1,1=0等
第17页,共29页
【禁止】禁止使用 not、!=、<>、is null, is not null条件 【规则】多用等值操作;>,<操作转换为>=,<= 【规则】避免使用NULL字段做为条件,不能使用索引
在字段上设置默认值0,确保表中列没有null值
【规则】like子句尽量前置匹配,前置不加%,以便能够利用索引 【规则】充分利用前缀索引,必须是最左前缀
【禁止】禁止无意义order by操作,禁止使用order by rand() 【规则】尽可能减少group by操作
【规则】group by 语句如果得到的result set需要sort ,加上order by 【规则】尽可能使用where条件替代having子句 【规则】使用LIMIT分页时,偏移量不能超过500
第18页,共29页
7 行为规范
7.1 建表申请
1) 必须提供建表用途及建表申请人,描述清楚所属业务模块及表中数据用
途
2) 必须提供表中数据的预估量,以及每行数据大致占用空间
3) 必须严格区分表的用途,并在提交脚本中说明,诸如:日志类表、业务
信息表、配置表、临时表等
4) 必须清楚标明每张表中数据的生命周期,对于日志类和接口类表数据生
命周期不得超过6个月
5) 必须在设计伊始就考虑数据清理机制
6) 超过数据生命周期的表中数据将会移出生产环境,在程序设计中必须考
虑这个问题
7) 提交建表、修改表结构需求时,必须详细注明所有相关SQL语句 8) 所有的建表、修改表结构需要确定建立哪些索引后才可以上线 7.2 重大操作
1) 所有的修改表结构、加索引操作都需要将涉及到所改表的SQL发出来,
告知DBA等相关人员
2) 在建新表加字段之前,要求研发至少要提前3天邮件出来,给出dba评
估、优化和审核的时间
3) 批量导入、导出数据必须提前通知DBA协助观察
4) 批量更新数据,如update, delete 操作,需要DBA进行审查,并在执
行过程中观察服务
7.3 危险行为
1) 禁止在主库上执行后台管理和统计类的功能查询 2) 禁止有super权限的应用程序账号存在
3) 产品出现非数据库导致的故障时,及时通知DBA协助排查
第19页,共29页
4) 上线新功能提前通知DBA进行流量评估 5) 数据库数据丢失,及时联系DBA进行恢复 6) 对单表的多次alter操作须合并为一次操作 7) 不在MySQL数据库中存放业务逻辑
8) 重要的库表,提前与DBA沟通确定维护和备份优先级 9) 不在业务高峰期批量更新、查询数据库 10) 不在业务高峰期修改表结构,添加、删除字段
第20页,共29页
8 数据模型产出物规范
8.1 PDM文件
数据模型产出物统一为PDM文件。各个项目根据情况,可以区分概念模型和物理模型; 8.2 XML文件
数据模型需要产出相应的XML文件,通过PDM进行转换,具体xml使用说明参照附录9.1。 8.3 建表脚本
数据库的建表脚本作为数据库设计的规范产出物,需要严格进行版本控制,有统一的命名规范,命名规范如下:
创建表脚本:项目简称_create_table.sql。
修改表脚本:项目简称_alter_table.sql,在原有表的基础上做的修改,
增加字段、主键、外键、索引等。
注:修改表脚本只作为备忘,所有表结构的修改,都必须实时更新“PDM文件”和“创建表脚本”,便于项目实施时表结构的导入。
第21页,共29页
9 附录
9.1 xml文件使用说明
表结构设计文件是指在进行表,视图,以及约束的设计过程中所产生的文件。 格式:xml文件
上面两行格式固定,主要用于数据结构的列表展示,每一个表结构文件都要引用
须维护。 下面允许有多个 表定义节点,下面允许有多个 属性chineseDescription指表的中文名称。 属性pkg指由表结构自动生成的java类所在包路径。 属性jspPath指由表结构自动生成的jsp文件在所路径 属性function=“all”指生成增删改查 属性head =“TABLE_NAME”指当前表的主表名称 属性line = “TABLE_NAME”指当前表的细表名称 第22页,共29页 属性name指代字段的英文名称(即字段名) primaryKey =“true”用来标识当前列为主键列 required=“true”用来标识当前列是否允许为空 type=“VARCHAR”用来标识当前列的字段类型定义 size=“10” 用来标识当前列的字段长度 chineseDescription=“内码”用来标识当前列的字段中文名称 queryShow=“true”标识列中在查询列表中是否显示 searchShow=“true”标识列中在查询条件中是否显示 updateShow=““标识列中在修改页面中是否显示 insertShow=“true”标识该列在插入页面中是否显示 detailShow=“true”标识该列在明细页面中是滞显示 enumValue=“1:JSP,2:CLASS”标识该列允许的选择值及代表意义。 reference>子节点 段与引用表字段根据字段名关联起来 9.2 MySQL保留关键字 对象命名不允许使用的关键字: ABSOLUTE ABSOLUTE ACTION ADA ADD INDICATOR INITIALIZE INITIALLY INNER INOUT SYSTEM_USER TABLE TEMPORARY TERMINATE TEXTSIZE AUXILIARY BUFFERPOOL CALLED CAPTURE CCSID 第23页,共29页 ADMIN AFTER AGGREGATE ALIAS ALL ALLOCATE ALTER AND ANY ARE ARRAY AS ASC ASSERTION AT AUTHORIZATION AVG BACKUP BEFORE BEGIN BETWEEN BINARY BIT BIT_LENGTH BLOB BOOLEAN BOTH BREADTH BREAK BROWSE BULK BY CALL CASCADE INPUT INSENSITIVE INSERT INT INTEGER INTERSECT INTERVAL INTO IS ISOLATION ITERATE JOIN KEY KILL LANGUAGE LARGE LAST LATERAL LEADING LEFT LESS LEVEL LIKE LIMIT LINENO LOAD LOCAL LOCALTIME LOCALTIMESTAMP LOCATOR LOWER MAP MATCH MAX THAN THEN TIME TIMESTAMP TIMEZONE_HOUR TIMEZONE_MINUTE TO TOP TRAILING TRAN TRANSACTION TRANSLATE TRANSLATION TREAT TRIGGER TRIM TRUNCATE TSEQUAL UNDER UNION UNIQUE UNKNOWN UNNEST UPDATE UPDATETEXT UPPER USAGE USE USER USING VALUE VALUES VARCHAR VARIABLE CLUSTER COLLECTION COLLID COMMENT CONCAT CONDITION COUNT_BIG CURRENT_LC_PATH CURRENT_SERVER CURRENT_TIMEZONE DAYS DB2GENERAL DB2SQL DBA DBINFO DBSPACE DISALLOW DO DSSIZE EDITPROC ELSEIF ENCRYPT ERASE EXCLUSIVE EXPLAIN FENCED FIELDPROC FINAL GENERATED GRAPHIC HANDLER HOURS IDENTIFIED INTEGRITY 第24页,共29页 CASCADED CASE CAST CATALOG CHAR CHAR_LENGTH CHARACTER CHARACTER_LENGTH CHECK CHECKPOINT CLASS CLOB CLOSE CLUSTERED COALESCE COLLATE COLLATION COLUMN COMMIT COMPLETION COMPUTE CONNECT CONNECTION CONSTRAINT CONSTRAINTS CONSTRUCTOR CONTAINS CONTAINSTABLE CONTINUE CONVERT CORRESPONDING COUNT CREATE CROSS CUBE CURRENT CURRENT_DATE MIN MINUTE MODIFIES MODIFY MODULE MONTH NAMES NATIONAL NATURAL NCHAR NCLOB NEW NEXT NO NOCHECK NONCLUSTERED NONE NOT NULL NULLIF NUMERIC OBJECT OCTET_LENGTH OF OFF OFFSETS OLD ON ONLY OPEN OPENDATASOURCE OPENQUERY OPENROWSET OPENXML OPERATION OPTION OR VARYING VIEW WAITFOR WHEN WHENEVER WHERE WHILE WITH WITHOUT WORK WRITE WRITETEXT YEAR ZONE FALSE TRUE ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN BY CHAR CHECK CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT DATE ISOBID JAVA LABEL LC_CTYPE LEAVE LINKTYPE LOCALE LOCATORS LOCK LOCKSIZE LONG LOOP MICROSECOND MICROSECONDS MINUTES MODE MONTHS NAME NAMED NHEADER NODENAME NODENUMBER NULLS NUMPARTS OBID OPTIMIZATION OPTIMIZE PACKAGE PAGE PAGES PART PARTITION PCTFREE PCTINDEX PIECESIZE PRIQTY PRIVATE 第25页,共29页 CURRENT_PATH CURRENT_ROLE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CYCLE DATA DATABASE DATE DAY DBCC DEALLOCATE DEC DECIMAL DECLARE DEFAULT DEFERRABLE DEFERRED DELETE DENY DEPTH DEREF DESC DESCRIBE DESCRIPTOR DESTROY DESTRUCTOR DETERMINISTIC DIAGNOSTICS DICTIONARY DISCONNECT DISK DISTINCT DISTRIBUTED DOMAIN ORDER ORDINALITY OUT OUTER OUTPUT OVER OVERLAPS PAD PARAMETER PARAMETERS PARTIAL PASCAL PATH PERCENT PLAN POSITION POSTFIX PRECISION PREFIX PREORDER PREPARE PRESERVE PRIMARY PRINT PRIOR PRIVILEGES PROC PROCEDURE PUBLIC RAISERROR READ READS READTEXT REAL RECONFIGURE RECURSIVE DECIMAL DEFAULT DELETE DESC DISTINCT DROP ELSE EXCLUSIVE EXISTS FILE FLOAT FOR FROM GRANT GROUP HAVING IDENTIFIED IMMEDIATE IN INCREMENT INDEX INITIAL INSERT INTEGER INTERSECT INTO IS LEVEL LIKE LOCK LONG MAXEXTENTS MINUS MLSLABEL MODE MODIFY PROGRAM PSID QUERYNO RECOVERY RELEASE RENAME REORG REPEAT RESET RESOURCE RRN RUN SCHEDULE SCRATCHPAD SECONDS SECQTY SECURITY SHARE SIMPLE SOURCE STANDARD STAY STOGROUP STORES STORPOOL STYLE SUBPAGES SYNONYM TABLESPACE TYPE UNDO UNTIL UPSERT VALIDPROC VARIANT VCAT 第26页,共29页 DOUBLE DROP DUMMY DUMP DYNAMIC EACH ELSE END END-EXEC EQUALS ERRLVL ESCAPE EVERY EXCEPT EXCEPTION EXEC EXECUTE EXISTS EXIT EXTERNAL EXTRACT FETCH FILE FILLFACTOR FIRST FLASE FLOAT FOR REF REFERENCES REFERENCING RELATIVE REPLICATION RESTORE RESTRICT RESULT RETURN RETURNS REVOKE RIGHT ROLE ROLLBACK ROLLUP ROUTINE ROW ROWCOUNT ROWGUIDCOL ROWS RULE SAVE SAVEPOINT SCHEMA SCOPE SCROLL SEARCH SECOND NOAUDIT NOCOMPRESS NOT NOWAIT NULL NUMBER OF OFFLINE ON ONLINE OPTION OR ORDER PCTFREE PRIOR PRIVILEGES PUBLIC RAW RENAME RESOURCE REVOKE ROW ROWID ROWNUM ROWS SELECT SESSION SET VOLUMES WLM YEARS ADD ARITH_OVERFLOW CHAR_CONVERT CONFIRM CONTROLROW ENDTRAN ERRORDATA ERROREXIT EXP_ROW_SIZE IDENTITY_GAP IDENTITY_START INSTALL JAR MAX_ROWS_PER_PAGE MIRROR MIRROREXIT NOHOLDLOCK NUMERIC_TRUNCATION ONCE ONLINE PERM PERMANENT PROCESSEXIT PROXY_TABLE QUIESCE 第27页,共29页 FOREIGN FORTRAN FOUND FREE FREETEXT FREETEXTTABLE FROM FULL FUNCTION GENERAL GET GLOBAL GO GOTO GRANT GROUP GROUPING HAVING HOLDLOCK HOST HOUR IDENTITY IDENTITY_INSERT IDENTITYCOL IF IGNORE IMMEDIATE IN INCLUDE INDEX SECTION SELECT SEQUENCE SESSION SESSION_USER SET SETS SETUSER SHUTDOWN SIZE SMALLINT SOME SPACE SPECIFIC SPECIFICTYPE SQL SQLCA SQLCODE SQLERROR SQLEXCEPTION SQLSTATE SQLWARNING START STATE STATEMENT STATIC STATISTICS STRUCTURE SUBSTRING SUM SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM SYSDATE TABLE THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE VALUES VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH ACQUIRE ALLOW AS ASUTIME AUDIT AUX READPAST REMOVE REPLACE RESERVEPAGEGAP SHARED STRIPE SYB_IDENTITY SYB_RESTREE TEMP UNPARTITION USER_OPTION 第28页,共29页 9.3 字段类型策略 常用字段类型 常用字段 销售额等金额 税率、比例、分成 货物单价 人数 人名 单位名称、地址 说明、理由、意见 常用字段名 常用字段名 optr_code opt_date remark stand IS_ 解释 操作员工号 操作时间 备用字段 备注 是、否”类型的字段 类型 decimal (16,2) decimal (10,6) decimal (16,6) BIGINT VARCHAR(50) VARCHAR (100) VARCHAR (200) 第29页,共29页 因篇幅问题不能全部显示,请点此查看更多更全内容节点
“com.tl. deploy.machine” jspPath=“com/tenglong/deploy/machine” function1=“all”>