《DBA修炼之道:数据库管理员的第一本书》——2.4节数据库标准与过程

2.4 数据库标准与过程
想要有效地使用新安装的DBMS,必须开发使用数据库的标准和过程。研究表明,相比标准化较低的公司,那些高标准化的公司可以将用于支持终端用户的成本降低35%甚至更多。
必须开发使用数据库的标准和过程。
标准是用于确保数据库环境的一致性和有效性的常见做法,如数据库命名约定。程序是定义好的、步进式的指示,用于指导处理具体事件的事务,如灾难恢复计划。未能实现数据库标准和过程会使数据库环境变得混乱且难以管理。
DBA应当开发数据库标准和过程,以此作为企业范围内IT标准和过程的组成部分。它们要么以纸质文件的形式集中存放,要么以电子格式存储于网上,或者两种形式都有。针对特定的DBMS产品,一些供应商还提供了“罐装的”标准和过程。
2.4.1 数据库命名约定
即将部署的首要标准之一是一组数据库对象命名的指南。没有标准的数据库对象命名约定,就难以正确识别数据库对象,并进行适当的管理任务。
数据库对象命名标准的制订应结合企业的所有其他IT命名标准。在所有情况下,数据库命名标准的制订应与数据管理部门(如果存在)合作,并且,只要可能,它应与其他的IT标准和平共存,但不能以危害数据库环境为代价。许多企业有命名文件的实践约定,但协调数据库对象可能需要特定格式的数据库文件名,却与实践标准不符(详见图2-7)。因此,命名数据库文件对于现有的实践标准来说是个例外。
确保创建并发布适用于所有数据库对象(在企业所使用的每个DBMS内都可以创建)的命名标准。多数DBMS支持的数据库对象的一个基本列表包括数据库、表、列、视图、索引、约束、程序、用户自定义数据类型、用户自定义函数、触发器和存储过程。然而,这个列表还不完整,因为每个DBMS针对具体的操作还会使用其他的数据库对象。例如,DB2使用计划和存储组;Oracle使用数据库链接和集群;SQL Server使用文件组和规则(详见“非标准数据库对象实例”)。
确保创建适用于所有数据库对象的命名约定。
数据库命名标准的设计应尽量减少跨环境的名称变更。例如,将“T”嵌入名称“test”和将“P”嵌入“production”都是不明智的。尤其重要的是对用户可见的数据库对象如列、表、视图更要避免使用此种做法。名称变更最小化使数据库从一个环境到另一个环境的迁移变得简单。有种情况也是可能的,即所有的数据库对象具有相同的名称,只是将每个环境分配到不同的实例或子系统。该实例或子系统的名称(而不是数据库对象的名称)将用于区分环境。
减少跨环境的名称变更。
非标准数据库对象实例
除非你使用所有三种数据库:DB2、Oracle和SQL Server,否则你可能对那些针对某一种数据库系统的数据库对象不熟悉。鉴于此,这里给本章提到的数据库对象进行了简单的定义。
DB2:
计划与DB2的应用程序相关,是指在该程序中包含SQL的绑定访问路径详细信息的数据包。
存储组是一个数据库对象,用于关联磁盘存储和DB2表空间。
Oracle:
数据库链接是一个数据库中的模式对象,使你可以访问另一个数据库中的对象。
集群由一组共享相同的数据块的表组成。这些表组合在一起因为它 们有着共同的列,且它们常一起使用。
SQL Server:
为便于分配和管理,数据库对象和文件可以在文件组中组合在一起。
规则是一种独立的、可以附加到列的数据库约束。Microsoft公司已经表示,在未来的SQL Server版本中将会删除规则。

