zoukankan      html  css  js  c++  java
  • 从零开始编写自己的C#框架(9)——数据库设计与创建

    对于千万级与百万级数据库设计是有所区别的,由于本项目是基于中小型软件开发框架来设计,记录量相对会比较少,所以数据库设计时考虑的角度是:与开发相结合;空间换性能;空间换开发效率;减少null异常......当然不同的公司与项目要求不同,初学者要学会适应不同的项目开发要求,使用本框架开发时,必须严格按照本章节的要求来设计数据库,不然可能会产生不可控的异常。

    从零开始编写自己的C#框架

    数据库设计规范

    文件状态:

    [√] 草稿

    [  ] 正式发布

    [  ] 正在修改

    文件标识:

    C#框架

    当前版本:

    0.1

    作    者:

    陈焕(AllEmpty)

    联系方式:

    1654937@qq.com

    更新日期:

    2014-04-26

    版本/状态

    作者

    参与者

    起止日期

    备注

    0.1

    陈焕(AllEmpty)

     

    2014-04-26

    创建

             
             

    目    录
    一、    文档介绍    3 1、文档目的    3 2、文档说明    3 3、读者对象    3 4、系统开发强度等级    3 5、使用工具    3 6、ExcelToSQLString2.91 for July软件介绍    3 二、    创建数据库    4 1、    数据表设计要求    4 2、    数据字典设计要求    4 3、    数据库存储过程创建规范    5 4、    生成SQL代码    5

    一、文档介绍 1、文档目的 本文档是《从零开始编写自己的C#框架》项目后台管理系统的开发指引说明。

    2、文档说明 本文主要讲述数据库设计的要求与规范,开发者必须严格按照本规范来设计,不然可能在开发中会产生不可控的异常。 本项目是基于中小型软件开发框架来设计,记录量相对会比较少,所以数据库设计时考虑的角度是:与开发相结合;空间换性能;空间换开发效率;减少null异常。

    3、读者对象 本项目的开发人员。

    4、系统开发强度等级 (强度分为:容易、中等、困难) 当前难度为:容易

    5、使用工具 Excel + ExcelToSQLString2.91 for July软件。

    6、ExcelToSQLString2.91 for July软件介绍 这个软件是我身边的大神July开发的,将指定格式的数据字典(Excel格式)转为SQL执行语句,减轻开发工作量。 经得July同意,现在无尝共享出来,后面代码中也会使用到大神开发的一些功能非常强大的函数或类,所以在这里也为他宣传一下,以对他无尝奉献的精神表示感谢。

    July有十多年的开发经验,在我们的小圈子里的全能型开发人员(除了UI设计不会)。ASP、ASP.NET、PHP都有十年左右的开发经验,经手过的大中小型项目几十个(估计快上百个了),前后端(包括WinFrom开发各种进销存软件与应用、微信开发、WAP站开发)开发都非常擅长,非常精通前端切图、JS、CSS,在他手上没有解决不了的浏览器兼容问题。开发速度效率非常高,承接各种类型的外包开发。想联系他的话请加群327360708找July。

    二、    创建数据库 1、    数据表设计要求 1.    数据库表名与字段名应遵守Pascal风格,包含一到多个单词,每一个单词第一个字母大写,其余字母均小写。(具体命名要求请查看第3章节) 2.    如果是关联表,则命名规则为R_表A_表B,如R_ProductInfo_Tag等。 4.    对于视图命名,规则为View_表A,视图由多个表产生,就用下划线连接几个表名,如View_ProductInfo_ProductClass。 5.    存储过程,命名规则为P_表名_存储过程功能名称。如P_ProductInfo_Add;如果该存储过程是很多表共用的,命名为:P_All_存储过程功能名称 6.    数据字段命名,也使用Pascal风格。当字段引用的是其他表字段时,使用表名_其他表字段名称,间用下划线隔开,命名规则:表名_单词。如ProductInfo表与ProductClass表关联的字段:ProductClass_Id,ProductClass_Name等。与外表的主键或相关字段引用时(包括状态值),须加同时添加外表所引用主键(或状态值)对应的名称,以方便查询时减少多表关联语句的编写,提高代码执行效率,详细请看《数据字典》中的设计。

    2、    数据字典设计要求 必须使用附件中的Excel表并按里面设计格式来设计数据库(如下图)。

    可能有的朋友会说,既然要按软件工程开发规范来做,为什么不用建模工具呢? 呃……其实对于中小型项目来说,我觉得不必要用建模工具来处理,那样很麻烦且更费时间,而使用本文介绍的工具,操作起来方便快捷,直接查看数据字典也很直观明了。

    在设计字段名时,除了上面要求外,还有一些特殊的命名规则要求,这将会影响逻辑层生成的函数,当然有些函数如果名称与下面要求一致,而它却不是你想要的功能定义时,你可以忽略该生成函数,不去调用即可。具体如下: 1)    主键Id必须命名为“Id”,将会生成UpdateValue()函数,用来更新指定Id的记录; 2)    字段名包涵Name这个字串的,会生成GetXxxName()函数,可以直接读取该字段值; 3)    字段名包涵_Id这个字串的,会默认为该字段是外键Id,将会生成DeleteByXxx_Id()函数,用来删除当前表值为指定外键的所有记录;还会生成UpdateValue_For_Xxx_Id()函数,用来更新当前表值为指定外键的记录值; 4)    字段类型为tinyint的字段,会被默认为状态字段,会生成UpdateXxx()函数,用来更新该状态值; 5)    字段名包涵Key这个字串且该字段为string类型的,会生成GetModelByXxxKey()函数,主要功能是通过Key这个字段值来获取当前记录实体; 6)    字段名包涵Count这个字串且该字段为int型的,默认为访问计数字段,会生成UpdateXxxCount()函数,用来执行该字段值累加功能; 7)    字段名包涵Img这个字串且该字段为string类型的,默认为图片路径存储字段,会生成DeleteXxx函数,用来执行图片删除功能; 以上规则大家在开发中可以根据需要自己在T4模板中任意添加或修改,使用这种规则生成后,将会大大减轻开发人员的代码量与出错次数(主要减少重复代码的开发),提高开发效率。

    另外单独说明一下《数据字典》中“上传管理”与“上传配置明细”这个工作表,它们是July开发的上传组件所要使用的相关配置表,只要配置好相要生成的图片大小与路径,那么就可以通过简单的调用得取想要的效果,在后面代码编辑章节会有详细例子介绍说明。

    3、    数据库存储过程创建规范 在创建存储过程时,头部必须写上功能、创建人、创建日期及修改情况。存储过程主体必须写上清晰的注释说明。 例:

    复制代码
    ---------------------------------------------------------
    --功能说明:删除用户使用日志
    
    
    --操作历史
    ------操作    操作人        日期
    ------创建    Empty        2013-11-20
    ------修改            
    ---------------------------------------------------------
    CREATE PROCEDURE [dbo].[P_Userlog_Delete] 
    
    AS
    BEGIN
        --定义临时变量
        DECLARE @UseLogReserveTime INT
        --获取系统设置的操作日志保留日期
        SELECT TOP 1 @UseLogReserveTime = UseLogReserveTime FROM WebConfig
        --如果设置为无限制,则不执行删除程序
        IF @UseLogReserveTime <= 0
            RETURN 0
    
        --执行日志删除程序
        DELETE FROM UseLog WHERE DATEDIFF(d, AddDate, DATEADD(d, -@UseLogReserveTime, CONVERT(VARCHAR(10),GETDATE(),110))) >= 0
    
    END
    复制代码

    4、    生成SQL代码 在数据字典(Excel表)里设计好数据库架构后,用ExcelToSQLString2.91生成相应的SQL代码,然后打开SQL查询分析器运行后生成相应的数据表。 在Excel表中设计好数据库架构,设置好主键与排序标识,生成的SQL语句就会自动创建对应的主键和绑定排序列。(主意事项:主键Id设计时,名称必须为Key、Id、表名 + Id或 表名 + _Id,不然使用SubSonic3.0插件时会出错) 打开ExcelToSQLString2.91软件

    打开软件,选择《数据字典》文件路径,设置好要生成的表格名称,按图中的选项全部打好勾。 然后点击运行,生成对应的SQL语句。 将上面语句复制到SQL查询分析器中直接运行就可以了。

    附件下载

    版权声明:
      本文由AllEmpty原创并发布于博客园,欢迎转载,未经本人同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如有问题,可以通过1654937@qq.com 联系我,非常感谢。

      发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:327360708 ,大家一起探讨。

      更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/

    只有将自己置空,才能装进更多的东西
  • 相关阅读:
    Brain network involved in autonomic functions 与自主功能相关的大脑网络
    Brief summary of classical components of ERP 事件相关成分(ERP)经典成分小结
    ICA & Percentage Variance Account For (PVAF)
    数据处理中白化Whitening的作用图解分析
    Loadings vs eigenvectors in PCA 主成分分析(PCA)中的负荷和特征向量
    主成分分析(PCA)和独立成分分析(ICA)相关资料
    Sketch of heart and QRS complex 心脏及QRS波群简图
    Brain Network visulation in EEG 脑电网络可视化
    Phase Locking Value (PLV) 神经信号的锁相值
    ubuntu16.04下的一些基本操作笔记
  • 原文地址:https://www.cnblogs.com/FinleyJiang/p/7600760.html
Copyright © 2011-2022 走看看