数据库命名规范(适用SQL Server)
设计原则
符号三大范式(每一列表达一个意思,每一行代表一个实例/每一行有唯一键/表内没有其它表的非主键信息)
每个表应该有的3个有用字段(记录创建或更新时间/记录创建者/记录版本)
避免保留字
表应避免可为空的列
命名规范
表
表名如Order/UserAccout
符合以下规范:
1. 统一采用单数形式,反对Orders
2. 首字母大写,多个单词的话,单词首字母大写,反对order/Useraccout/ORDER
3. 避免中文拼音,反对AgentBaoCi
4. 避免下划线连接,反对User_Accout(下划线适用Oracle数据库)
5. 避免名称过长,反对WebsiteInfomationModifyRecord
6. 多对多关系表,以Mapping结尾,如UserRoleMapping
7. 避免保留字
字段
字段名如userID/userName/userType
符合以下规范:
1. 首个字母小写,多个单词的话,单词首字母大写,反对UserID/Userid
2. 必须有一主键,主键不直接用ID,而是表名+ID,如userID/orderID
3. 常用的字段name,不直接用name,而是表名+Name,如userName/orderName
4. 常用的字段desc,不直接用desc,而是表名+Desc,如userDesc/orderDesc
5. 大写字母前必须包含至少两个小写的字母,反对uID/oID
6. 避免中文拼音
7. 避免下划线连接
8. 避免名称过长
9. 避免保留字
对象
1. 存储过程以SP_为前缀
2. 触发器以TR_为前缀
3. 函数以FN_为前缀
4. 主键以PK_为前缀
5. 索引以IX_为前缀
6. 前缀后的首字母大写,多个单词的话,单词首字母大写,如SP_CountFee
7. 所有的关键字的所有字母必须大写,如SELECT userID,username from User
相关文档:
本文主要讲述三个内容:
1.如何创建hierarychyid的表,插入数据及基本递归查询。
2.介绍hierarchyid的10种专有函数。
3.介绍hierarchyid特有的深度优先索引(Depth-First Indexing)和广度优先索引(Breadth-First Indexing)
在上一节中
http://blog.csdn.net/tjvictor/archive/2009/07/30/4395677.aspx
我们已经演 ......
"SQL Server 安装程序无法获取 ASPNET 帐户的系统帐户信息"
解决办法:
用aspnet_regiis实用工具卸载和重新安装一下就可以了。
具体的操作:
1、进入CMD:
C:\windows\microsoft.net\framework\v2.0.50727文件夹下,运行aspnet_regiis -u卸载
然后运行aspnet_regiis -i 重新安装,上述问题即可解决。
2、C:\WINDOWS\ ......
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
Go
----截取字符串,并出去html
create FUNCTION [dbo].[CutString] (@str varchar(1000),@length int)
RETURNS varchar(1000) AS
BEGIN
declare @mainstr varchar(1000)
declare @substr varchar(1000)
if(@str is not null or @st ......
一直对时间戳的概念模糊,并且网上也有很多朋友也都误认为:是一个时间字段,每次增加数据时,填入当前的时间值。导致也误导了很多朋友。
这次看了很多资料,纠正一下这个错误,自己也搞清楚:数据库中自动生成的唯一二进制数字,与时间和日期无关的, 通常用作给表行加版本戳的机制。存储大小为 8 个字节。
&nbs ......
1. 当前系统日期、时间
select getdate()
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
3. datediff 返回跨两个指定日期的日期和时间 ......