在大多数情况下,对于那些没有被典型终端用户访问的对象,可以提供一种方法来区分数据库对象的类型。例如,索引以“I”或“X”开头,而数据库以“D”开头。但是,正如前面所提到的,这种做法对于表和类似的对象是不合适的。
一般情况下,不要对终端用户访问的对象名称施加不必要的限制。关系数据库讲究的是用户友好。一个严格的数据库命名约定(如果制定的不合乎逻辑)可能与有用且有效的数据库环境背道而驰。一些企业对数据库表的长度任意限制,比如,限制为8字节,而DBMS可以支持多达128字节的表名。对数据库表名的长度施加限制没有任何实际的原因。
在合理的范围内,表名应尽可能具有描述性。此外,只要DBMS支持所有DBMS支持的“类表”对象都应使用相同的命名约定,如视图、同义词、别名。每个对象基本上都与行和列一样,是可存取的数据集。因此,对每个对象制定单独的命名约定没有什么实际价值。使用这种方法,那些操作与表类似的数据库对象,将同样具有描述性的名称。对象的类型通常可以通过查询DBMS的系统目录或数据字典确定。
避免对表名进行编码使其变短。
另外一种应避免的任意命名约定是对表名进行编码使其变短。表的名称应包括2~3字节的应用识别前缀,后跟一个下划线,然后是一个明确的、对用户友好的名字。例如,人力资源系统中,一个好的表名需要包含雇员的信息HR_EMPLOYEE。有多个应用程序用到该表时,也不应将应用识别前缀从表的名称中删除。
还需要注意的是,有些数据库对象的名称在某些情况下将会外部化。例如,一旦约束被违反,大多数的DBMS都会选择将约束名称外部化。约束的类型多种多样(触发器、唯一约束、参照约束、检查约束),每一种都可以命名。跨环境保持名称一致可以使得错误信息也一致,如果DBMS在开发、测试、集成、生产环境中都报了同样的错误信息,那么调试和修正错误就比较容易。
标准缩写
尽管应尽可能使数据库对象的名称为英语,但是也不可避免地会遇到需要使用缩写的情况。只有当完整的名称太长,对象名称看起来很笨拙或比较难记时,才可以使用缩写。例如,如果“ORG”是“organization”的标准缩写,就不要使用变体“ORGZ”。使用标准的缩写将最大程度地减少拼写错误,并且使用户更容易记住数据库对象的名称。长期于此,可以使数据库的对象更容易理解。
建立标准缩写列表。
2.4.2 其他数据库标准和过程
数据库命名标准虽然重要,也需要制定和维护其他类型的数据库标准。要为企业所使用的每个DBMS都制定一套综合的标准和过程。数据库标准虽然可以从头做起,但还有其他潜在的、更简单的方法来构建标准库。那些可以根据用户需求进行修改的基本标准,可以从出版商或软件供应商那里购买,或者可以通过用户组和会议,在社区收集大家所建议的标准。
这些标准无论是购买的、自己想出来的,还是从用户组或委员会得到的,都应涵盖以下几个方面。
角色和职责
DBMS的成功运行需要多名熟练的技术人员和业务专家的共同协调管理工作。应该制定出数据库管理及管理职能的矩阵文件,详细列出每一种支持任务以及分别由谁来提供支持。矩阵文件可以是部门级别的、工作描述级别的,甚至是个人名义的。表2-4给出了实例矩阵,其中“X”表示参与这一过程,而“P”表示主要的职责。

