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经验 开会前对会议目的及方式要有所考虑: 不要随意无目的开会: 遵守时间,控制会议时间长度: 会议主持人要维持会议只需,有 ... 
随机推荐
- 1110. Complete Binary Tree (25)
			Given a tree, you are supposed to tell if it is a complete binary tree. Input Specification: Each in ... 
- 【LeetCode】005. Longest Palindromic Substring
			Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ... 
- unity 查看打包资源占用
			想要压缩包大小,首先得知道打包出来的各个资源的大小,明确知道哪些资源占用大,可以通过如下操作打开Editor.log(可能需要先输出一遍安卓包) 1.在Unity Console界面右上角点开Open ... 
- springboot启动异常:java.lang.IllegalArgumentException: Could not resolve placeholder 'xxx.xxx.xxx' in value "${xxx.xxx.xxx}"
			场景: 本地启动正常,部署到服务器上启动时启动tomcat失败,显示上面的问题. 原因: 本地打包的时候没有修改指定的配置文件名称(本地只有一份配置文件). 在打包到服务器上时指定的配置文件命名会去查 ... 
- 添加gitolite用户和仓库
			1.在linux工作机上生成密钥对 ssh-keygen -t rsa 输入用户名但不输入passphrase,这样连接时就不用每次都输入passphrase了. 2.添加用户和仓库 在管理员的工作机 ... 
- 蓝桥杯 基础练习 BASIC-24 龟兔赛跑预测
			基础练习 龟兔赛跑预测 时间限制:1.0s 内存限制:512.0MB 问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑.于是世界上各 ... 
- kafka集群安装和kafka-manager
			1.软件环境 (3台服务器-测试)10.11.12.31 mykafka110.11.12.32 mykafka210.11.12.33 mykafka3 [root@localhost ~]# ca ... 
- rails表单控件helper
			1.form加入HTML属性 <%= form_for(@device, :html => {:method=>"post", :id=>"for ... 
- mybatis 动态sql语句(1)
			mybatis 的动态sql语句是基于OGNL表达式的.可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类: 1. if 语句 (简单的条件判断) 2. ... 
- Py修行路 NumPy模块基本用法
			NumPy系统是Python的一种开源的数值计算扩展,一个用python实现的科学计算包.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结 ... 
