1.设计原则

1) 标准化和规范化web

数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但 Third Normal Form(3NF)一般被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来讲,遵照3NF 标准的数据库的表设计原 则是:“One Fact in One Place”即某个表只包括其自己基本的属性,当不是它们自己所具备的属性时需进行分解。表之间的关系经过外键 相链接。它具备如下特色:有一组表专门存放经过键链接起来的关联数据。sql

举例:某个存放客户及其有关定单的3NF 数据库就可能有两个 表:Customer和Order。Order表不包含定单关联客户的任何信息,但表内会存放一个键值,该键指向Customer表里包含该客户信息的那 一行。数据库

事实上,为了效率的缘故,对表不进行标准化有时也是必要的。服务器

2) 数据驱动数据库设计

采用数据驱动而非硬编码的方式,许多策略变动和 维护都会方便得多,大大加强系统的灵活性和扩展性。模块化

举例,假如用户界面要访问外部数据源(文件、XML 文档、其余数据库等),不妨把相应的链接 和路径信息存储在用户界面支持表里。还有,若是用户界面执行工做流之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工做流的数据也能够存放在 数据库里。角色权限管理也能够经过数据驱动来完成。事实上,若是过程是数据驱动的,你就能够把至关大的责任推给用户,由用户来维护本身的工做流过程。函数

3) 考 虑各类变化工具

在设计数据库的时候考虑到哪些数据字段未来可能会发生变动。性能

举例,姓氏就是如此(注意是西方人的姓氏,好比女性结婚后从夫姓 等)。因此,在创建系统存储客户信息时,在单独的一个数据表里存储姓氏字段,并且还附加起始日和终止日等字段,这样就能够跟踪这一数据条目的变化。测试

2. 数据库涉及字符规范

采用26个英文字母(区分大小写)和0-9这十个天然数,加上下划线'_'组成,共63个字符.不能出现其余字符(注 释除外).

注意事项:

1) 以上命名都不得超过30个字符的系统限制.变量名的长度限制为29(不包括标识字符@).

2) 数据 对象、变量的命名都采用英文字符,禁止使用中文命名.绝对不要在对象名的字符之间留空格.

3) 当心保留词,要保证你的字段名没有和保留词、数据 库系统或者经常使用访问方法冲突

5) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候必定要保证一致性.假如数据类型在一个表里是整 数,那在另外一个表里可就别变成字符型了.

3.数据库命名规范

数据库,数据表一概使用前缀

正式数 据库名使用小写英文以及下划线组成,尽可能说明是那个应用或者系统在使用的.好比:

web_19floor_net

web_car

备 份数据库名使用正式库名加上备份时间组成,如:

web_19floor_net_20070403

web_car_20070403

4. 数据库表命名规范

数据表名使用小写英文以及下划线组成,尽可能说明是那个应用或者系统在使用的.

相关应用的数据表使用同一前缀,如 论坛的表使用cdb_前缀,博客的数据表使用supe_前缀,前缀名称通常不超过5字

好比:

web_user

web_group

supe_userspace

备 份数据表名使用正式表名加上备份时间组成,如:

web_user_20070403

web_group_20070403

supe_userspace_20070403

5. 字段命名规范

字段名称使用单词组合完成,首字母小写,后面单词的首字母大写,最好是带表名前缀.

如 web_user 表的字 段:

userId

userName

userPassword

表与表之间的相关联字段要用统一名称,

如 web_user 表 里面的 userId 和 web_group 表里面的 userId 相对应

6.字段类型规范

规则:用尽可能少的存储空间来存 数一个字段的数据.

好比能用int的就不用char或者varchar

能用tinyint的就不用int

能用 varchar(20)的就不用varchar(255)

时间戳字段尽可能用int型,如created:表示从 '1970-01-01 08:00:00'开始的int秒数,采用英文单词的过去式;gmtCreated:表示datetime类型的时间,即形如 '1980-01-01 00:00:00'的时间串,Java中对应的类型为Timestamp

7.数据库设计文档规范

所 有数据库设计要写成文档,文档以模块化形式表达.大体格式以下:

'-------------------------------------------

' 表 名: web_user

' 做者: Aeolus(傻鱼)

' 日期: 2007-04-11

' 版 本: 1.0

' 描述: 保存用户资料

' 具体内容:

' UserID int,自动增量 用户 代码

' UserName char(12) 用户名字

' ......

'--------------------------------------------

8. 索引使用原则:

1) 逻辑主键使用惟一的成组索引,对系统键(做为存储过程)采用惟一的非成组索引,对任何外键列采用非成组索引.考虑数 据库的空间有多大,表如何进行访问,还有这些访问是否主要用做读写.

2) 大多数数据库都索引自动建立的主键字段,可是可别忘了索引外键,它们也 是常用的键,好比运行查询显示主表和全部关联表的某条记录就用得上.

3) 不要索引blob/text等字段,不要索引大型字段(有不少字 符),这样做会让索引占用太多的存储空间.

4) 不要索引经常使用的小型表

不要为小型数据表设置任何键,假如它们常常有插入和删除操做就更别 这样做了.对这些插入和删除操做的索引维护可能比扫描表空间消耗更多的时间.

9.sql语句规范

全部sql关键词所有大 写,好比SELECT,UPDATE,FROM,ORDER,BY等,全部的表名和库名都要用``包含

如:

SELECT COUNT(*) FROM `cdb_members` WHERE `userName` = 'aeolus';

10.其余设计技巧

1) 避免使用触发器

