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./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的结果

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/308971.html<

(0)
运维的头像运维
上一篇2025-05-27 20:12
下一篇 2025-05-27 20:14

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注