让你提前认识软件开发(29):数据库脚本文件的布局

简介: 第2部分 数据库SQL语言数据库脚本文件的布局        “没有规矩,不成方圆”,规范数据库脚本文件的代码布局具有以下重要意义:        (1) 可表现出代码良好的逻辑结构,提高代码的准确性、连续性、可读性及可维护性。

第2部分 数据库SQL语言

数据库脚本文件的布局

 

       “没有规矩,不成方圆”,规范数据库脚本文件的代码布局具有以下重要意义:

        (1) 可表现出代码良好的逻辑结构,提高代码的准确性、连续性、可读性及可维护性。

        (2) 有利于提高产品的开发质量和效率,并降低开发成本。

        (3) 对于开发人员来说,养成良好的脚本编写习惯有助于提高个人的数据库脚本编程水平,进而提高脚本编程效率。

        可见,统一的、良好的脚本代码布局和风格不仅仅是个人主观美学或形式上的问题,而且影响到产品的质量,并涉及到自身脚本编程能力的提高。

 

1. 脚本布局顺序概述

        在实际的软件开发项目中,统一规范脚本布局顺序可方便对代码的阅读,利于后续的维护及测试修改。可采用以下两种方式来布局脚本文件内容:

        方式一:

文件头

初始化

用户及访问权限的建立

数据表的创建

存储过程的创建

数据库任务的创建

结束

 

        方式二:

文件头

初始化

数据表的创建

存储过程的创建

数据库任务的创建

用户及访问权限的建立

结束

 

         注意:

         (1) 一个普通的脚本文件包含了方式一和方式二中的7个部分。为了便于区分和阅读,各个部分要使用注释块隔离开来(注释符使用“--)

         (2) “用户及访问权限的建立”可以放在第三部分,也可以放在第六部分。

         (3) 各部分前统一使用标注说明,相关内容必须写在对应部分,如果相关内容为空,也必须保留该部分的标注说明。

 

2. 脚本布局示例

         采用方式一,基于Sybase数据库实现的脚本代码示例如下:

--*********************************************************************

--版权所有 (C)2014, Zhou Zhaoxiong

--数据库版本: Sybase ASE Enterprise 15.0

--内容摘要:脚本文件布局示例

--    者: Zhou Zhaoxiong

--完成日期: 20140616

--修改记录1

--    修改日期:

--    版本号:

--    修改人:

--    修改内容:

--**********************************************************************/

--**************************************************

-- initialization 初始化            

--**************************************************

use master

go

use xxx              -- 要使用的数据库

go

checkpoint

go

 

dump tran xxx with no_log    -- 日志截断处理

go

 

--************************************************************

-- user and right creation用户及权限的建立     

--************************************************************

exec sp_addalias xxx, dbo

go

 

--***********************************************************************

-- table creation   数据表的创建

--***********************************************************************

--样例表tb_example

if exists(select 1 from sysobjects where id = object_id('tb_example'))

begin

    drop table tb_example

end

go

 

create table tb_example

(

    name    varchar(30)   not null,           --名字

    age     int           not null           --年龄

)

go

 

--创建索引

create index idx_tb_example1 on tb_example(name)

go

 

--************************************************************

-- procedure creation      存储过程的创建     

--************************************************************

--信息查询存储过程pr_selectinfo

--输入参数:@v_name姓名,@v_age 年龄

--输出参数:无

if exists (select 1 from sysobjects where id = object_id('pr_selectinfo'))

begin

    drop procedure pr_selectinfo

end

go

 

create procedure pr_selectinfo

    @v_name      varchar(30),         --姓名

    @v_age        int                --年龄

as

begin

    ......

end

go

 

print 'create procedure pr_selectinfo ok'

go

 

--**************************************************

-- task creation      数据库任务的创建

--**************************************************

……

 

--**************************************************

-- finalization    结束

--**************************************************

……

 

        在实际的软件项目中,对脚本文件的布局都有其严格的规定,开发人员需要遵照编程规范来书写脚本代码。这不仅有利于对代码的阅读和修改,也有利于团队的技术交流与共享。

 

 

(本人微博: http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)
目录
相关文章
|
前端开发 数据库
会议室管理系统源码(含数据库脚本)
会议室管理系统源码(含数据库脚本)
282 0
|
关系型数据库 MySQL Linux
实现MySQL数据库的定时自动备份脚本。
拿走,不谢,这个脚本配方(指引)保证你的数据库数据像蛋糕店一样地天天更新,还能确保老旧的蛋糕(数据)不会堆积满仓库。这下可好,数据安全有保障,数据库管理员也能轻松一点,偶尔闲下来的时候,煮杯咖啡,看个剧岂不美哉?别忘了偶尔检查一下你的自动备份是否正常工作,以防万一蛋糕机器出了点小差错。
951 20
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。
|
Java 数据库
jsp CRM客户管理系统(含数据库脚本以及文档)
jsp CRM客户管理系统(含数据库脚本以及文档)
327 10
|
Java 关系型数据库 MySQL
Java汽车租赁系统源码(含数据库脚本)
Java汽车租赁系统源码(含数据库脚本)
717 4
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
438 68
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
存储 NoSQL MongoDB
数据库数据恢复—MongoDB数据库迁移过程中丢失文件的数据恢复案例
某单位一台MongoDB数据库由于业务需求进行了数据迁移,数据库迁移后提示:“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
SQL 关系型数据库 数据库连接
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。

热门文章

最新文章