触发器的功能一般能够用其余方式实现.在调试程序时触发器可能成为干扰.假如你确实须要采用触发 器,你最好集中对它文档化.

2) 使用经常使用英语(或者其余任何语言)而不要使用编码或者拼音首字母缩写

在建立下拉菜单、列表、报表时最好 按照英语名排序.假如须要编码或者拼音首字母缩写,能够在旁边附上用户知道的英语.

3) 保存经常使用信息

让一个表专门存放通常数据库信息非 常有用.在这个表里存放数据库当前版本、最近检查/修复(对Access)、关联设计文档的名称、客户等信息.这样能够实现一种简单机制跟踪数据库,当客 户抱怨他们的数据库没有达到但愿的要求而与你联系时,这样作对非客户机/服务器环境特别有用.

4) 包含版本机制

在数据库中引入版本控制 机制来肯定使用中的数据库的版本.时间一长,用户的需求老是会改变的.最终可能会要求修改数据库结构.把版本信息直接存放到数据库中更为方便.

5) 编 制文档

对全部的快捷方式、命名规范、限制和函数都要编制文档.

采用给表、列、触发器等加注释的数据库工具.对开发、支持和跟踪修改很是有 用.

对数据库文档化,或者在数据库自身的内部或者单独创建文档.这样,当过了一年多时间后再回过头来作第2 个版本,犯错的机会将大大减小。

6) 测 试、测试、反复测试

创建或者修订数据库以后,必须用用户新输入的数据测试数据字段.最重要的是,让用户进行测试而且同用户一道保证选择的数据类型 知足商业要求.测试须要在把新数据库投入实际服务以前完成。

7) 检查设计

在开发期间检查数据库设计的经常使用技术是经过其所支持的应用程序 原型检查数据库.换句话说,针对每一种最终表达数据的原型应用,保证你检查了数据模型而且查看如何取出数据。

web mysql 界面表命名规范_MySql数据库表字段命名及设计规范相关推荐

  1. mysql修改表的字段_mysql修改表字段学习笔记

    --修改表字段 CREATE TABLE register ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR (10) DEFAULT NULL UN ...

  2. mysql 字段命名is__数据库表字段命名规则

    一.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔,一个项目一个数据库,多个项目慎用同一个数据库 二.数据 ...

  3. 数据库表字段命名规则

    一.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔,一个项目一个数据库,多个项目慎用同一个数据库 二.数据 ...

  4. mysql 表名规范_MYSQL数据库命名及设计规范

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

  5. MySQL数据库表字段命名规范

    一.数据库命名规范 采用26个英文字母(区分大小写).**0-9的自然数(**经常不需要).**下划线_**组成,命名简洁明确,多个单词用下划线_分隔,一个项目一个数据库,多个项目慎用同一个数据库 二 ...

  6. 数据库表字段命名规范

    一.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线''组成,命名简洁明确,多个单词用下划线''分隔,一个项目一个数据库,多个项目慎用同一个数据库 二.数据库表 ...

  7. mysql查询表字段是否存在_Mysql判断表字段或索引是否存在

    判断字段是否存在: DROP PROCEDURE IF EXISTS schema_change; DELIMITER // CREATE PROCEDURE schema_change() BEGI ...

  8. mysql多表操作语句_MYSQL数据库语句之多表操作(三)

    多表操作 join查询(join按照功能分可以分为3类): cross join(交叉连接):获取多个表中的交叉关系. inner join(内连接):获取2个表中字段匹配关系的记录. 外连接 lef ...

  9. mysql展现表的语句_MySQL数据库之MySQL show语句

    本文主要向大家介绍了MySQL数据库之MySQL show语句 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. show tables或show tables from data ...

最新文章

  1. Linux/服务器常用操作
  2. cogs luogu 珠心算测试【noip2014 普及组】
  3. Hacking techniques automation
  4. AI产品经理必修课:机器学习算法
  5. 用pfx证书java双向认证_把CA证书生成的crt的证书和pem的私钥转换成java能够使用的keystore和pcks12的证书,实现https双向认证...
  6. GridView position = 0重复加载的问题
  7. Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar
  8. CSDN下载码如何使用以及免积分下载
  9. wifi ap6212驱动移植及调试分析技术笔记
  10. 一文读懂如何做好生产计划排程
  11. 华为业务流程管理体系
  12. mysql 复制表结构或创建新表
  13. red hat linux 9.0下载地址集合,Red Hat Linux 9.0 iso最新下载地址
  14. 医门凿眼----痹症勾沉
  15. R5 7640H参数 锐龙R57640H性能怎么样相当于什么水平级别
  16. 【死链】JDK1.7中HashMap在多线程环境的并发问题源码分析
  17. 虚拟机云服务器6.0教程pdf,虚拟机云服务器6.0教程pdf
  18. 嵌入式主板在数控机床领域的应用
  19. 在Servlet之前的CGI是个什么东西
  20. 地瓜网络技术钉钉视频下载器下载钉钉群直播视频回放

热门文章

  1. Leetcode--542. 01 矩阵(java)
  2. 牛客网--19校招--俄罗斯方块
  3. 关于考研与工作(人生规划)的个人思考
  4. linux安装DNS服务命令,Linux下的安装和配置DNS服务器
  5. dm_php库,dmandwp系统 PHP建站系统+wordpress建站和DM系统区块+安装教程
  6. 机器学习实战之K近邻算法
  7. Android之Fragment(二)
  8. python: 使用socket实现局域网不同主机通信。解决ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
  9. linux 第三章红帽子,红帽子 Linux_命令全解
  10. SHA384-算法解密