数据库命名规范(适用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
相关文档:
在SQL优化过程中常见Oracle HINT的用法:
1. /*+ALL_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.
例如:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
2. /*+FIRST_ROW ......
下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE data ......
学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下...
其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好事...以后数据方面的东西就不用在程序里搞喽..而且程序与数据库只要一个来回通讯就可以搞定所有数据的操作....
一、基础
1、说明:创建数据库
Create DAT ......
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 ......
1. 当前系统日期、时间
select getdate()
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
3. datediff 返回跨两个指定日期的日期和时间 ......