返回顶部
首页 > 资讯 > 数据库 >MySQL建表规范有哪些
  • 717
分享到

MySQL建表规范有哪些

2024-04-02 19:04:59 717人浏览 安东尼
摘要

本篇文章给大家分享的是有关Mysql建表规范有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、mysql建表规范1.1、准入规范级别必须

本篇文章给大家分享的是有关Mysql建表规范有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、mysql建表规范

1.1、准入规范级别

必须:为强制要求,必须遵守,如有特殊需求需要评审

强烈建议:尽量遵守,如无法遵守请给出备注说明

建议:为最佳实践,开发人员可以根据实际情况有所调整

1.2、设计类核心规则

表字符集选择UTF8 【必须

生产库存储引擎使用INNODB 【必须

不在数据库中存储图片、文件,不使用大文本类型【必须

不使用外键,由程序保证数据一致性【必须

禁止使用存储过程、触发器 【必须

每张表数据量控制在2000W以下 ,如预计会超出,需提前做好拆分或者归档迁移计划【强烈建议

1.3、命名规范

库名、表名、字段名、索引名使用小写字母,以下划线_分割 【必须

库名、表名、字段名、索引名不使用保留字 (关键字)【必须

库名、表名、字段名不超过15个字符,需见名知意 【建议

索引命名:【强烈建议】

唯一索引:“ux_表名_字段名前3字母[_字段名前3字母]”

非唯一索引:“ix_表名_字段名前3字母[_字段名前3字母]”

1.4、字段类规范

所有字段均定义为NOT NULL 【必须

字符串统一单引号引用,而不是双引号【必须

使用UNSIGNED存储非负整数 【必须

使用DECIMAL存储精确浮点数 【必须

使用TINYINT来代替ENUM类型 【必须

拆分TEXT、BLOB类型字段,或者独立建表 【必须

使用UNSIGNED INT存储ipv4 地址,而不是CHAR(15) 【强烈建议】

非中文字段使用varchar存储变长字符串 【强烈建议】

尽可能将字符转化为数字 存储【建议】

使用TIMESTAMP存储操作时间 *【建议】

1.5、索引类规范

单张表索引数量不超过5,单个索引字段数不超过5  【强烈建议】

避免冗余索引 【强烈建议】

重要的sql必须被索引 【强烈建议】

       UPDATE、DELETE语句的WHERE条件列

       ORDER BY、GROUP BY、DISTINCT的字段

       多表JOIN的字段

 主键的选择要慎重 【强烈建议】 

      首选使用非空的唯一键, 其次选择自增列或发号器

      不使用更新频繁的列,尽量不选择字符串列,不使用UUID MD5 HASH、

能不建立索引尽量不用索引 【强烈建议】

     不在null列上加索引

     不在低基数列上建立索引,例如“性别” 

二、建表SQL审核平台

2.1、说明

此系统为了学习与减轻DBA的审核建表SQL的工作而做。达到自动审核基本规则问题

<1>优点:

<1>减少了DBA手动审核表的工作

<2>平台化操作,方便

<3>通过python自动匹配与审核规范

<2>缺点:

<1>、只有建表SQL审核

<2>、比较简单,后期可以使用inception,来审核建表SQL+上线SQL+备份等,请关注博客 http://blog.itpub.net/28823725/  后期会调研与应用

<3>审核说明:

利用Python程序来分析

分为:error,suggest错误类别

按字段错误进行展示

<4>其他说明:

<1>此系统写于2015年6月初左右,为了学习inception 与python 为做,分享此文章只为了学习与交流

另Inception没开源多久;对比inception的请轻喷哈~

<2>后期会出Inception的相关文章

2.2、平台流程图

MySQL建表规范有哪些
 MySQL建表规范有哪些

2.3、搭建

<1>环境搭建

Django环境搭建

忽略,可参考我博客的其他文章,里面有详细的部署命令

python2.7环境搭建

忽略

平台搭建

cd /chunlei/djanGo

创建项目

django-admin.py   startproject  createsql_check

会产生目录createsql_check

cd /chunlei/django/createsql_check

ls

createsql_check

manage.py

<2>设置配置文件

cd /chunlei/django/createsql_check/createsql_check

vi settings.py 

ALLOWED_HOSTS = ['可以访问的IP地址,也可以写*即不限制'] 

INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'createsql_check',

]

EMPLATES = [

    {

        'BACKEND': 'django.template.backends.django.DjangoTemplates',

        'DIRS': ['/chunlei/chunlei/django/createsql_check/createsql_check/templates'],

        'APP_DIRS': True,

        'OPTIONS': {

            'context_processors': [

                'django.template.context_processors.debug',

                'django.template.context_processors.request',

                'django.contrib.auth.context_processors.auth',

                'django.contrib.messages.context_processors.messages',

            ],

        },

    },

]

TIME_ZONE = 'Asia/Shanghai'

<3>、设置django的url文件

from django.conf.urls import  include, url

from createsql_check.views import createcheck_create_table_check

from createsql_check.views import createcheck_create_sql

from createsql_check.views import createcheck_get_dba_error_suggest

from createsql_check.views import createcheck_to_mail

from createsql_check.views import to_input_confirm_info

from createsql_check.views import to_confirm

urlpatterns = [

url(r'^createcheck_create_table_check/$',createcheck_create_table_check),

url(r'^createcheck_create_sql/$',createcheck_create_sql),

url(r'^createcheck_get_dba_error_suggest/$',createcheck_get_dba_error_suggest),

url(r'^createcheck_to_mail/$',createcheck_to_mail),

url(r'^createcheck_to_input_confirm_info/$',to_input_confirm_info),

url(r'^createcheck_to_confirm/$',to_confirm),

]

