数据库命名规范(适用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.sql存储过程概述
2.SQL存储过程创建
3.sql存储过程及应用
4.各种存储过程使用指南
5.ASP中存储过程调用的两种方式及比较
6.SQL存储过程在.NET数据库中的应用
7.使用SQL存储过程要特别注意的问题
1.sql存储过程概述
在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语 ......
存储过程跟动态sql相比有如下优点:
1、 存储过程允许标准组件式编程
存储过程在被创建以后可以在程序中被多次调用而不必重新编写该存储过程的SQL
语句而且数据库专业人员可随时对存储过程进行修改但对应用程序源代码毫无影响因
为应用程序源代码只包含存储过程的调用语句从而极大地提高了程序的可移植性
2 、存储过程 ......
在LINQ to Entities中没有办法再像 LINQ to SQL 中一样使用 Contains 的方法来实现sql "in" 关键字
下面代码在 LINQ to SQL 中可行 在LINQ to Entities却无法运行:
var s = db.Account.Select(c => c.ID);
var ret =(from t in db.Profile
where&n ......
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 ......
为了公司考勤系统的需要
编写的几个简单存储过程(可以手动运行,也可以设置事务自动运行!感觉还行比较通用,写出来共享下)
Calendar表结构很简单,2个字段:
fdDate 日期
fdType 考勤类型(工作日N,周末W,节假日H[需要根据需要自己修改])
--判断一段时间范围内的工作日(N)和周末(W)
Create PR ......