当然,你可以创建任何任务,只要你认为它有必要出现在角色与职责矩阵中。你所需的任务可能比示例中的多,也可能少。例如,你可能希望将存储过程的开发、测试、管理进行区分,所以分别为这三者创建不同的任务种类,并相应地将支持需求进行分解。
不管角色与职责矩阵的最终格式如何,一定要保证它的准确性并包含最新的DBMS功能和任务。最新的矩阵可以更容易地定义企业内的角色,并能有效地分配数据库相关的工作量。
沟通标准
你也可以选择为团队或具体人员之间制定具体的标准。例如,在新的DBMS版本安装过程中,你可能想记录DBA团队如何以及何时与系统编程团队沟通。
制定强大的沟通标准可以简化DBA在不可避免的停机时间的工作,停机由于系统、应用程序,甚至硬件错误而导致。例如,考虑采用一种标准,在故障排除和紧急修复过程中DBA可仅与经理沟通。既让经理知晓,同时也让DBA可以避开愤怒的用户、帮助服务台等的电话骚扰。经理可以随时给外部通报状态,而DBA可以专注于故障排除并使系统恢复正常运作。
数据管理标准
如果你的企业有DA团队,他们应制定出一套基本的数据管理标准指南来概述他们的工作职责范围。如果没有DA团队,则一定要在DBA标准中适当地包含DA标准。
在DBA标准中适当地包含DA标准。
数据管理标准应包含以下几项:
清晰地描述企业整体的数据策略,包括其对企业的重要性。
建立数据所有权和管理权的准则。
数据创建、数据所有权和数据管理权的规则。
元数据管理政策。
概念和逻辑数据建模指南。
有关创建企业数据模型的企业目标。
创建并维护逻辑数据模型的职责。
工具使用指南以及数据模型创建、存储、维护的说明。
企业的数据共享政策。
物理数据库偏离逻辑数据库时的记录说明。
数据管理与数据库管理的沟通指南,以确保数据库的有效创建与使用。
数据库管理标准
应建立一套基本的数据库管理标准用以确保DBA的工作可以不断获得成功。该标准要作为DBA提供服务和用于支持数据库环境的具体方法的指导。例如,制定的标准可以概述说明创建一个新的数据库或更改已有的数据库需要如何提出申请,并指定哪些类型的数据库对象和DBMS功能更受青睐,以及在何种情况下要避免使用它们。标准还可以建立备份和恢复程序(包括灾难恢复计划)并交流用于将逻辑数据模型转换为物理数据库的方法。另外一套涵盖数据库性能监控和调优的DBA标准可能对记录解决性能问题的过程很有用。
DBA标准要作为支持数据库环境具体方法的指导。
虽然该DBA标准对DBA人员将是最有用的,但是应用程序开发人员也需要通过它们学习如何更好地与DBA人员一起工作。此外,DBA标准所记录的任何性能调优的技巧都应与编程人员共享。了解DBMS细微差别和DBA角色的应用程序编程人员越多,DBA与开发人员之间的工作关系将更融洽(最终导致数据库环境更高效)。
系统管理标准
再次说明,只有当你的企业将SA与DBA的工作分离时,才需要系统管理标准或系统编程标准。需要系统管理标准与需要DBA标准的许多理由都是相同的。SA标准可能包括:
DBMS安装和测试程序。
升级政策和程序。
错误修复和维护实践。
变更即将发生时,要通知的部门清单。
接口的考虑。
DBMS存储、使用和监控程序。
数据库应用程序开发标准
数据库应用程序的开发与典型的程序开发有所不同,编写访问数据库的程序时,你应记录下有关开发的那些特殊考虑。数据应用程序开发的标准应作为企业任何标准应用程序开发过程的附属。该套标准应包括:
描述出数据库访问与平面文件访问的不同之处。
SQL编码标准。
SQL性能技巧与技术。
程序的准备过程和将SQL嵌入应用程序的方式指南。
SQL语句与错误代码的解释。
参考其他有用的有关远程处理监控程序、编程语言以及一般的应用程序开发标准的编程材料。
数据库安全标准
DBA团队通常申请并管理DBMS的安全。然而,在一些企业中,企业数据安全单元掌握着DBMS的安全。用于概述必要的标准和管理数据库安全过程的资源应包括以下信息:
在一些特定类型的情况下应授予何种权利的详细说明,例如,如果一个程序正迁移到生产环境,那么必须授予该程序何种DBMS权力,它才能在生产环境成功运行。
有关任何特殊过程的文档或治理(与合规性)相关的请求所需的文档。
有关谁可以批准何种类型的数据库授权请求的明确清单。
任何用于连接DBMS安全和操作系统安全产品的接口信息。
使用SQL GRANT语句的WITH GRANT OPTION子句以及级联REVOKES如何处理的政策。
通知请求者数据库安全已授予的过程。
解除那些退休、调动、解雇的雇员的授权的过程。
概括用于管理数据库安全的一些必要标准和过程。
概述必要的标准和管理数据库安全过程。
应用程序的迁移与调整过程
正如前面所讨论的,支持数据库应用程序最少也需要两种环境:测试环境和生产环境。而一些企业还会建立多种环境用以支持开发生命周期的不同阶段,包括:
单元测试,用以开发和测试个人程序。
集成测试,用以测试个人程序如何互操作。
用户接受性测试,在生产环境之前的终端用户测试。
质量保证,用以发现程序错误。
教育,用以培训终端用户该应用程序系统的工作方式。
当存在多个环境时,就需要将数据库对象和程序从一个环境迁移到另一个环境。还需要具体的指南以有利于各个环境使用的方式来实现迁移。例如,每个环境所需的数据容量是多少?测试时如何保证数据的完整性?到底应迁移数据,还是仅调整数据库结构?目标环境中已有的数据该如何处理(应保持,还是用新数据覆盖)?应制定综合的迁移过程才可能解决这些问题。
需要将数据库对象和程序从一个环境迁移到另一个环境。
该迁移和调整过程应记录任何的数据库对象或程序从一个环境迁移到下一个环境所需的信息。至少是迁移的请求者会需要这些信息,如对象何时以及为何要进行迁移,迁移需要得到谁的批准?为确保迁移的成功,DBA应记录用于迁移的方法和验证迁移的步骤。
设计审查指南
所有的数据库应用程序在开发的各个阶段都应经受得起设计审查。设计审查非常重要,它可以保证应用程序的设计、结构和性能的正确性。它可以采取的方式也是多种多样的,第6章提供了综合讨论。
操作支持标准
操作支持被视为IT企业的一部分,用于监视数据库环境并确保应用程序都按照预定计划运行。要想有效地管理数据库环境,必须提供足够的操作支持。提供操作支持的人员通常处于抵御系统问题的最前线,程序失败、硬件失败以及其他问题都是由操作支持人员首先发现,然后才让专家来解决的。
操作支持确保应用程序按照预定计划运行。
应制定标准用以确保那些提供操作支持的人员能够理解数据库应用程序的特殊需求。只要有可能,提供操作支持的全体人员应进行培训,以求在不需要DBA的情况下也可以解决简单的数据库相关的问题,因为通常使用DBA的代价是比较昂贵的。

