数据仓库编程规范
数据库标准化与规范操作手册

数据库标准化与规范操作手册数据库的标准化与规范是保证数据一致性、完整性和可靠性的重要手段。
通过制定统一的标准和操作规范,可以提高数据库管理的效率和可维护性,并降低出错的概率。
本文将介绍数据库标准化与规范的基本原则和一些常用的操作手册。
一、数据库标准化原则1. 第一范式(1NF):每个属性都是不可再分的,即确保数据的原子性。
确保每一列的值都是离散的,并且在每一个数据库中,每一个列都只包含一个数据元素。
这可以消除重复的数据,提高数据存储的效率。
例如,将含有重复信息的员工表拆分成员工信息表、部门信息表和工资信息表。
2. 第二范式(2NF):表中的非主键属性完全依赖于主键,即确保数据的同质性。
非主键属性应当直接依赖于主键,而不是依赖于其他非主键属性,避免数据冗余和更新异常。
例如,将一个订单表拆分成客户信息表和订单信息表,以确保每个表只包含相关的信息。
3. 第三范式(3NF):消除传递依赖,即确保数据的完整性。
每一个非主键属性都不能传递依赖于主键的其他非主键属性。
如有传递依赖情况,应将其拆分成多个表。
例如,将含有冗余信息的供应商表拆分成供应商信息表和产品信息表,保证表之间的关系更加清晰明确。
二、数据库规范操作1. 命名规范为了保证数据库的清晰易读和易维护,在命名对象时应遵循以下规范:- 表名:使用小写字母和下划线组合,具有具体和明确的含义。
- 字段名:遵循驼峰准则,使用具有具体和明确含义的字段名。
- 约束名:约束名的名称应当清晰明确,以便于理解和修改。
- 索引名:索引名的命名应当清晰明确,反映索引的用途和字段。
2. 数据库设计规范- 数据库表的字段应当根据其含义进行命名,清晰易懂。
- 字段的数据类型应当选择最适合其存储的数据类型。
- 为每个表设置一个主键,以确保数据表的唯一性和完整性。
- 适当地使用外键来定义表之间的关系,以确保数据的一致性。
- 设计合适的索引,以提高数据查询的速度。
3. 数据库操作规范- 对于表的操作,应在事务的保护下进行,以保护数据的完整性和一致性。
代码规范遵循行业标准

