网址 :http://blog.csdn.net/yjjm1990/article/details/7525811

1.文档的建立日期、所属的单位。
2.数据库的命名规范、视图、
3.命名的规范:
1)避免只使用面向计算机的术语,尽量使用与业务相关的术语。
2)如果一个词可以在字典找到缩写的形式,尽量使用缩写形式。 eg:Dec(December)
3)可以删除单词的元音(词首字母除外)和每个单词的重复字母来缩写一个单词。eg:Current = Crnt,Address = Adr
4)不使用歧义的缩写。
5)尽量使用单数的表名。
6)避免使用无谓的表格后缀。
7)多对多关系的表使用多个相关表的单词合写。
eg:学生和课程的关系,多对多,学生和课程各自一张表,学生和课程的关系表表名为:StudentCourse,其中
StudentID、CourseID复合主键,以及Student和Course表的外键。
8)对一些具有共同特性的字段使用约定俗成的前/后缀。
eg:
1)发帖时间 PostTime => PostDate
2)登录次数的统计 LoginTime => LoginCount
3)含有链接的字段以Url结尾:ImagePath => ImageUrl
4)布尔类型以Is、Can、Has开头
5)外键的命名:表名+ID
4.数据库设计的建议:
在代码中要做下列的事情时:
1)确保表中的行是唯一的,为表加一个主键。
2)确保表中的单独的列是唯一的,为表添加一个约束。
3)确保表中列的取值只能属于某个范围,添加一个Check约束。
4)连接父-子表,就创建一个关系。
5)父表发生变化,连带变更子表的相关行,启用级联删除和更新。
6)大量的Join来进行查询,创建一个视图。
7) 需要逐条的写数据库语句来完成一个业务规则,就使用存储过程。
注意:触发器的使用需要实践体验。 5.字段的类型不要随意设计成null,记住null和任意数的运算结果都是null。
6.Not Null可以接受空字符串,为了确保字段不空,可以加个Check约束。
7.确保字段的为唯一性,可以加个Unique的约束。
8.存储过程命名时,建议名词放前面,动词后面,这样当用企业管理器查看的时候,很整齐:
eg:
prEmployeeDelById
prEmployeeGetById
prEmployeeInsert
prEmployeeUpdate
prProductDelById
prProductGetById
10.存储过程的参数命名和对应的字段名相同。 其他的内容:
1.基本数据库对象的命名:
数据库对象 前缀 举例 备注
表(Table) 无 Student
字段(Column) 无 Title
视图(View) v vActivity
存储过程(Stored procedure) pr prDelOrder (系统的存储过程:_sp),pr用户自定义的存储过程
触发器(Tigger) tr trOrder_D (后缀:_I,_U,_D ,insert,update,delet操作)
索引(Index) ix_ ix_CustomerID
主键(primary key) pk_ pk_Admin
外键(Foreign key) fk_ fk_Order_OrderType ( fk_外键所在的表名_外键引用的表名)
Check约束(Check Constraint) ck_ ck_TableColumn
Unique约束 uq_ uq_TableColumn
用户定义的数据类型
(User-defined data type) udt udtPhone
用户定义函数
(User-defined function) fn fnDueDate eg:
Create Table Article
(
Id Int Identity(1,1) Not Null,
Title Varchar(50) Not Null Constraint uq_ArticleTitle Unique,
Keywords Varchar(50) Not Null,
Abstract Varchar(500) Not Null,
Author Varchar(50) Not Null Default '张子阳',
Type TinyInt Not Null Default 0 Constraint ck_ArticleType Check(Type in (0,1,2)), -- 0,原创;1,编译;2,翻译
IsOnIndex Bit Not Null Default 1, -- 是否显示在首页
Content Text Not Null,
SourceCode Varchar(100) Null, -- 程序源码的下载路径
Source Varchar(50) Not Null Default 'TraceFact', -- 文章出处
SrcUrl Varchar(150) Null, -- 文章出处的URL
PostDate DateTime Not Null Default GetDate(),
ViewCount Int Not Null Default 0,
ClassId Int Not Null -- 外键包含的字段,文章类别 Constraint pk_Article Primary Key(Id) -- 建立主键
)