时间: 2024-10-08 14:56:14

《DBA修炼之道:数据库管理员的第一本书》——2.4节数据库标准与过程的相关文章

《DBA修炼之道:数据库管理员的第一本书》——1.3节DBA的管理准则

1.3 DBA的管理准则数据库管理很少被视作一种管理准则."准则"一词意味着规划并按照该规划实施.当数据库管理被视作一项管理准则时,公司内部的数据处理就会有所改善了.这就是消极被动和积极主动的区别.DBA组让需求和问题淹没是家常便饭.这有多种原因,包括人员缺乏.过度承诺支持新的(甚至现有的)应用程序开发项目.缺少可遵循的流程和缺少预算等.这种情况下,数据库管理员就会变得消极被动.消极被动的DBA更像是名消防员,他集中注意力去解决所关注的最大问题.换句话说,消极被动的DBA只有当问题发生

《DBA修炼之道:数据库管理员的第一本书》——1.7节DBMS版本迁移

1.7 DBMS版本迁移 DBA也负责管理DBMS的版本迁移,DBMS产品变更相当频繁,通常每年都会有新版本发布.保持DBMS运行和更新是一项持续的工作,将占据DBA工作的大部分时间.要降低停机几率和减少应用程序需求变化,无论采用何种方法都必须与企业的需求相符. 保持DBMS运行和最新是一项持续的工作,将占据DBA工作的大部. 多面手 数据库是现代应用程序的核心,如果DBMS失败,应用程序随之失败,进而整个业务也被迫停止:如果数据库和应用程序经常失败,整个业务也可能会失败.因此数据库管理员对现代

《DBA修炼之道:数据库管理员的第一本书》——1.2节独特的优势

1.2 独特的优势 一名优秀的DBA要享受挑战并且还得是出色的问题终结者. DBA负责设计和维护企业的数据库,他处在企业的核心位置.这样,DBA就有机会去学习各个方面的业务,以及知晓知识间的关联.他们还能研究公司的前沿技术,这使得他们的工作充满了新鲜感--但是第一次尝试找出一项新技术是怎样工作的过程中可能会有挫折感.DBA常常是独自努力研究,在遇到问题的时候不会有其他专家帮忙.因此,一名优秀的DBA要享受挑战并且还得是出色的问题终结者. 1.2.1 DBA的薪资 作为技术人员你不会找到比DBA更

《DBA修炼之道:数据库管理员的第一本书》——1.12节新技术对DBA的影响

1.12 新技术对DBA的影响 每当企业引进做生意的新方法和新技术时,DBA都要行动起来.数据是任何应用程序的心脏,随着大多数的新技术为程序开发人员所采用,它们也对数据产生了影响.实际上,数据是现代商业的生命线,数据库容纳数据,而DBA是数据库技术尤其数据库集成技术方面的专家. 接下来研究三种具体的新技术,它们在某种程度上都依赖数据库管理的有效部署:数据库耦合的应用程序逻辑.互联网电子商务开发和手持计算. 1.12.1 过程DBA:管理数据库逻辑 传统的数据库管理系统作用的域中规中矩,包括存储.

