云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > SQL Server 设计、命名、编码规范

SQL Server 设计、命名、编码规范

  • 62 次阅读
  • 3 次下载
  • 2025/7/4 10:58:37

\\TBL:除了下面子目录,这个目录应该包括表的定义脚本,每个表应该有它自己的脚本,此脚本应该包括经表的删除,创建语句,索引,触发器,完整性参照,Check约束,默认值约束等,每个表创建语句应该包括在不同的脚本中,并被把归类到类似于下面的相应的子目录中.注意:本目录中的脚本和以下子目录的脚本应该命名为它所影响的表名,比如:表名.sql: \\Check:为每个表创建独立的Check约束定义脚本,Check约束应该使用alter table add constraint 来创建,并且每个alter table 语句只能包括一个contraint。

\\DEFAULT:为每个表创建单独的Default约束定义脚本。注意这些是Default Constraints,而不是在创建表时的Default。

\\FK:为每个表创建单独的外键约束定义脚本。

\\Index:为每个表创建一个索引定义脚本,并把对应索引定义脚本放进去. \\PK:为每个表创建单独的主键定义脚本

\\TRG:为每个表创建单独的触发器定义脚本,并把应用到此表上的触发器放进此脚本文件中。 \\UDF:用户自定义函数。 \\View:视图定义脚本。

\\DCL: 数据控制语句脚本—主要包括控制所有的数据库对象的Grant 和 Revoke语句。 \\MISC:这儿用于存放各式各样的其它脚本,例如alter table脚本或者一次更改的脚本,注意,不要放此目录看成是一个包罗各种脚本的容器,只应包括需要放到VSS中,但是又不属于上面所列目录的脚本。

4.物理数据库模型&字典

E-R 图表和数据字典可以让任何使用数据库的人都明确的知道如何从数据库中获得数据。E-R图对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名

4.1 物理数据模型

物理模型图形化的展现数据库的实现,它由逻辑数据模型及底层关系型数据库管理系统来决定,由逻辑模型转变为物理模型包括以下的任务: ? 为实体和属性创建合理的数据库名字 ? 为每个属性设计数据类型和是否允许为空 ? 定义主键,外键和索引 ? 定义规则和默认值

5

? 为优化性能,尽可能使数据库设计规范化,比如遵循1NF(第一范式),2NF(第二范式) 和3NF(第三范式)

为加快数据库设计速度,目前有很多数据库辅助工具(CASE工具),如Rational公司的Rational Rose,CA公司的Erwin, Sybase公司的Power Designer以及Oracle公司的Oracle Designer等。

ERwin主要用来建立数据库的概念模型和物理模型。它能用图形化的方式,描述出实体、联系及实体的属性。ERwin支持IDEF1X方法。通过使用ERwin建模工具自动生成、更改和分析IDEF1X模型,不仅能得到优秀的业务功能和数据需求模型,而且可以实现从IDEF1X模型到数据库物理设计的转变。ERwin工具绘制的模型对应于逻辑模型和物理模型两种。在逻辑模型中,IDEF1X工具箱可以方便地用图形化的方式构建和绘制实体联系及实体的属性。在物理模型中,ERwin可以定义对应的表、列,并可针对各种数据库管理系统自动转换为适当的类型。 设计人员可根据需要选用相应的数据库设计建模工具。例如需求分析完成之后,设计人员可以使用Erwin画ER图,将ER图转换为关系数据模型,生成数据库结构;画数据流图,生成应用程序。

ERwin是现在被广泛使用的数据模型设计软件,IDEF1X用来建立信息模型的标准。物理模型基于逻辑模型,ERwin同时支持逻辑模型和物理模型视图的设计。同时,ERwin可以产生所有的用来创建数据库的DDL脚本.

4.2 IDEF1X 方法

下面的关系图描述最常用的IDEF1X表达式协定:

4.3 物理数据库数据字典

