现在是技术和思想沉淀的时候,边学边做一些东西。
一直想做一个企业网站模板程序,想做到前台只要替换界面就可以创建一个企业网站的半成品出来,但是自己没有什么技术积累,也没有什么架构思想,一直也没开动,最近慢慢地有一些启发了,于是就来摸索着开发了。
我一直觉得有些东西,要人带进门,你才会免走弯路。
在公司学到许多的规范,虽然技术方面没有太多新奇或创新的东西,但是,规范,并不是每一个公司都有要求的,也不是每一个软件从业者会懂得并遵循的。有时候,遵行某些规范无非是为了能够提高工作效率而已,不必为了遵守规范而规范。
今天讲讲数据库创建的一些规范吧!
一、数据库名称:数据库简写_库名(例如:DB_Company)
二、数据库命名规则:架构名_产品名_模块名_表名Data(例如:dbo.SEC_User_UserManagerData);其中dbo是架构名,是可以修改的,作用可以百度了解;而这样细分主要是方便分类使用;值得注意的是:数据库名和表名不要超过30个字符为宜,因为Oracel超过40个字符会有问题的。
三、字段命名规则:产品首字母_英文描述 (例如:B_RecordStatus),能通用的字段就通用,不必加入太多无意义的英文单词或者缩写;字段采用(Camel命名法)
四、提炼通用的脚本,用来快速创建数据库表的字段;例如一个系统中通常有Number编码,Name名称,RecordStatus记录状态及Remark备注等通用字段,则可以提炼出来,生成脚本,方便以后备用。
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N‘[dbo].[Com_TB_ProductType]‘) AND type in (N‘U‘)) drop table [dbo].[Com_TB_ProductType] BEGIN CREATE TABLE [dbo].[Com_TB_ProductType]( [B_Number] [nvarchar](50) NULL, [B_Name] [nvarchar](50) NULL, [B_RecordStatus] [int] NULL CONSTRAINT [DF_Com_TB_ProductType_B_LastModifyTime] DEFAULT ((0)), [B_Remark] [text] NULL, [B_CreateTime] [datetime] NULL CONSTRAINT [DF_Com_TB_ProductType_B_CreateTime] DEFAULT (getdate()), [B_CreateMemberId] [int] NULL, [B_CreateMemberName] [nvarchar](50) NULL, [B_LastModifyTime] [datetime] NULL CONSTRAINT [DF_Com_TB_ProductType_B_LastModifyTime_1] DEFAULT (getdate()), [B_LastModifyMemberId] [int] NULL, [B_LastModifyMemberName] [nvarchar](50) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END
五、每一次新增的字段或者表等脚本,要标识版本号,将这一个数据库的创建和修改脚本归类到整个项目的版本下,方便还原和移植;
六、保持备份,建议使用网络存储,毕竟现在的社会不太平,博主曾经笔记本就被盗了,虽然乘机买了一台新机,但是毕竟许多积累就丢了。