您好!欢迎进入紫石头原创模板堂!
网站首页 | 购买流程 | 关于我们 |  联系方式 |  客服热线:0371-56789-390
当前位置:首页 >> 建站知识 >> 详情
扫二维码关注紫石头原创模板堂 4大优势,全网首家
  • NO.1

    模板类网站比起独立设计的网站来讲价格低的多,因为很多东西是已经做成的,成本就低很多!

  • NO.2

    开源模板网站,任意修改使用!服务好到没话说!模板建站经常被贴上服务差的标签,而紫石头完全打破这样的格局!

  • NO.3

    模板网站还享受设计型网站同等级售后服务,这不是做梦!紫石头原创模板站,让这一切变为可能!

  • NO.4

    建站速度快,购买后简单修改即可投入使用。设计型网站正常需要10~20个工作日,而模板站只需要几个小时!

免费咨询热线
0371-56789-390

数据库使用规范总结
发表:紫石头原创模板堂    发表时间:2018-09-17 11:07:37    阅读:69
    1.数据库/表 名第一位为数字的话,需要加 "[]" ;为了规范,不要使用数字开头
    2.如果没有业务列组合当主键,可以生成自增id当主键
    a.主键不是必须的,但是主键是必要的。首先,确保表的完整性(如数据的唯一性)当插入两行一模一样的数据时,没有主键则不可区分。其次,提升效率(没有主键时,是按照输入顺序进行插入的)
    b.有些数据库里主键时必须要有的。
    c 业务列作为主键 / GUID主键 / 时间+机器号+自增ID主键
    3.注意数据库字段,表名的长度限制。Oracle是30个字符
    4.外键必须是另一个表的主键
    5.dbo:数据库名.架构名.表名。05版本前为 数据库名.用户名.表名
    6.@自定义变量 @@系统变量  Cursor游标
    7.使用top/where等控制sql执行返回的结果集合
    8.注意数据库的编码规则
    9.EXEC执行存储过程
    10.游标:Cursor c is select .. from ..
    11.游标和临时表对比:内存/硬盘,数据量两方面考虑
    12.不使用goto 的原因:可以使用if else/while代替,提升代码质量和流程
    13.SET NOCOUNT ON :不返回 ..行受到影响
    14.业务逻辑是否封装到存储过程里:
    a.在开发过程中为什么需要写存储过程
    b.是:执行速度快,安全性(屏蔽开发人员权限)
    c.否:互联网基本采用这种,银行/电信等采用上条。
    i.业务逻辑交给程序处理,减少数据库资源消耗
    ii.不利于分层规范和维护
    iii.迁移方便(屏蔽具体sql的差异,如sqlserver和mysql)
    15.最好有return信息。没有的话可添加 return 1
    16.Union all ,from  .. where等等聚合写入/读出
    17.索引:最实用的方法就是看执行计划找瓶颈,根据实际情况优化设计
    a.参考文章  SQL索引一步到位
    b.聚集索引/非聚集索引:是否是物理排序
    c.非聚集索引行定位器是
    i.指向行的指针(文件标识符+页码+行序号生成)
    ii.该行的聚集索引关键字的值。
    d.SQL SERVER 采用 B- 树结构,非聚集索引是一个新实体(类似术语表)
    e.原则上where字句上出现的列都需要创建索引:不然还是会到表中查询
    f.避免在WHERE条件中,在索引列上进行计算或使用函数:这将导致索引不被使用
    g.保证索引排序和Order By 字句顺序保持一致
    h.数据重复列高的字段不要创建索引:没有意义
    i.text, varchar(max)不创建索引
    j.外键和用于做表连接的字段需要做单独的索引:如果外键列缺少索引,从关联子表的查询就只能对子表选择全表扫描
    k.经常更改的列不创建索引:维护成本太高
    使用规范
    1.采用Pascal命名
    2.ConstDict、ConstDictValues作为系统保留字段
    3.每个实体表都必须包含 CreateDate、CreateBy、ModifyDate、ModifyBy四个字段
    4.脚本头规范:参考别人写的就行了。
    a.作者 / 创建时间 / 修改人 / 修改时间 / 对应系统模块 / 描述
    b.参数注释
    c.TRANSACTION事务注释
    5.存储过程规范:
    a.过程名称,作者,功能说明,创建日期,维护记录,使用案例
    6.脚本命名:编号_数据库名_脚本功能
    a.脚本数据库存在分库情况时,DBA会将其全库执行,不需要开发处理
    7.存储过程命名:架构名.模块名_功能语义
    8.依赖条件使用 By+条件
    命名法:
    匈牙利命名法:
    1.每个变量名前加上若干表示数据类型的字符。
    2.变量名=属性+类型+对象描述
    驼峰命名法:大小写混合的对象描述,如userName
    Pascal命名:首字母大写的驼峰命名
工作时间:周一至周五(08:30~18:00)
Copyright ©2003-2020 永易搜旗下紫石头原创模板堂 All Rights Reserved 豫ICP备14011598号-7 营业执照