代码规范遵循行业标准随着软件开发行业的快速发展,代码规范的重要性日益凸显。
在团队合作开发中,遵循行业标准的代码规范可以提高代码质量、可读性和可维护性。
本文将介绍一些常用的代码规范,以及它们在行业中的应用。
一、命名规范1.1 变量命名在命名变量时,应使用有意义的变量名。
变量名应该能够准确描述该变量所代表的含义。
避免使用单个字符或数字作为变量名。
可以使用驼峰命名法(camel case)或下划线命名法(underscore case)。
1.2 函数和方法命名函数和方法命名应以动词开头,后接名词或动词词组。
应能准确描述该函数或方法的功能和作用。
1.3 类命名类名应使用名词或名词短语,并使用驼峰命名法。
类名应该能够准确描述该类的含义和功能。
1.4 常量命名常量应使用全大写字母,并使用下划线分隔单词。
二、缩进和空格2.1 缩进在代码块中使用四个空格的缩进。
避免使用制表符(Tab)进行缩进。
2.2 空格在运算符周围和逗号后面使用空格,这可以提高代码的可读性。
避免在括号内使用空格。
三、注释规范3.1 单行注释在代码行的末尾添加注释时,使用双斜线(//)。
3.2 多行注释对于多行注释,使用/*开头和*/结尾。
四、代码格式化4.1 代码行长度为了保持代码的可读性,建议将每行代码的长度限制在80个字符以内。
对于过长的代码行,可以使用换行符进行分割。
4.2 空行在代码块的不同部分之间使用空行进行分隔,以增加代码的可读性。
五、错误处理5.1 异常处理合理处理程序中可能出现的异常情况,避免直接抛出异常或仅简单地忽略异常。
5.2 错误日志记录对于可能出现的错误,及时进行错误日志记录,以便在程序出错时进行定位和调试。
六、代码复用6.1 函数和方法的复用避免写重复的代码,将相似的功能提取成函数或方法进行复用,以提高代码的可维护性。
6.2 类的复用合理设计类的继承关系,使用继承和接口实现类的复用。
七、版本控制7.1 使用版本控制系统使用版本控制系统(如Git)对代码进行管理,确保代码的版本可控。
数据库开发安全规范

数据库开发安全规范1. 密码安全- 使用强密码:密码应包含大小写字母、数字和特殊字符,并且长度应不少于8位。
- 定期更换密码:为了保持数据库的安全性,管理员应定期更换数据库密码。
- 不保存明文密码:开发人员不得将用户密码以明文形式存储在数据库中。
2. 数据备份和恢复- 定期备份数据:管理员应定期备份数据库中的重要数据,以防止数据丢失或损坏。
- 离线备份:备份数据应存储在不同物理位置的离线设备上,以防止数据丢失或被未经授权的访问者篡改。
- 定期测试数据恢复:管理员应定期测试数据库备份的可恢复性,以确保在发生数据丢失时能够快速进行恢复操作。
3. 访问控制- 最小权限原则:管理员应为开发人员分配最小必要权限,以降低数据泄露和滥用的风险。
- 严格权限控制:数据库用户应仅被授予其工作所需的权限,以防止未经授权的访问和数据泄露。
- 监控和审计:管理员应实施日志监控和审计机制,以便及时检测和响应异常访问行为。
4. 网络安全- 防火墙配置:数据库服务器应配置防火墙,限制从外部网络访问数据库的连接。
- 加密通信:数据库的网络通信应使用加密协议,如SSL/TLS,以确保数据在传输过程中的安全性。
- 远程访问限制:禁止未经授权的远程访问数据库,仅允许经过身份验证的用户进行远程访问。
5. 安全审计- 定期安全审计:管理员应定期进行数据库安全审计,包括检查权限配置、访问日志、异常行为等,以发现潜在的安全隐患。
- 及时处理安全漏洞:一旦发现数据库安全漏洞,管理员应立即采取措施进行修复,以防止被黑客利用。
以上是数据库开发安全规范的主要内容。
管理员和开发人员应严格遵守这些规范,以保护数据库中的数据安全和用户隐私。
数据仓库开发规范

01数据层次的划分具体仓库的分层情况需要结合业务场景、数据场景、系统场景进行综合考虑,下面我们看一下常见的分层•ODS:Operational Data Store,操作数据层,在结构上其与源系统的增量或者全量数据基本保持一致。
它相当于一个数据准备区,同时又承担着基础数据的记录以及历史变化。
其主要作用是把基础数据引入到数仓。
•CDM:Common Data Model,公共维度模型层,又细分为DWD和DWS。
它的主要作用是完成数据加工与整合、建立一致性的维度、构建可复用的面向分析和统计的明细事实表以及汇总公共粒度的指标。
▪DWD:Data Warehouse Detail,明细数据层。
▪DWS:Data Warehouse Summary,汇总数据层。
•ADS:Application Data Service,应用数据层。
02数据分类架构该数据分类架构在ODS层分为三部分:数据准备区、离线数据和准实时数据区。
在进入到CDM层后,由以下几部分组成:•公共维度层:基于维度建模理念思想,建立整个企业的一致性维度。
•明细粒度事实层:以业务过程为建模驱动,基于每个具体业务过程的特点,构建最细粒度的明细层事实表。
您可以结合企业的数据使用特点,将明细事实表的某些重要维度属性字段做适当的冗余,即宽表化处理。
•公共汇总粒度事实层:以分析的主题对象为建模驱动,基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表,以宽表化手段来物理化模型。
03数据划分及命名约定请根据业务划分数据并约定命名,建议针对业务名称结合数据层次约定相关命名的英文缩写,这样可以给后续数据开发过程中,对项目空间、表、字段等命名做为重要参照。
数据划分•按业务划分:命名时按主要的业务划分,以指导物理模型的划分原则、命名原则及使用的ODS project。
•按数据域划分:命名时按照CDM层的数据进行数据域划分,以便有效地对数据进行管理,以及指导数据表的命名。
数据仓库规范

数据仓库规范一.数据仓库层次结构规范1.1 基本分层结构系统的信息模型从存储的内容方面可以分为,STAGE接口信息模型、ODS/DWD信息模型,MID信息模型、DM信息模型、元数据信息模型。
在各个信息模型中存储的内容如下描述:1) SRC接口层信息模型:提供业务系统数据文件的临时存储,数据稽核,数据质量保证,屏蔽对业务系统的干扰,对于主动数据采集方式,以文件的方式描述系统与各个专业子系统之间数据接口的内容、格式等信息。
与该模型对应的数据是各个专业系统按照该模型的定义传送来的数据文件。
STAGE是生产系统数据源的直接拷贝,由ETL过程对数据源进行直接抽取,在格式和数据定义上不作任何改变。
与生产系统数据的唯一不同是,STAGE层数据具有时间戳。
STAGE层存在的意义在于两点:(1)对数据源作统一的一次性获取,数据仓库中其他部分都依赖于STAGE层的数据,不再重复进行抽取,也不在生产系统上作运算,减小生产系统的压力;(2)在生产系统数据已经刷新的情况下,保存一定量的生产系统的历史数据,以便在二次抽取过程中运算出错的情况下可以进行回溯。
2) ODS/DWD层(对应原模型的ODS和DW层)信息模型:简称DWD层是数据仓库的细节数据层,是对STAGE层数据进行沉淀,减少了抽取的复杂性,同时ODS/DWD的信息模型组织主要遵循企业业务事务处理的形式,将各个专业数据进行集中。
为企业进行经营数据的分析,系统将数据按分析的主题的形式存放,跟STAGE层的粒度一致,属于分析的公共资源。
3) MID 信息模型:轻度综合层是新模型增加的数据仓库中DWD层和DM层之间的一个过渡层次,是对DWD层的生产数据进行轻度综合和汇总统计。
轻度综合层与DWD的主要区别在于二者的应用领域不同,DWD的数据来源于生产型系统,并为满足一些不可预见的需求而进行沉淀;轻度综合层则面向分析型应用进行细粒度的统计和沉淀。
4) DM信息模型:为专题经营分析服务,系统将数据按分析的专题组织成多维库表的形式存放,属于分析目标范畴的数据组织与汇总,属于分析的专有资源。
数据库设计规范

