MSSQL数据库设计心得

  1. 统一库名命名规则。 格式:公司简称_库名 如:Supesoft_Member  会员库
  2. 建库时,最好将初始大小设置为你认为可允许的最大容量。避免因为库太小,而出现系统自增加。在系统运行中,自动增加空间会影响数据库性能。另外,增加的空间可能和原来的空间不是在磁盘的连续存放位置,从而增加数据的访问时间。
  3. 建库时,有一个排规则。会对影响数据的存储格式。mssql默认的排序规则是不区分大小写和假名。像帐号系统中的用户名字段,区分和不区分就影响很大。排序规则在建库时可以选择。建好库后,建表时会默认使用建库的排序规则,你可以按字段来更改排序规则。
  4. 建表时统一命名规则。格式:系统简称_表名 如:FW_User 用户表
  5. 为表中的字段增加统一前辍。
  6. 表中最好包括以下字段:
    IDX 自增加字段 int类型
    ROWTIME 记录时间
    ROWTIMEUPDATE 记录修改时间
  7. 表名和字段名都大写。方便以后移到其它数据库。如oracle库,如果字段名不为大写,则要用单引号包括走来才能用。
  8. 字段名不要允许空值。如果搜索有空值的字段是不走索引的。
  9. 字段名不要设置默认值。统一通过程序来初始化值。
  10. 字符类型字段,如果不存中文请用varchar,如果有可能要存中文请用nvarchar。
  11. 字符类型字段长度尽可能50以上。曾经有个系统用户名字段是20位,后来数据量增加。需要支持邮箱当用户名增加到50位。数据库要修改,程序也要修改,如果外围有用“用户名”当唯一标识也要修改。
  12. 为表名及字段增加说明。好处是,可用生成工具生成对应的表说明文档。另外一些代码生成工具可以根据备注生成对应实体类说明。
    表名说明:
    execute sp_addextendedproperty ‘MS_Description‘,
    ‘用户表‘,
    ‘user‘, ‘dbo‘, ‘table‘, ‘FW_User‘
    go

    字段说明:
    execute sp_addextendedproperty ‘MS_Description‘,
    ‘更新用户id‘,
    ‘user‘, ‘dbo‘, ‘table‘, ‘SYS_GROUP‘, ‘column‘, ‘ROWUSERID_U‘
    go
    数据库文档生成工具
    RedGate数据库工具.rar
    http://115.com/lb/5lbdnl0tx0n1 115网盘礼包码:5lbdnl0tx0n1
    DDBuildTools http://ddbuildtools.codeplex.com/

  13. 聚合索引速度最快,建立在查询条件上。索引不要建的太多,会对插入数据速度有影响。
  14. 在设计树型分类结表时,增加一个排序字段.varchar(50) 一级为01二级为0101 三级为010101。每二位算一级。如果是varchar(50)最多可以支持25级。每级最多可以有99分类。这样设计好处是可以直对此字段排序就可以出现树型结构。
时间: 2024-11-26 06:00:24

MSSQL数据库设计心得的相关文章

噪声收集系统——数据库设计心得

数据库设计心得 在需求分析阶段,其实数据库的设计就已经初具雏形,组内初步分析了需要哪些表来存放哪类数据,并探讨了各个表中的关键字段.但在需求分析阶段的数据库设计并不完整,只描述了部分实体,表中的属性也不能完全描述需求,数据库表间的关系没有体现,这就需要进入详细的数据库设计阶段来完善. 在数据库设计的第一阶段,还是围绕用户需求来展开工作.用户的需求在设计过程中扮演着中心角色,如果一开始对需求的分析就出现偏差,那数据库设计就很容易出现问题,好在需求分析阶段结束后我们的需求是十分明确的,项目组内根据项

创新课程管理系统数据库设计心得

因为创新课程管理系统这一个项目,是一个从无到有,没有标准可以去参考的一个项目. 这个项目专门针对该课程进行设计,所以需求的功能点很多,因此数据库有多次设计,更改再推翻重新设计再更改. 因为用户有多个类型,系统管理员,学校管理员,老师,助教,学生. 一开始的时候想把每一个都单独设计为一个表,然后登陆的时候选择身份后直接在对应的表里面进行查找即可.所以当时的用户表是如下的: 后来经过小班讨论课,又觉得可以把所有的用户全部放在一个表里面,即一个User表里面有所有用户的资料,不过这样会导致许多字段的空

手势识别项目小组——数据库设计心得