<4>创建目录

cd /chunlei/django/createsql_check

mkdir check_html

mkdir log

cd /chunlei/django/createsql_check/createsql_check 

MySQL建表规范有哪些

 MySQL建表规范有哪些

<5>配置163邮箱:

注:之前使用的是公司的邮件服务,此系统搭建与百度云,就配置163邮箱服务了

将授权码配置到邮件服务即可

MySQL建表规范有哪些

MySQL建表规范有哪些

MySQL建表规范有哪些

MySQL建表规范有哪些

MySQL建表规范有哪些

MySQL建表规范有哪些

 <6>开启

cd /chunlei/django/createsql_check

python manage.py  runserver IP:port

2.4、界面及操作

<1>RD审核建表SQL界面

MySQL建表规范有哪些

 测试建表SQL

 create table table_test (id int,name1 varchar(50),primary key(id));

<2>自动分析问题

MySQL建表规范有哪些

MySQL建表规范有哪些

<3>填写表相关信息

RD确认ok,填写表相关信息,提交给DBA

MySQL建表规范有哪些

MySQL建表规范有哪些

<4>提交信息总览

RD提交信息总览,默认发送DBA,也可以填写抄送邮件接收人

 MySQL建表规范有哪些

 <5>发送给DBA

MySQL建表规范有哪些

 MySQL建表规范有哪些

<6>DBA接收邮件

MySQL建表规范有哪些

 MySQL建表规范有哪些

 <7>DBA确认

点击邮件的"DBA确认"

 MySQL建表规范有哪些

填写库表信息,说明等,点击通过/拒绝

MySQL建表规范有哪些

MySQL建表规范有哪些

提交结果

MySQL建表规范有哪些

以上就是MySQL建表规范有哪些,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL建表规范有哪些

本文链接: https://lsjlt.com/news/56117.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL建表规范有哪些
    本篇文章给大家分享的是有关MySQL建表规范有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、MySQL建表规范1.1、准入规范级别必须...
    99+
    2024-04-02
  • MySQL操作规范有哪些
    MySQL操作规范有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 用户权限管理 创建用户命令:CREATE USER 'us...
    99+
    2024-04-02
  • MySQL有哪些开发规范
    这期内容当中小编将会给大家带来有关MySQL有哪些开发规范,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 #MySQL开发规范 ##命名规范 ...
    99+
    2024-04-02
  • MySQL准入规范有哪些
    这篇文章给大家介绍MySQL准入规范有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、数据库设计 1、表结构设计  -表中的自增列(auto_increment属性...
    99+
    2024-04-02
  • MySQL使用规范有哪些
    本篇内容介绍了“MySQL使用规范有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!数据库环境dev: ...
    99+
    2024-04-02
  • MySQL开发规范有哪些
    这篇文章将为大家详细讲解有关MySQL开发规范有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基础规范使用innodb存储引擎表字符集使用utf-8所有表添加注释单表...
    99+
    2024-04-02
  • MySQL数据库规范有哪些
    MySQL数据库规范有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、数据库命令规范 所有数据库对象名称必须使用小写字母并...
    99+
    2024-04-02
  • Mysql中有哪些命名规范
    Mysql中有哪些命名规范,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  Mysql基本命名原则  1.使用用相同或类似含义英文命名,中...
    99+
    2024-04-02
  • MySQL数据库有哪些规范
    今天就跟大家聊聊有关MySQL数据库有哪些规范,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。基础规范(1) 必须使用InnoDB存储引擎说明:支持事...
    99+
    2024-04-02
  • sql规范有哪些
    这篇文章主要为大家展示了“sql规范有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“sql规范有哪些”这篇文章吧。看到itpub的微信发的,搬运一下,应该不...
    99+
    2024-04-02
  • CSS有哪些规范
    这篇文章主要介绍“CSS有哪些规范”,在日常操作中,相信很多人在CSS有哪些规范问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS有哪些规范”的疑惑有所帮助!接下来,请跟着...
    99+
    2024-04-02
  • HTML规范有哪些
    本篇内容主要讲解“HTML规范有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML规范有哪些”吧!HTML 规范缩进统一两个空格缩进命名规范class ...
    99+
    2024-04-02
  • Redis规范有哪些
    这篇“Redis规范有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Redis规范有哪些”文章吧。redis 功能强大,...
    99+
    2023-06-27
  • codereview规范有哪些
    Code Review的规范可以有很多,这里列举一些常见的规范: 代码风格一致性:确保代码使用统一的缩进风格、命名规范、空格使用、...
    99+
    2023-10-21
    codereview
  • MySQL开发设计规范有哪些
    这期内容当中小编将会给大家带来有关MySQL开发设计规范有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。命名规范 l  库名、表名、字段名禁止超过32个...
    99+
    2024-04-02
  • mysql数据库的规范有哪些
    今天就跟大家聊聊有关mysql数据库的规范有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。基础规范【建议】使用In...
    99+
    2024-04-02
  • MongoDB数据库建立规范有哪些
    MongoDB数据库建立规范有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 一.数据库命名注意事项:1...
    99+
    2024-04-02
  • CSS编写规范的建议有哪些
    CSS编写规范的建议有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。避免过度约束作为一般规则,不添加不必要的约束。CSS Code复制...
    99+
    2024-04-02
  • HTTP中有哪些规范
    这篇文章给大家介绍HTTP中有哪些规范,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.RefererHTTP 标准把 Referrer 写成 Referer(少些了一个 r),可以说...
    99+
    2024-04-02
  • MySQL数据库设计规范有哪些
    本篇文章给大家分享的是有关MySQL数据库设计规范有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、数据库设计以下所有规范会按照【高危】...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作