《DBA修炼之道:数据库管理员的第一本书》——第1章什么是DBA

第1章 Chapter 1什么是DBA每一家使用数据库管理系统(DBMS)管理数据的公司都需要数据库管理(DBA)组来确保能够有效地使用和部署公司的数据库.如今各种规模的企业都会至少使用一种DBMS,这使得对数据库管理员(DBA)的需求比以往任何时候都要多.然而,DBA的准则要么不容易理解,要么在推广时不能使用.对数据库管理员(DBA)的需求比以往任何时候都要多.关于数据库管理,有个经常说起的笑话,它可以帮助我们认识DBA的必要性和我们对DBA工作认知的不足.笑话大概是这样的:Acme公司的CI

《DBA修炼之道:数据库管理员的第一本书》——1.15节回顾

1.15 回顾1.?从较高的水平讨论了DBA的主要工作职责.2.?企业使用关系数据库所面临的一个最大的问题是什么?3.?数据管理员和数据库管理员之间的区别是什么?4.?哪些因素决定了所需的DBA数量来很好地支持企业的数据库环境?5.?新科技如何影响DBA的工作?6.?论证引入程序DBA后产生的技术影响.7.?数据库架构师和系统管理员之间的区别是什么?8.?最有可能负责安装DBMS新版本的职务是什么?9.?DBA必须了解的三种类型的完整性是什么?10.?一名获得认证的DBA一定是合格的DBA吗?为

《DBA修炼之道:数据库管理员的第一本书》——1.8节DBA的类型

1.8 DBA的类型有些DBA专注于逻辑设计,有些则专注于物理设计:专注于搭建系统的DBA以及专注于维护和调整系统的DBA:专业的DBA和通用的DBA.诚然,DBA的工作包含了许多角色.一些企业选择将DBA的职责细分成独立的工作.当然,这大多是在较大的企业,较小的企业往往付不起请多个专业的DBA的费用.还有一些公司干脆雇佣DBA来执行所有的任务:设计.创建.归档.调整及维护公司的数据.数据库.数据库管理系统.下面介绍一些比较常见类型的DBA. 1.8.1 系统DBA系统DBA专注于技术而不是业务

《DBA修炼之道:数据库管理员的第一本书》——1.9节人员配备的考虑

1.9 人员配备的考虑 配备DBA不是一件简单的事情,有几个有待解决的重要的考虑,包括DBA人员的规模和DBA报告结构的规模. 1.9.1 需要多少DBA 最难确定的事情之一是保证企业数据库在线并高效运作的DBA的最佳数量.许多企业都试图将DBA人员规模降到最低,本想着人员减少了成本就降低了,但这种假设一般是不正确的.一个过度劳累的DBA可能会犯错,而导致的停机时间和操作问题的成本远远超过一个额外的DBA的薪资成本. 但确定DBA的最佳数量不是一门精确的科学,它取决于多种因素,包括: 数据库的数

《DBA修炼之道:数据库管理员的第一本书》——2.2节安装DBMS

2.2 安装DBMS 一旦选定DBMS,接下来就是安装了.安装DBMS并不像直接将CD放进光驱让软件自行安装(或者对于使用大型机的人来说,只是通过IEBGEBER从磁带复制)一样简单.DBMS是一种复杂的软件,需要前期规划安装才能成功.你将需要了解新的DBMS的需求并为之准备环境.2.2.1 DBMS安装基础 第一次安装一个DBMS时,首先要做的就是了解安装的先决条件.每个DBMS都自带一本安装手册或指南,其中包含了DBMS正常运作必须满足的运行要求.这些先决条件包括:确保在用的操作系统的版本适

《DBA修炼之道:数据库管理员的第一本书》——导读

目 录 前 言 致 谢第1章 什么是DBA1.1 为什么学习数据库管理1.2 独特的优势1.3 DBA的管理准则1.4 评估DBA的工作邀请1.5 数据库管理.数据管理和系统管理1.6 DBA的任务1.7 DBMS版本迁移1.8 DBA的类型1.9 人员配备的考虑 1.10 跨平台的DBA问题1.11 生产环境与测试环境 1.12 新技术对DBA的影响1.13 DBA认证1.14 本书的其余部分1.15 回顾第2章 创建数据库环境2.1 定义企业的DBMS策略2.2 安装DBMS2.3 升级DB