mysql建表需要主意什么(mysql创建表sql语句)

在软件应用开发过程中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题。在维护应用使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解

在软件应用开发过程中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题。在维护应用使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有必要整理出一套合适的数据库表字段命名规范来解决优化这些问题。

mysql建表需要主意什么(mysql创建表sql语句)

本文介绍了数据库命名、数据库表命名、数据库表字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理和修改,为日后涉及到数据库相关的研发工作做好准备。当然,这些只是建议规范,约定俗成而已。

一、数据库命名规范

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

mysql建表需要主意什么(mysql创建表sql语句)

二、数据库表命名规范

1. 数据表命名规范

(1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’_’组成,命名简洁明确,多个单词用下划线’_’分隔。

(2)全部小写命名,禁止出现大写。

(3)禁止使用数据库关键字,如:name,time ,datetime,password等。

(4)表名称不应该取得太长(一般不超过三个英文单词)。

(5)表的名称一般使用名词或者动宾短语。

(6)用单数形式表示名称,例如,使用 employee,而不是 employees。

明细表的名称为:主表的名称+字符dtl(detail缩写)

例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl。

(7)表必须填写描述信息(使用SQL语句建表时)。

2. 表设计

(1)表必须定义主键,默认为ID,整型自增,如果不采用默认设计必须咨询DBA进行设计评估。

(2)ID字段作为自增主键。一般所有表都要有id, id必为主键,类型为bigint unsigned,单表时自增、步长为1。一般情况下主键id和业务没关系的。

(3)强烈建议不使用外键, 数据的完整性靠程序来保证。

(4)多表中的相同列,必须保证列定义一致。

(5)国内表默认使用InnoDB,表字符集默认使用gbk,国际默认使用utf8的表。

(6)一般情况下每张表都有着四个字段create_id,create_time,update_id,update_time, 其中create_id表示创建者id,create_time表示创建时间,update_id表示更新者id,update_time表示更新时间,这四个字段的作用是为了能够追踪数据的来源和修改。

(7)单表一到两年内数据量超过500w或数据容量超过10G考虑分表,且需要提前考虑历史数据迁移或应用自行删除历史数据。

(8)单条记录大小禁止超过8k, 一方面字段不要太多,有的都能上百,甚至几百个,另一方面字段的内容不易过大,像文章内容等这种超长内容的需要单独存到另一张表。

(9)日志类数据不建议存储在MySQL上,优先考虑Hbase或OB,如需要存储请找DBA评估使用压缩表存储。

(10)为了提高查询效率,可以适当的数据冗余,注意是适当。

mysql建表需要主意什么(mysql创建表sql语句)

三、数据库字段命名规范

1. 字段命名规范

(1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’_’组成,命名简洁明确,多个单词用下划线’_’分隔。

(2)全部小写命名,禁止出现大写。

(3)字段必须填写描述信息。

(4)禁止使用数据库关键字,如:name,time ,datetime password 等。

(5)字段名称一般采用名词或动宾短语。

(6)采用字段的名称必须是易于理解,一般不超过三个英文单词。

(7)在命名表的列时,不要重复表的名称。

例如,在名employe的表中避免使用名为employee_lastname的字段。

(8)不要在列的名称中包含数据类型。

(9)字段命名使用完整名称,禁止缩写。

2. 字段名命名示例

(1)使用下划线进行分隔,提升可读性。

例如,user_name,user_id,is_friend,is_good。

(2)使用完整名称,提高可读性。

例如,uid修改为user_id,pid修改为person_id。

3. 字段设计

(1)表被索引列必须定义为not null,并设置default值。

(2)禁止使用float、double类型,建议使用decimal或者int替代。

(3)禁止使用blob、text类型保留大文本、文件、图片,建议使用其他方式存储,MySQL只保存指针信息。

(4)禁止使用varchar类型作为主键。

四、SQL语言编码规范

大小写规范:

(1)所有关键字必须大写,如:INSERT、UPDATE、DELETE、SELECT及其子句,IF……ELSE、CASE、DECLARE等。

SELECT COUNT(*) FROM `cdb_members` WHERE `user_name` = ‘aeolus’;

(2)所有函数及其参数中除用户变量以外的部分必须大写。

(3)在定义变量时用到的数据类型必须小写。

语句设计:

(1)数据更新建议使用二级索引先查询出主键,再根据主键进行数据更新。

(2)禁止使用非同类型的列进行等值查询。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/46159.html

(0)
nan
上一篇 2021-11-18
下一篇 2021-11-18

相关推荐

  • app开发工具及推广价格(苹果app推广公司有哪些)

    在谷歌Android混乱不堪的年代,苹果iOS就是高大上的代名词,更流畅的操作体验、更完美的细节设计、更安全的权限管理都让苹果拥有更高质量的用户,因此,针对苹果iOS应用推广就显得尤为重要。泽思整合了行业优质苹果APP推广资源,并拥

    2021-11-29
    0
  • 微信运动查到对方位置(微信运动步数多久更新一次)

    俗话说:生命在于运动。日常的运动对于身体健康来说是非常有必要的。如何才能更好地了解自己的运动情况呢?最简单的方式之一,就是了解自己的微信运动情况,一个给用户查看自己每日行走步数的工具,它最大的作用就是能够让用户对于自己每日的运动情况有一个比

    2021-11-23 创业分享
    0
  • 建立微信小程序的3个步骤(如何建立微信小程序?)

    不懂编程的小编,最近做了一个微信小程序,重点是没有花钱。下面就为那些不会编程又想做微信小程序的小伙伴,分享一下我的方法吧!步骤一:申请小程序登陆微信公众平台,单击右上角的“立即注册”,选择“小程序”模块。按照流程信息填写完成后则代

    2021-12-02
    0
  • 困难补助申请书怎么写(家庭困难补助申请书简短)

    【篇一】大学贫困生补助申请书范文尊敬的各位领导、老师:您们好!我叫xx,现就读于xx大学政治与行政学院20xx级政治与行政学。我来自xxxxxx,家庭经济状况不好,主要经济来源是父母务农。我的家目前共有五口人。父母都是初中文化,常年待业在家,以务农维

    2022-01-10
    0
  • 零基础做运营的小窍门(课程运营主要做什么)

    教师是培训机构的关键人才,一个教育机构能持续发展下去,要么建立一种模式保证老师不会轻易流失,要么建立一种模式降低教师的重要性,无论哪种,都需要建立一个符合自身的发展模式。在其他大多数行业,一个高素质的人才必须在公司里配合其他同事和部门才能

    2021-11-29 创业分享
    0
  • 介绍下网站做SEO优化的9大好处(seo优化的重要性有哪些?)

    当企业建好一个网站后,懂网络营销的人就会找专业的运营公司帮忙打理网站,不懂的就会直接放在那里不管,后者往往是忽略了网站能给企业带来的价值。下面济南合创网商就详细介绍下网站做SEO优化的好处,希望能让更多的人了解网站优化的重要性。第一、让网

    2021-12-02
    0

发表回复

登录后才能评论