MySQL 数据库的设计规范的更多相关文章

  1. MySQL数据库规范 (设计规范+设计规范+操作规范)

    I 文档定义 1.1 编写目的 为了在软件生命周期内规范数据库相关的需求分析.设计.开发.测试.运维工作,便于不同团队之间的沟通协调,以及在相关规范上达成共识,提升相关环节的工作效率和系统的可维护性. ...

  2. MySql数据库表设计规范

    建表规约 索引规约 SQL 语句 其他实战建议 选用utf8编码 建议使用InnoDB存储引擎 建议每张表都设置一个主键 建议字段定义为NOT NULL 唯一值字段要指定唯一性约束 ALTER TAB ...

  3. MYSQL数据库命名与其设计规范

    你是否对获得MYSQL数据库命名与其设计规范 的实际操作感到十分头疼?如果是这样子的话,以下的文章将会给你相应的解决方案,以下的文章主要是介绍获得MYSQL数据库命名与其设计规范 的方案,以下就是相关 ...

  4. MYSQL数据库设计规范与原则

    MYSQL数据库设计规范 1.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成; 命名简洁明确(长度不能超过30个字符); 例如:user, stat ...

  5. MySQL数据库设计规范

    1. 规范背景与目的 MySQL数据库与 Oracle. SQL Server 等数据库相比,有其内核上的优势与劣势.我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短.本规范旨在帮助或指导R ...

  6. 【转】MYSQL数据库设计规范与原则

    转载出:http://www.cnblogs.com/lovekingly/p/5044278.htmlMYSQL数据库设计规范 1.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数( ...

  7. mysql 数据库设计规范

    MySQL数据库设计规范 目录 1. 规范背景与目的 2. 设计规范 2.1 数据库设计 2.1.1 库名 2.1.2 表结构 2.1.3 列数据类型优化 2.1.4 索引设计 2.1.5 分库分表. ...

  8. MYSQL数据库设计规范11111

    MYSQL数据库设计规范       1.数据库命名规范         采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成;         命名简洁明确(长度不能超 ...

  9. MySQL数据库命名及设计规范

    1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余.标准化有好几种形式,但 Third Normal Form(3NF)通常被认为在性能.扩展性和数据完整性方面达到了最好平衡 ...

随机推荐

  1. 行数据库VS列数据库

    一.介绍 目前大数据存储有两种方案可供选择:行存储和列存储.业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全.可靠.完整性.从目前发展情况看,关系数据库已经不适应这种巨 ...

  2. Net基础篇_学习笔记_第十天_方法_方法的调用问题

    在Main()函数中,调用Test()函数,我们管Main()函数称之为调用者,管Test()函数称之为被调用者.如果被调用者想要得到调用者的值:1).传递参数.2).使用静态字段来模拟全局变量.如果 ...

  3. Winform中通过代码给PanelControl添加子控件并进行定位

    场景 DevExpress的PanelControl常用进行窗体页面的布局. 一般是拖拽一个PannelControl,然后是再拖拽其他控件. 如果是由代码生成控件并控制布局的话,怎样实现. 关注公众 ...

  4. php异或计算绕过preg_match()

    原理以制作免杀马为例:     在制作免杀马的过程,根据php的语言特性对字符进行!运算会将字符类型转为bool类型,而bool类型遇到运算符号时,true会自动转为数字1,false会自动转为数字0 ...

  5. 一步步到IOC

    一段代码 class Program { static void Main(string[] args) { var shop=new Shop(); shop.Add(); shop.Delete( ...

  6. C#下载http/https的pdf、excel等文件(非在线打开,绕开插件)

    非本服务器文件,如PDF,excel等,下载一般是通过href=‘远程文件的http或者https’的方式下载,但是如果浏览器已经有PDF插件了,则用href不是下载,而是在线打开了,影响体验,所以远 ...

  7. 【linux】【jenkins】自动化运维六 构建生成备份

    push tag用于提交代码构建成功后push tag,以防提交代码报错,方便回滚之前正常的代码. 由于采用docker部署的形式,构建失败自动回滚还未实现,待研究解决. 构建后操作选择 Git Pu ...

  8. SoapUI接口测试实战

    本次测试的是REST服务,使用的SoapUI破解版,如果担心开源版的会有功能差异,可以参照我之前的博文安装破解版. 博文地址:https://www.cnblogs.com/Sweettesting/ ...

  9. linux初学者小记(二)

    文件管理 1.文件系统结构元素 文件和目录被组织成一个单根倒置树结构文件系统从根目录下开始,用"/"表示. 1.1文件系统 # 根文件系统(rootfs):root filesys ...

  10. 解决行内块元素(inline-block)之间的空格或空白问题

    一.问题产生 由于html代码格式化后,标签会缩进或者换行.由于浏览器默认处理导致元素在页面显示中出现单个空格问题,尤其在行内或者行内块元素布局时影响比较明显 例如: 代码 页面显示 二.解决方案 这 ...