MSSQL数据库设计心得
- 统一库名命名规则。 格式:公司简称_库名 如:Supesoft_Member 会员库
- 建库时,最好将初始大小设置为你认为可允许的最大容量。避免因为库太小,而出现系统自增加。在系统运行中,自动增加空间会影响数据库性能。另外,增加的空间可能和原来的空间不是在磁盘的连续存放位置,从而增加数据的访问时间。
- 建库时,有一个排规则。会对影响数据的存储格式。mssql默认的排序规则是不区分大小写和假名。像帐号系统中的用户名字段,区分和不区分就影响很大。排序规则在建库时可以选择。建好库后,建表时会默认使用建库的排序规则,你可以按字段来更改排序规则。
- 建表时统一命名规则。格式:系统简称_表名 如:FW_User 用户表
- 为表中的字段增加统一前辍。
表中最好包括以下字段:
IDX 自增加字段 int类型
STATUS 状态 0正常
ROWTIME 记录时间
ROWTIMEUPDATE 记录修改时间- 表名和字段名都大写。方便以后移到其它数据库。如oracle库,如果字段名不为大写,则要用单引号包括走来才能用。
- 字段名不要允许空值。如果搜索有空值的字段是不走索引的。
- 字段名不要设置默认值。统一通过程序来初始化值。
- 字符类型字段,如果不存中文请用varchar,如果有可能要存中文请用nvarchar。
- 字符类型字段长度尽可能50以上。曾经有个系统用户名字段是20位,后来数据量增加。需要支持邮箱当用户名增加到50位。数据库要修改,程序也要修改,如果外围有用“用户名”当唯一标识也要修改。
为表名及字段增加说明。好处是,可用生成工具生成对应的表说明文档。另外一些代码生成工具可以根据备注生成对应实体类说明。
表名说明:
execute sp_addextendedproperty 'MS_Description',
'用户表',
'user', 'dbo', 'table', 'FW_User'
go字段说明:
execute sp_addextendedproperty 'MS_Description',
'更新用户id',
'user', 'dbo', 'table', 'SYS_GROUP', 'column', 'ROWUSERID_U'
go
数据库文档生成工具
RedGate数据库工具.rar
http://115.com/lb/5lbdnl0tx0n1 115网盘礼包码:5lbdnl0tx0n1
DDBuildTools http://ddbuildtools.codeplex.com/- 聚合索引速度最快,建立在查询条件上。索引不要建的太多,会对插入数据速度有影响。
- 在设计树型分类结表时,增加一个排序字段.varchar(50) 一级为01二级为0101 三级为010101。每二位算一级。如果是varchar(50)最多可以支持25级。每级最多可以有99分类。这样设计好处是可以直对此字段排序就可以出现树型结构。

MSSQL数据库设计心得的更多相关文章
- 医生智能提醒小程序数据库设计心得——Legends Never Die
数据库设计心得 根据我们小组数据库设计的整个流程,我们将整个数据库设计划分为两个具体的阶段,在每个阶段需要进行不同的准备,有不同的注意事项,接下来我们将结合在数据库设计过程中遇到的一些问题和困难,提出 ...
- NoiseSystem数据库设计心得-洋芋好想飞
团队:洋芋好想飞 成员:乔祥硕 石高飞 杨慧慧 梁家豪 潘景渝 整理:乔祥硕 PM乔祥硕: 10月25日14:30到17:30,10月27日14:30到17:30,11月1日14:30到17:30,这 ...
- NoSql数据库 设计上面的一些心得
NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 用户信息表,书籍信息表,用户为书籍打分信 ...
- 如何判断MSSQL数据库磁盘出现了瓶颈
问大神石沫:如何判断MSSQL数据库磁盘出现了瓶颈? 石沫(A1):您好,您的问题非常好,SQL SERVER提供了很多关于I/O压力的性能计数器,请选择性能计算器PhysicalDisk(Logic ...
- 数据库设计 Step by Step (1)——扬帆启航
引言:一直在从事数据库开发和设计工作,也看了一些书籍,算是略有心得.很久之前就想针 对关系数据库设计进行整理.总结,但因为种种原因迟迟没有动手,主要还是惰性使然.今天也算是痛下决心开始这项卓绝又令我兴 ...
- 如何从40亿整数中找到不存在的一个 webservice Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库 WPF实战案例-打印 RabbitMQ与.net core(五) topic类型 与 headers类型 的Exchange
如何从40亿整数中找到不存在的一个 前言 给定一个最多包含40亿个随机排列的32位的顺序整数的顺序文件,找出一个不在文件中的32位整数.(在文件中至少确实一个这样的数-为什么?).在具有足够内存的情况 ...
- (转)Mysql数据库主从心得整理
Mysql数据库主从心得整理 原文:http://blog.sae.sina.com.cn/archives/4666 管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本 ...
- MYSQL数据库设计之字段选择原则
关于字段的选择其实很多地方都有进行详细的介绍,我这里只写一下我在使用过程中的心得感受.如果想要全面的了解的话,大家可以去看高性能MYSQL这一本书籍,里面有一章节介绍的特别全面,基本涉及MYSQL中全 ...
- HNU_团队项目_数据库设计感想_个人感想
数据库设计感想 个人的一点心得体会 最重要的放在最前面——讨论开会时的123经验 开会前对会议目的及方式要有所考虑: 不要随意无目的开会: 遵守时间,控制会议时间长度: 会议主持人要维持会议只需,有 ...
随机推荐
- 【LeetCode】003. Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...
- 高并发下Redis如何保持数据一致性(避免读后写)
通常意义上我们说读后写是指针对同一个数据的先读后写,且写入的值依赖于读取的值. 关于这个定义要拆成两部分来看,一:同一个数据:二:写依赖于读.(记住这个拆分,后续会用到,记为定义一.定义二)只有当这两 ...
- Yii的常用URL和渲染方法
当前页面url Yii::app()->request->url;跳转前一个页面url $this->redirect(Yii::app()->request->url ...
- angular 的杂碎报错小知识
1:[ng:areq] Angular出现这种错误的原因,是由于没有在页面中使用模块引入controller导致的 所以 请确保你定义了这个controller后也引用了它. 2:Failed to ...
- 使用Azure Site Recovery把VM批量搬迁到Azure
Azure Site Recovery可以提供如下服务: Site Recovery 服务:Site Recovery 可以在站点出现故障时,让应用在其他站点继续可用,从而确保业务连续性. Site ...
- 机器学习:数据归一化(Scaler)
数据归一化(Feature Scaling) 一.为什么要进行数据归一化 原则:样本的所有特征,在特征空间中,对样本的距离产生的影响是同级的: 问题:特征数字化后,由于取值大小不同,造成特征空间中样本 ...
- Python运行错误解释
BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户中断执行(通常是输入^C) Exception 常规错误的基类 StopIte ...
- calc PI
https://en.wikipedia.org/wiki/Pi code https://github.com/HHS-IntroProgramming/Calculate-Pi https://g ...
- CSS3 高级属性
尽管现代浏览器已经支持了众多的CSS3属性,但是大部分设计师和开发人员貌似依然在关注于一些很“主流”的属性,如border-radius.box-shadow或者transform等.它们有良好的文档 ...
- Javascript面向对象(三):非构造函数的继承
这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承". 今天是最后一个部分,介绍不使用构造函数实现"继承". 一.什么是 ...