数据库设计规范数据库设计规范是指在进行数据库设计时需要遵循的一系列规则和准则,以确保数据库的结构和功能能够满足用户需求,并且能够高效地进行数据管理和存储。
本文将介绍一些常见的数据库设计规范,包括命名规范、数据类型选择、索引设计、表关系设计等。
1. 命名规范在数据库设计中,良好的命名规范能够使数据库对象更易于理解和维护。
以下是一些建议:1.1 表名、列名和约束名应使用清晰明了的描述性词汇,避免使用含糊不清或缩写的名称。
1.2 使用统一的命名风格,如下划线命名法(例如:user_name)或者驼峰命名法(例如:userName)。
1.3 避免使用数据库关键字作为对象的名称,以免引起冲突。
2. 数据类型选择选择合适的数据类型对数据库的性能和空间利用是至关重要的。
以下是一些常见的数据类型选择规范:2.1 尽量使用较小的数据类型,以减少存储空间和提高查询性能。
2.2 对于整数类型,根据实际需求选择合适的精度(如TINYINT、SMALLINT、INT等)。
2.3 对于字符串类型,根据实际需求选择合适的长度(如VARCHAR、CHAR等)。
2.4 避免使用文本型字段存储大量的文本数据,可以考虑使用CLOB或BLOB类型。
3. 索引设计合理的索引设计可以加速查询操作,但是过多或不恰当的索引会增加维护成本和写操作的开销。
以下是一些常见的索引设计规范:3.1 为频繁使用作为查询条件的字段添加索引,以提高查询性能。
3.2 避免在较小的表或者稀疏的字段上创建索引,因为这可能导致索引失效并降低性能。
3.3 当需要根据多个字段进行查询时,考虑创建复合索引,以提高查询效率。
4. 表关系设计在数据库设计中,表与表之间的关系是非常重要的。
以下是一些常见的表关系设计规范:4.1 使用主键(Primary Key)和外键(Foreign Key)来建立表与表之间的关联,以确保数据的完整性和一致性。
4.2 避免使用过多的嵌套层次关系,以减少查询的复杂性。
数据库设计规范_编码规范