因为我们的项目是算法类,所以项目本身的需求不太明确.设计数据库的过程其实本身也是在进一步明确需求的过程. 这是我们画出的用例图: 以下是我们小组成员的数据库设计心得: JJ: 通过本次数据库设计的过程,我经历了很多也学会了很多. 首先因为课程组的要求是设计出至少15张表,而我们想要达到15张表是很困难的.我们的设计想法是先根据我们之前设计的原型先设计出一些表,根据登陆.注册.历史记录等设计了几张表.但是这些表也基本是基于用户而设计的,后来我们也寻求了指导老师的帮助,指导老师帮忙想了一个损失函数表

基于Android平台的汽车租赁平台项目的数据库设计心得

我们团队的项目是基于Android平台的汽车租赁平台,其分为手机客户端与web后台管理系统,用以满足租车公司的业务需求,故数据库设计对于本项目显得尤为重要,我们团队数据库设计最开始用的是最原始的方式:Word手动输入,但随后随着数据库课程以及实验的学习,我们最后使用的PowerDesigner设计的数据库并生成了SQL文件,导入数据库完成的数据库最终设计与搭建,我们团队于第8周完成了数据库的搭建. 数据库设计中,数据库要严格与项目需求相联系,同时保证数据库数据完整.正确.安全以及数据处理的高效与

智能查寝数据库设计心得

这次项目的数据库设计我们小组主要由苏文江同学负责,我并没有出多大力,但是我们组对于数据库的设计还是进行过许多讨论的,我也只是做了一点微小的工作.具体的设计情况就不多说了,其他几位成员的博客里面已经写得很详细了,下面就写一下相关的收获. 充分理解需求,明确实体之间关系 对于需求的充分理解,可以帮助我们节省大量的时间.通过对用户需求进行综合,归纳与抽象得到一个个实体,对实体之间的关系进行约束,便于我们对概念模型的设计. 表结构的设计是否合理 这样做的话,在之后的实际应用中,如果需求增加或者改变,不会

数据库设计心得

若两个实体之间存在多对多的关系,则应消除这种关系.消除的办法是,在两者之间增加第三个实体.这样,原来一个多对多的关系,现在变为两个 一对多的关系.要将原来两个实体的属性合理地分配到三个实体中去.这里的第三个实体,实质上是一个较复杂的关系,它对应一张基本表.一般来讲,数据库设计 工具不能识别多对多的关系,但能处理多对多的关系. 在数据库学习中也学到了许多的数据库的规则.一般而言,一个实体不能既无主键又无外键.处于叶子部位的实体, 可以定义主键,也可以不定义主键(因为它无子孙), 但必须要有外键(因

医生智能提醒小程序数据库设计心得——Legends Never Die

根据我们小组数据库设计的整个流程,我们将整个数据库设计划分为两个具体的阶段,在每个阶段需要进行不同的准备,有不同的注意事项,接下来我们将结合在数据库设计过程中遇到的一些问题和困难,提出自己的一些观点,希望能对大家有所启发.如有异议,欢迎指正. 一.准备阶段: 在数据库设计前,需要准备以下几样东西: 1:设计工具 数据库设计过程中会用到一些软件,例如powerdesigner(实际上不仅仅是用于数据库设计).想要设计好数据库,熟练运用软件是必不可少的.至于如何学习使用其进行数据库设计,主要的方法还

数据库设计心得——今天坐地板,明天当老板

1.设计的几点问题: 首当其冲的是权限问题 不同的用户如果不分配指定的角色,就可能会具有某些权限来修改我们不希望被修改的数据,从而导致数据库中的数据出现混乱:亦或是具有对其他表的访问权限,能够访问到程序设计者并不希望被用户访问到的数据. 因此权限问题是设计数据库中非常值得注意的一点. 以下提供一种具体实现方法: 在用户注册的时候,根据用户的注册信息,识别(判断)出这个用户应该具有哪些权限,并在注册表中插入一行,同时使用触发器为插入行授权或分配角色. 其次需要注意数据冗余的问题,这一点还算做的比较

联邦式知识图谱上的自然语言检索引擎数据库设计心得-T5队

根据我们小组讨论设计数据库的整个过程,可以将数据库的设计分为两个部分:准备部分.设计部分和总结部分.下面根据所分的阶段,对三个阶段所需的准备和注意事项进行阐述. 一. 准备部分: 设计工具 数据库的设计过程之中会使用到一些软件,在软件工程导论这门课上,周老师使用的是powerdesigner进行UML图的设计.数据库设计实验上讲授用powerdesigner来设计数据库.在学习使用该软件的时候,建议观看演示的视频进行学习,没有什么比实际的例子更加容易进行学习的了. 用例图 用例图在明确各类Act