SQL Server数据库的设计规范简介

数据库 SQL Server
本文我们主要介绍了SQL Server数据库的一些设计规范,包括对象注释规则、逻辑设计和物理设计等,希望能够对您有所帮助。

我们在设计SQL Server数据库的时候,要遵循一定的设计规范,这样设计出来的数据库才能高效、安全、可靠。本文我们就介绍一下SQL Server数据库的设计规范,接下来就让我们来一起了解一下这部分内容。

1、对象注释规则:

注释头:注释头应该表明此对象具体实现功能,与之相关的对象以及操作参数、作者及最后修改时间。

存储过程:CalLnIncome

相关数据:

LnLineInfo,lnStation:提供线路及线路分成信息。

pbTransportBill,pbTrnasInfo:提供运量单数据。

lnInComeList:计算结果保存在此表中。

执行成功标记:lnCostList表内有最新时段的加总分成数据最后修改:By yczyk,2003.11.20

注释内容:系统操作类一般都写在语句开始和最后,它与具体业务语句用分隔符分开!

  1. SET QUOTED_IDENTIFIER ON   
  2. SET ANSI_NULLS ON   
  3. SET ANSI_WARNINGS ON  
  4. SET XACT_ABORT ON declare @ServerName varchar(50),@UserName varchar(20),@Password varchar(20),@DBName varchar(30),  
  5. @TableQuery varchar(4000)--参数定义  
  6. select @ServerName=vcComputer,@UserName=vcUserName,@Password=vcPassword,@DBName=vcDataBase   
  7. from smDataParam set @TableQuery='select * into ##QJGroupInfo from opendatasource('+'''SQLOLEDB'','+'''Data  
  8. Source='+rtrim(@ServerName)+';User ID='+rtrim(@UserName)+';Password='  
  9. +rtrim(@Password)+''').'+rtrim(@DBName)+'.dbo.QJGroupInfo'  
  10. --将数据导到当前连接服务器的全局临时表中备用,以后只要操作##QJGroupInfo表就可以  
  11. exec (@TableQuery) update smDept set vcDeptName=t.GroupName from (  
  12. select  m.vcTransDeptNo,g.GroupName from ##QJGroupInfo g inner join smDeptRelate m  
  13. on m.vcSourceDeptNo=g.GroupID where m.RelateKind=0)as t where cDeptNo=t.vcTransDeptNo 

2、数据库设计规范数据库设计分为逻辑设计和物理设计

一般建议先对数据库进行逻辑建模,再将逻辑上的设计映射于物理设计。在逻辑设计时,请注意对象之间的关联性和数据的冗余性。
表设计原则:每个表中都可以考虑添加的3个有用的字段。
・ RecoredID  ,记录唯一编号,不建议采用业务数据作为记录的唯一编号。
・ CreationDate,而在SQL Server 下默认为GETDATE()。
・ RecordCreator,在SQL Server 下默认为NOT NULL DEFAULT USER。
・ RecordVersion,记录的版本标记;有助于准确说明记录中出现null 数据或者丢失数据的原因数据类型:一般不建议采用char而采用varchar数据类型,除非当这列数据的长度特别固定时可以考虑用char。

char存在不足数值类型

如果表示金额货币建议用money型数据,如果表示科学记数建议用numeric数据类型。一般采用int类型标识唯一一行记录。此列是否采用自动累增视具体情况而定。如果需要在保存之前得到此标记次序,如果你要严格控制记录的加入次序,也不能用自动累增类型。

所有的表都应该有一个主键索引,这对提高数据库的性能很有帮助。如果表中能够用几个字段确定一笔记录,可以考虑建立唯一索引,但建立了唯一索引后就有了一个约束,如,如果一个表记录数过多,而自己如何建立索引不太熟悉,可以考虑在查询分析器里索引优化向导得到SQLServer 。你可以在分析器里执行指定语句的查询执行计划,根据执行计划显示的查询成本来调整相应的查询语句。

保证数据的一致性和完整性:

主外键关联

建立主外键关联可以降低数据冗余,提高查询效率。虽然平时我们可以用join语句在不同的表之间进行关联,以在设计完表后通过企业管理器的关系图统一建立好关联图。所有的关联都建立好了后,我们可以在视图的建立里表中就应该记录当时的商品售价了。

建立约束实现数据有效性检测

你可以为某一列特别重要的值建立好约束。例如,你需要凭数据库里面的SaleKind列数据判定销售类别,你有0值为门店销售,1为网上销售。你系统只有这两种销售渠道,你就应该为它建立约束,它的值只能在0和1之间。即SaleKind>0 and SaleKind<3 。设置默认值操作数据库不建议用SA用户,因为SA用户权限过大。具体的应用应该创建相应的数据库操作用户,并只赋给它指定了异常建议写入数据库的日志表,查询日志表以发现自己程序中操作数据库中的失误。

关于SQL Server数据库的设计规范的知识就介绍到这里了,希望本次的介绍能够对您有所收获!更多SQL Server数据库的知识,请参考:http://database.51cto.com/sqlserver/

【编辑推荐】

  1. SQL Server 2008数据库学习笔记
  2. SQL Server 2005数据库nolock使用详解
  3. SQL Server如何启用Ad Hoc Distributed Queries?
  4. SQL Server 2008用存储过程实现插入更新数据的实例
  5. 含有GROUP BY子句的查询中如何显示COUNT()为0的结果

 

责任编辑:赵鹏 来源: 火魔网
相关推荐

2014-08-29 10:24:05

SQL Server

2010-04-12 15:53:09

Oracle

2021-01-26 13:31:48

数据库关系型数据库冗余

2010-05-11 18:57:53

MYSQL数据库命名

2009-01-13 10:50:19

数据库设计规范化

2010-04-19 12:35:01

Oracle数据库设计

2010-07-02 08:23:06

SQL Server

2015-08-04 09:20:42

.NET数据库设计规范

2024-04-25 09:14:57

数据库Mysql阿里巴巴

2010-04-27 16:31:41

Oracle数据库

2019-10-12 00:39:23

MySQL数据库Oracle

2015-07-28 10:33:17

.NETERP系统

2010-07-15 17:28:50

SQL Server

2010-07-08 11:05:14

SQL Server数

2010-09-07 16:12:36

SQL语句数据库压缩

2011-03-24 09:24:08

SQL Server数还原

2011-03-24 09:45:34

SQL Server数恢复

2011-03-24 09:07:11

SQL Server数备份

2021-04-21 08:09:50

iOSApp设计iPhone

2021-05-17 06:57:34

SQLServer数据库
点赞
收藏

51CTO技术栈公众号