数据库设计规范_编码规范数据库设计规范包括数据库表结构的设计原则和数据库编码规范。
数据库表结构的设计原则包括表的命名规范、字段的命名规范、主键和外键的设计、索引的使用、约束的定义等。
数据库编码规范包括SQL语句的书写规范、存储过程和函数的命名规范、变量和参数的命名规范、注释的使用等。
1.表的命名规范-表名使用有意义的英文单词或短语,避免使用拼音或缩写。
- 使用下划线(_)作为单词之间的分隔符,如:user_info。
- 表名使用单数形式,如:user、order。
2.字段的命名规范-字段名使用有意义的英文单词或短语,避免使用拼音或缩写。
- 字段名使用小写字母,使用下划线(_)作为单词之间的分隔符,如:user_name。
- 字段名要具有描述性,可以清楚地表示其含义,如:user_name、user_age。
3.主键和外键的设计-每张表应该有一个主键,用于唯一标识表中的记录。
- 主键字段的命名为表名加上“_id”,如:user_id。
- 外键字段的命名为关联的表名加上“_id”,如:user_info_id,指向user_info表的主键。
4.索引的使用-对于经常用于查询条件或连接条件的字段,可以创建索引,提高查询性能。
-索引的选择要权衡查询性能和写入性能之间的平衡。
-不宜为每个字段都创建索引,避免索引过多导致性能下降。
5.约束的定义-定义必要的约束,保证数据的完整性和一致性。
-主键约束用于保证唯一性和数据完整性。
-外键约束用于保证数据的一致性和关联完整性。
6.SQL语句的书写规范-SQL关键字使用大写字母,表名和字段名使用小写字母。
-SQL语句按照功能和逻辑进行分行和缩进,提高可读性。
-使用注释清晰地描述SQL语句的功能和用途。
7.存储过程和函数的命名规范-存储过程和函数的命名要具有描述性,可以清楚地表示其功能和用途。
-使用有意义的英文单词或短语,避免使用拼音或缩写。
- 使用下划线(_)作为单词之间的分隔符,如:get_user_info。
数据仓库国家标准规范最新