使用ERwin来对物理数据库数据字典进行维护。在属性定义编辑器中输入属性定义 。然后你就可以从ERwin中生成报表,把它们放到word 文档中,在属性报表中,将包括属性名字,数据类型,Null/Not Null和主/外键选项。把实体和属性定义放到一个一个文档中是很困难的,所以在不同的报表中创建它们.

4.4 性能设计

作为一个常规的规则,在一个具有标识列(identity property)的列上定义一个主键。这使与之存在关系的表有一个窄的行宽,从而使同一数据页中能被存储更多的数据行,因此相同条件下将会有更少的描描操作。

? 定义聚集主键,这将会使二级索引占用较少空间。 ? 在外键上创建索引。

6

? 不要使用过多的索引,要确认你知道哪个索引将被使用。

? 确认对应表存在统计信息。同时在数据库中打开Auto Generate Stats 和 Auto create stats 选项。在一个只读的数据库中,我们可能需要手动的创建统计信息.

? 在一个只读的数据库或者是很少被更改的数据库中使用100%的索引填充率。 ? SELECT语句中,在非事务和特别的完整性要求的上下文中,要使用Table Hints――WITH NOLOCK

5.命名协定

5.1 数据库命名原则及版本控制 5.1.1数据库命名原则

数据库命名要遵从以下命名原则:

表意性原则:数据库命名本着表意性原则,即命名应尽量反映存储/action/view/column的数据内容。

长名原则:很少使用或者不使用缩写,适用于DB命名之外的任一对象

数目最少化原则:数据库对象应该尽量满足数据最小化原则,也就是数据库数目,存储过程,视图等数量最小化。

5.1.2 数据库版本控制

当由于多个版本的应用系统同时存在或者是其它特殊原因而使用完成相似的功能的对象存在同时存在时,使用版本控制:版本号在对象名的后面加上[_v1] 如:

Up_IM_DailyUsageStatsUpdate_v2 Up_IM_CustomerGetUsingLastName_v2

5.2 Server/命名实例的命名

基于Domain命名, DOMAIN 的粒度,可分为三级 ,分别是Server级别,Database级别和表的前缀级别。此为第一级别。

7

1. ONLINE PRODUCTION SERVER NEWSQL NEWSQL2 EHISSQL

WAREHOUSE PRODUCTION SERVER S3SQL01 S4SQL01 S7SQL01 S6SQL01

5.3 数据库命名

数据库命名应当遵从上面所提及到的协定,包括没有特殊的字符,使用文字数据字式字符??..,项目代码命名不应该同样被数据库使用.数据库名字应该唯一以避免冲突等.以Domain来标识, 拆分DATABASE,基于大的逻辑范畴,如operation 范畴以及部门类别,另外:其它与部门相关的DATABASE 可以放到相关的SERVER 下。

? 数据库数目最少化原则 ? 数据设置尽可能MERGER原则

? peration database AND Dept level Database set up rules ? 拆分DATABASE,基于大的逻辑范畴,如operation 范畴以及部门类别 ? 其它与部门相关的DATABASE 可以放到相关的SERVER 下。 ? 下面为与OPEARATION 相关的DATABASE示例:

如: 下面为与OPEARATION 相关的DATABASE:

8

搜索更多关于: SQL Server 设计、命名、编码规范 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

\\TBL:除了下面子目录,这个目录应该包括表的定义脚本,每个表应该有它自己的脚本,此脚本应该包括经表的删除,创建语句,索引,触发器,完整性参照,Check约束,默认值约束等,每个表创建语句应该包括在不同的脚本中,并被把归类到类似于下面的相应的子目录中.注意:本目录中的脚本和以下子目录的脚本应该命名为它所影响的表名,比如:表名.sql: \\Check:为每个表创建独立的Check约束定义脚本,Check约束应该使用alter table add constraint 来创建,并且每个alter table 语句只能包括一个contraint。 \\DEFAULT:为每个表创建单独的Default约束定义脚本。注意这些是Default Constraints,而不是在创建表时的Default。 \\FK:为每个表创建单独的外键约束定义脚本。

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com