版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、厦门智业软件工程有限公司.研发部ZHIS4项目组文档密级公开()普通()秘密()机密()绝密()Oracle数据库编程规范文档编号:文档归类:作 者:李程扬创建时间:2005-11-14修改时间:2005-11-15版 本 号:v1.0文档传阅:一、 数据库对象创建及命名规范1、 数据库字段及对象命名规范a. 数据库命名规范与PB编程规范对命名方式的约定可相互参照;b. 命名单词间分隔用下划线_,尽可能使用与业务相匹配的单词或其缩写;c. 绝对不允许使用拼音首码及简单数字的命名方式;d. Oracle对于对象或字段名称长度有限制,最多31个字符;2、 字段定义及类型说明a. 字段定义仅能使用以
2、下类型i. date:日期时间类型,存入日期字段的数据若未指明时间,时间缺省就是00:00:00;若未指明日期,则日期缺省是1900-01-01;对于年份number(4,0)与月份number(6,0)这类数据,一般用number类型定义;ii. number:数值类型,字段所占空间与每一行数据相关,即有多少存多少;要注意其定义小数位是包含在总长度中,如number(12,2)总长度为12位,其中小数占2位;iii. char:定长字符串类型,不论字符串信息多少都要占用所定义长度的空间,不足的部分用空格填充;对于一些更新操作比varchar2效率高;长度限制为255;iv. varchar2
3、:非定长字符串类型,字符串信息多少就占多少空间,所以对于此类型数据在存入数据库前要去空格,以防止多余空格造成字段关联错误;相比char可节省很多存储空间,某种程序上可提高网络传输效率;长度限制为4000个字符;v. clob:一般存大于4000个字节的字符串信息,如数据窗口的语法;vi. blob:一般存二进制数据,如图片;b. 对于字符串类型,除数据固定长度字段(如char(1)、SICK_ID),其它情况都必须使用varchar2类型;c. 对于number与varchar2类型,在定义时要预留足够的长度,因为这两种类型都是按实际数据来分配存储空间,这样才能避免数据需求变长,字段长度修改造
4、成程序错误(数据窗字段及数值变量小数位定义);d. 应尽量使用number类型定义代码、状态字段;相比char或varchar2,这可最大程度地节省空间,并可显著提度检索效率;当然,同类型已定义的字段,为兼容原先设计,还是必须使用旧的类型定义;e. 字段命名约定i. 字段名称不必像PB变量使用前缀来标识其数据类型;ii. 字段常用后缀如下 ID/No表示唯一的序列号标识;其中ID多用于表示对人或物的标识,即指的是一种标志(如Sick_ID);而No多用于对连续号或流水号的标识(如单据号Apply_No) Code表示项目代码(如项目代码Item_Code) Name表示名称(如项目名称Item
5、_Name) Class表示类别(如单据类别Apply_Class) Operator表示操作员(类型用varchar(27),如Apply_Operator) Time表示日期或日期时间(如Audit_Time) Dept表示科室(如开单科室Apply_Dept) Flag表示标志(字段类型用char(1),值为Y或N) Status表示状态(字段类型用char(1))iii. 常见业务字段名称及类型定义如下字段名字段中文名字段类型说明sick_id病人IDchar(10)兼容原有设计ic_card_id就诊卡号varchar2(30)兼容原有设计item_code项目代码varchar2(
6、14)兼容原有设计(诊项或药品代码)Item_name项目名称varchar2(400)item_spec项目规格varchar2(200)item_class类别Varchar2(10)兼容原有设计item_price单价number(15,6)item_unit单位varchar2(8)兼容原有设计operator操作者varchar2(27)兼容原有设计dept_code科室代码varchar2(8)兼容原有设计cost/charges金额number(15,2)apply_no单据号varchar2(12)兼容原有设计quantity数量number(15,4)remark备注varc
7、har2(4000)valid_flag有效标志Number(1,0)spell_code拼音首码varchar2(100)wbzx_code五笔首码varchar2(100)sequence_no排序号Number(10,0)code代码Number(4,0)字典代码class类别Number(10,0)类别代码3、 数据库对象定义说明:创建对象时一定要指定是在哪个模式下面a. 表i. 下面列出建表步骤(一般在PB6中新建表,再拷出相应建表语法) 建表语法 创建主键及索引 创建同义词 对象授权(所有新建对象都必须授权给zhiydba)ii. 对于表命名有以下常用后缀 _master:主表 _
8、detail:细表 _record:记录表 _dict:系统字典/用户字典 _config:用户配置表iii. 不推荐使用表外键约束,也不推荐除空值以外的其它约束检查,这类约束判断一般在程序中处理;b. 主键:一种特殊的索引i. 主键名都是以pk_作为前缀,后面一部分用表名,即pk_+表名ii. 所有表都必须创建主键,否则这些表就没办法做更新操作c. 索引i. 索引名以idx_作为前缀,后面一部分用表名+索引相关列名或其缩写ii. 创建索引时一定要记得指明其所在模式(一般与表在同一模式下),这一点程序员常会遗漏;iii. 索引也要区分是唯一索引还是可重复索引;iv. 要查询的列尽可能创建索引,
9、一般不推荐使用多列组合索引,而应分开建立索引;如病人ID或查询时间字段;另外,用到组合索引时要注意索引列的顺序;v. 一个表索引最多不能超过7个,否则会影响数据更新效率,且占用存储空间,即:索引越多、查询效率高、但更新操作慢、存储占用高;vi. 对于值内容单一(如只有0与1)或大部分数据是空值的字段不用建索引;对于某些数据量很少的表(如字典),也是不用建索引;d. 视图:其命名以v_作为前缀,统一建在zhiydba模式下(可省去授权)e. 序列号:其命名以_seq作为后缀,统一建在zhiydba模式下;主要用于数据表的主键字段取唯一值(如单据号),对于字典代码就没必要用序列号;f. 同义词:创
10、建相应对象的同义词主要是便于编程(public),做到对象模式无关g. 用户:即模式h. 函数及存储过程:除非开放接口给其它软件供应商,否则不使用这两类对象,因为包(package)就可代替其功能,并便于分类组织;i. 后台包/Java包:不用深入了解,知道有这些东西就可;j. 后台任务(Job):后台计划任务执行,通过dba_jobs可查询当前在执行任务;k. 触发器:Oracle的触发器一般都认为在事务处理上不安全,所以除非特殊接口,否则不准使用触发器;二、 Oracle常用函数1、 Oracle的PL/SQL语言是对SQL的过程性语言扩展,当前Oracle的SQL语法遵循SQL92标准;
11、2、 完整PL/SQL函数集可查阅ResearchZHIS4_ToolsDatabaseOracle8i资料docserver.816a76989toc.htm3、 字符串相关函数a. |:字符串合并操作符b. trim:去字符串前后空格,一定要记住存取字符串数都要调用此函数去空格c. substr:截取字符串的一部分内容,也PB的mid函数功能一样d. to_char:将数值型或日期型数据转化为字符类型,如to_char(sysdate,yyyy-mm-dd hh24:mi:ss)e. lpad/rpad:在串值左/右重复填充指定的字符串,与PB的fill函数功能类似f. upper/low
12、er:字符串都转为大写/小写4、 日期相关函数a. +/-:加/减天数操作符b. to_date:将字符串类型数据转为日期型信息,如to_date(2005-11-15,yyyy-mm-dd)c. trunc:去掉时间那部分信息,常用于按日期检索数据d. add_months:增加月份5、 数值相关函数:a. to_number:将字符串类型数据转为数值型,如to_number(to_char(operation_time,yyyymmdd)要注意,如果待转化数据包含非数字内容,就会报Oracle错误b. trunc:按指定小数位精度截取6、 其它函数a. nvl:空值判断,这是很常用的函数;
13、对于PL/SQL的空串与空值是一样的,即在SQL语法中没必要像PB一样判断空串;b. decode:条件分支判断,if elsec. sign:判断数值的符号,可用于或= to_date(2005-11-15,yyyy-mm-dd) and operation_time alter database mountb. 启动实例(控制文件):startup mount-alter database openc. 启动实例(数据文件):startup/startup opend. 关闭实例:shutdown immediate3、 数据库备份机制:a. 硬件双机热备b. 软件文件备份(在线热备/离线冷备)c. 软件导出备份(全库导出/增量导出)4、 重建数据库相关(详细步骤参见 创建数据库步骤.t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老院员工消防安全教育培训制度(标准范本)
- 2026年毕业论文计算机科学与技术毕业实习报告
- 冀教版三年级英语上册第一单元测试题及答案
- 项目合同条款审查要点模板
- 春天装修活动方案策划(3篇)
- 公司活动策划方案课程(3篇)
- 球场跑道施工方案(3篇)
- 斜井测量施工方案(3篇)
- 防疫艾灸活动方案策划(3篇)
- 高校学术规范承诺书6篇范文
- 统编版(新教材)道德与法治二年级下册第12课见贤要思齐
- XX中学2026年春季学期初三年级组工作计划及中考备考方案
- 养老中心质量考核制度
- 2025-2026学年人教版(新教材)初中生物八年级下册教学计划及进度表
- 食用油精炼培训课件
- 管理的八大浪费课件
- 《华南地区花境配置与植物材料选择技术规程》团体标准(征求意见稿)
- 跑道侵入培训
- 糖尿病肾病患者的运动指导
- 自制中外对比旧约历史年代对照表
- GB 20922-2007城市污水再生利用农田灌溉用水水质
评论
0/150
提交评论