数据仓库国家标准规范最新随着信息技术的快速发展,数据仓库作为企业数据管理和分析的核心工具,其标准化建设对于确保数据的一致性、安全性和可扩展性至关重要。
以下是关于数据仓库国家标准规范的最新概述:# 数据仓库国家标准规范最新引言数据仓库国家标准规范旨在为企业提供一个统一的数据管理框架,以支持数据的集成、存储、管理和分析。
这些规范有助于提升数据处理的效率,降低运营成本,并确保数据的准确性和可靠性。
1. 数据定义和分类- 明确数据的定义,包括结构化数据和非结构化数据。
- 根据业务需求和数据特性,对数据进行合理分类。
2. 数据集成- 规定数据集成的方法和流程,确保数据源的多样性和数据的一致性。
- 采用ETL(Extract, Transform, Load)等技术实现数据的抽取、清洗和加载。
3. 数据存储- 规定数据存储的格式和结构,支持关系型数据库和非关系型数据库的存储需求。
- 确保数据存储的安全性,包括数据备份和灾难恢复机制。
4. 数据质量管理- 制定数据质量标准,包括数据的准确性、完整性、一致性和时效性。
- 实施数据质量监控和评估机制,及时发现并纠正数据问题。
5. 数据安全与隐私保护- 规定数据访问控制和权限管理,确保数据的安全性。
- 遵守相关的数据保护法规,保护个人隐私和敏感信息。
6. 数据分析与报告- 规定数据分析的方法和工具,支持高级分析和数据挖掘。
- 制定报告生成的标准格式,确保报告的一致性和可读性。
7. 数据治理- 明确数据治理的职责和流程,包括数据的所有权、使用权和责任。
- 建立数据治理委员会,负责监督和指导数据仓库的建设和维护。
8. 技术标准和接口规范- 规定数据仓库的技术架构和接口标准,确保系统的兼容性和扩展性。
- 支持开放标准和API,促进数据的共享和互操作。
结语数据仓库国家标准规范的最新发展,为企业提供了一个坚实的数据管理基础。
通过遵循这些规范,企业能够更有效地利用数据资源,提升决策质量和业务竞争力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
未经允许,不可全部或部分发表、复制、使用于任何目的文档修订摘要1引言编写目的编写《数据仓库开发规范(dbsql系统)(1.0)》的目的是:dbsql封装了访问db2,oracle,greenplum,Sybase 和Teradata数据库的方法,形成了一套访问db2,oracle,greenplum,sybase和Teradata数据库的统一接口。
dbsql不仅提供了对db2,oracle,greenplum,sybase和Teradata访问方法的统一,而且提供了一些方法屏蔽5个数据库之间sql语言的差别。
这样对于应用程序,只需要编写一套代码,就可以操纵db2,oraclee,greenplum,sybase和Teradata数据库,对开发工程师而言,只用熟悉sql92的标准sql和此文档sql函数就本文档供以下相关人员阅览:◆参于数据仓库设计评审的专家人员;◆参与数据仓库软件开发的软件部人员;◆参与数据分析系统测试人员。
1.1 背景介绍◆开发的软件系统的名称:数据仓库编程规范◆开发单位:数据分析部◆系统使用单位:◆该软件系统是数据仓库底层开发跨平台异构数据仓库的基础平台1.2 术语定义1.3 参考资料参考资料共包括:◆《Tcl/Tk 编程权威指南》◆《Expert One on One: Oracle》◆《Oracle 数据库DBA专题技术精粹》2DBsql环境配置2.1 目录设置2.2 环境变量主要环境变量设置包括:$DBSQL:程序安装点,开发时设置为个人目录。
$AGENTLOGDIR:Scehdule Server日志采集目录,通常设置为$DBSQL/log$AGENTTRACEDIR:日志及TRACE文件目录。
(Schedule Server不采集,可用于存放调试信息)$TOOLS:存放tcl运行环境包及异构数据库编译的动态包安装目录。
用户可以在用户目录下创建.profile文件,例如:2.3 开发与安装开发时需要作如下设置:将dss及_common.tcl复制到$DBSQL/bin下;将_common.cfg复制到$DBSQL/etc下;参照dwd_trade_base_ds.tcl开发各处理程序,有关dwd_trade_base_ds.tcl 的详细说明参见具体例子;如需要专用配置文件则在$DBSQL/etc下创建<rootname>.cfg文件,专用配置文件中允许覆盖公共配置项,但需要慎用。
执行方法(以dwd_trade_base_ds.tcl为例):注意:1)$DBSQL在安装时被定义为安装点路径,因此,每个用户需要在开发时把该变量定义到自己的开发目录下。
2)dss、_common.tcl为公用程序,common.cfg为公共配置,均不得进行修改。
3DBsql编程规范3.1 注释在每一个tcl源文件头部都要加上关于本文件的注释,列出:文件名、功能描述、作者、生成日期、修改日志、版权说明等。
建议采用如下格式:元数据注释信息在每一个函数头部都要加上关于本函数的注释,列出:函数名称、功能描述、输入参数、输出参数、返回值等。
建议采用如下格式:注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能用非常流利准确的英文表达。
在程序块的结束行下一行加注释标记,以表明某程序块的结束。
当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读。
3.2 编辑风格代码缩进统一采用采用4个空格长的TAB键,对于VI,可在HOME目录下的.exrc文件中设置set tabstop=4。
函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格.若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
划分出的新行要进行适当的缩进,使排版整齐,语句可读。
程序块的分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。
在函数体的开始、以及if、for、while、switch语句中的程序都要采用的缩进方式。
对双目操作,需要在操作符前后加空格;对单目操作,则不必加空格。
6 注释与所描述内容进行同样的缩排。
这样可使程序排版整齐,并方便注释的阅读与理解。
7 将注释与其上面的代码用空行隔开。
避免在一行代码或表达式的中间插入注释,否则容易使代码可理解性变差。
3.3 表名程序名命名规范◆表名命名格式说明:[层次]_[主题] [_表内容]_[分表规则]◆解释:✧层次:数据仓库的分层定义,目前数据库自低到高分为ODS, DWD, DW, DM,ST,表命名时根据表具体所属层次填写,如ODS_TRD_BYD_BASE_YYYYMMDD,DWD_TRD_BYD_BASE_YYYYMMDD✧主题:数据仓库的当前主题✧表内容:在表名总长度不超过30个字符,尽量详尽说明表的具体内容,在所有层次中表内容应保持一致。
对于出现一下关键字单词的按以下规则进行缩写,如果缩写后表名部分出现和主题相同的缩写请去除表名中该缩写(如对表DWD_BEYOND_TRADE_FUND_BILL进行规范划缩写则为DWD_TRD_BYD_TRD_FUND_BILL,出现重复TRD,所以最后缩表名应为DWD_TRD_BYD_FUND_BILL):✧分表规则:日表YYYYMMDD,月表YYYYMM,日汇总DS,月汇总MS,日累计DT,月累计MT◆程序名命名格式说明[目标表名(去除分表规则部分)]_[程序类型].tcl程序名称一律小写◆解释:目标表名(去除分表规则部分):目标表名为程序生成数据的表名,如数据ODS_TRD_BYD_BASE_YYYYMMDD-> DWD_TRD_BYD_BASE_YYYYMMDD,那么程序命名成dwd_trd_byd_base_dd.tcl程序类型:3.4 标识符命名规则标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。
较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。
例如如下单词的缩写能够被大家基本认可。
temp可缩写为tmpmessage可缩写为msg函数或过程名建议统一采用匈牙利记法,函数或者过程的名称能够简单体现函数或过程的功能。
GetCustStatusOdsToBalanceGetNotNull对于局部变量命名,可以采用全小写加下划线的风格,也可以用单个有具体含义的单词做变量名,但禁止用单个字符(如i、j、k...)做变量名,i、j、k可以做局部循环变量。
例如:log_fdtrace_fd对于全局变量命名,尽量使用匈牙利记法,首字母小写,与过程名区分。
例如:opTimecityId3.5 SQL书写规范由于SQL语句在DBSQL系统中是一个非常重要的组成部分,所以对SQL 语句的书写规范做单独说明。
1、SQL语句的所有表名、字段名全部小写,系统保留字、内置函数名、SQL保留字大写。
示例:连接符or、in、and、以及=、<=、>=等前后加上一个空格。
多表连接时,使用表的别名来引用列。
对较为复杂的SQL语句加上注释,说明算法、功能。
注释风格:⏹注释单独成行、放在语句前面。
⏹应对不易理解的分支条件表达式加注释;⏹对重要的计算应说明其功能;⏹过长的函数实现,应将其语句按实现的功能分段加以概括性说明;⏹每条SQL语句均应有注释说明(表名、字段名)。
⏹字段别名需要使用AS,如sysdate AS NOW_TIME⏹常量及变量注释时,应注释被保存值的含义(必须),合法取值的范围(可选)。
SQL语句的缩进风格⏹一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进;⏹where子句书写时,每个条件占一行,语句令起一行时,以保留字或者连接符开始,连接符右对齐。
⏹不要采用select * 的方式查找纪录,必须显示地写出字段名,每个字段占一行,连接符右对齐。
书写优化性能建议:⏹避免嵌套连接。
例如:A = B and B = C and C = D;⏹where条件中尽量减少使用常量比较,改用主机变量;⏹尽量避免相同语句由于书写格式的不同,而导致多次语法分析;⏹尽量使用共享的SQL语句;查询的WHERE过滤原则,应使过滤记录数最多的条件放在最前面;任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。
4DBsql函数说明(二次封装)4.1 DBsql系统调用函数封装4.1.1proc Help { }功能:屏幕输出帮助信息输入:N / A输出(返回值):1)成功:0备注:N / A4.1.2proc GetCurrentTime { }功能:获取当前系统时间输入:N / A输出(返回值):1)成功:当前系统时间,格式:"YYYY-MM-DD HH24:MM:SS"备注:N / A4.1.3proc LogMsg { msg msg_detail log_fd }功能:记录日志并输出屏幕信息输入:1)msg:日志信息2)msg_detail:日志详细信息3)log_fd:日志文件句柄输出(返回值):1)成功:0备注:使用-o参数时,屏幕输出日志信息,否则仅记入日志文件,不作屏幕输出。
4.1.4proc TraceMsg { err err_detail trace_fd }功能:记录诊断信息输入:1)err:诊断信息2)err_detail:诊断详细信息3)trace_fd:trace文件句柄输出(返回值):1)成功:0备注:N / A4.1.5proc LogAgentMsg { log_fd cmd_status log_content }功能:记录Schedule Server采集日志输入:1)log_fd:日志文件句柄cmd_status:命令执行状态,一般只用到3和4set CMDSTATUS(READY) 0set CMDSTATUS(RUNNING) 1 正在运行set CMDSTATUS(HOLD) 2set CMDSTATUS(SUCCESSED) 3 运行成功set CMDSTATUS(ERROR) 4 运行错误set CMDSTATUS(DISPA TCHED) 5set CMDSTATUS(INITERR) 6set CMDSTATUS(AGENTFULL) 7set CMDSTATUS(STARTERR) 8set CMDSTATUS(NOPID) 9set CMDSTATUS(NOEXEFILE) 10 本地无文件,远程也无法下载文件1)log_content:当前状态详细说明输出(返回值):1)成功:02)失败:""备注:日志文件(log_fd)为程序本身的日志句柄,而不是Schedule Server采集的日志文件。