您的当前位置:首页>全部文章>文章详情

【MySQL】MYSQL数据库设计规范

CrazyPanda发表于:2024-07-17 09:17:40浏览:248次TAG:

 

    1、数据库命名规范

        采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成;

        命名简洁明确(长度不能超过30个字符);

        例如:user, stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个前缀;

        除非是备份数据库可以加0-9的自然数:user_db_20151210;

         

    2、数据库表名命名规范

        采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成;

        命名简洁明确,多个单词用下划线'_'分隔;

        例如:user_login, user_profile, user_detail, user_role, user_role_relation,

            user_role_right, user_role_right_relation

        表前缀'user_'可以有效的把相同关系的表显示在一起;

         

    3、数据库表字段名命名规范

        采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成;

        命名简洁明确,多个单词用下划线'_'分隔;

        例如:user_login表字段 user_id, user_name, pass_word, eamil, tickit, status, mobile, add_time;

        每个表中必须有自增主键,add_time(默认系统时间)

        表与表之间的相关联字段名称要求尽可能的相同;

     

    4、数据库表字段类型规范

        用尽量少的存储空间来存数一个字段的数据;

        例如:能使用int就不要使用varchar、char,能用varchar(16)就不要使用varchar(256);

        IP地址最好使用int类型;

        固定长度的类型最好使用char,例如:邮编;

        能使用tinyint就不要使用smallint,int;

        最好给每个字段一个默认值,最好不能为null;

     

    5、数据库表索引规范

        命名简洁明确,例如:user_login表user_name字段的索引应为user_name_index唯一索引;

        为每个表创建一个主键索引;

        为每个表创建合理的索引;

        建立复合索引请慎重;

         

    6、简单熟悉数据库范式

        第一范式(1NF):字段值具有原子性,不能再分(所有关系型数据库系统都满足第一范式);

            例如:姓名字段,其中姓和名是一个整体,如果区分姓和名那么必须设立两个独立字段;

         

        第二范式(2NF):一个表必须有主键,即每行数据都能被唯一的区分;

            备注:必须先满足第一范式;

         

        第三范式(3NF):一个表中不能包涵其他相关表中非关键字段的信息,即数据表不能有沉余字段;

            备注:必须先满足第二范式;


猜你喜欢

【MySql】mysql如何正确设置主键?
文章目录主键:如何正确设置主键?业务字段做主键自增字段做主键手动赋值字段做主键主键总结主键:如何正确设置主键?前面我们在讲解存储的时候,有提到过主键,它可以唯一标识表中的某一条记录,对数据表来说非常重要。当我们需要查询和引用表中的一条数据记录的时候,最好的办法就是通过主键。只有合理地设置主键,才能确保我们准确、快速的找到所需要的数据记录。下面我们借助超市项目的实际需求,来讲解一下怎么正确设置主键?在超市项目中,店家想进行会员营销,相应的,我们就需要处理会员信息。会员信息表(demo.member
发表于:2023-12-08 浏览:337 TAG:
【MySql】mysql | mysql5.7升级8.0注意事项
一、说明        1、应公司要求,mysql5.7安全漏洞较多,需要升级到8.0        2、记录注意事项备不时之需二、注意事项1、加密算法1)加密算法8.0改了,导致navicat无法连接2)解决:use mysql;ALTER USER 'root'@'%'&n
发表于:2023-12-15 浏览:384 TAG:
【MySQL】索引有哪些优缺点
索引是数据库中用于提高查询性能的重要工具,但它也有一些有点和确定,一下是索引的主要优缺点:优点:    1. 加速查询速度最显而易见的有嗲你是加速select查询速度。通过使用索引,数据库引擎能够更快的定位和检索数据,特别是在大型数据集中。    2. 排序性能提升索引可以提高排序操作的性能,因为数据库引擎可以按照索引顺序而不是表中实际物理存储顺序来执行排序。    3. 唯一
发表于:2024-06-16 浏览:276 TAG:
【MySQL】mysql中不推荐使用uuid或者雪花id作为主键的原因以及差异化对比
文章目录前言什么是UUID?什么是雪花ID?什么是MySql自增ID?优缺点对比应用场景总结写在最后优点缺点1.简单易用2.唯一性3.效率高4.索引效率高1.不适用于分布式系统2.不适用于需要保密的场景3.查询效率低优点缺点1.分布式环境下唯一性1.依赖于机器时钟2.存储空间较大3.查询效率低优点缺点1.全球唯一性2.无需数据库支持1.存储空间大2.索引效率低3.查询效率低UUID:雪花ID:MYS
发表于:2023-11-30 浏览:2098 TAG:
【MySql】关于外键和连接, 如何做到关联查询?
文章目录外键和连接:如何做关联查询?如何创建外键?连接关联查询中的误区外键和连接:如何做关联查询?在实际的数据库应用开发过程中,我们经常需要把2个或2个以上的表进行关联,以获取需要的数据。这是因为,为了提高存取效率,我们会把不同业务模块的信息分别存放在不同的表里面。但是,从业务层面上看,我们需要完整全面的信息为经营决策提供数据支撑。还是以超市项目为例,数据库里面的销售流水表一般只保存销售必需的信息,比如商品编号,数量, 价格,金额和会员卡号等。但是,在呈现给超市经营者的统计报表中,只包括这些信息
发表于:2023-12-08 浏览:416 TAG:
【MySQL】MySQL主从同步实现
要实现MySQL的主从同步,可以按照以下步骤来进行操作:1 配置主服务器确保主服务器的MySQL配置文件my.cnf或my.ini中启动了二进制日志中brinary.log,即设置了log-bin参数为ON。为主数据库创建一个用于复制的用户,并授予复制权限。例如使用以下明命令:Create USER 'repl'@'slave_ip_address' INENTIFIED BY 'password';Grant REPLACEACTION SLAV
发表于:2024-06-27 浏览:244 TAG:
【MySQL】初识数据库
第一篇:初识数据库#一、数据库管理软件的由来#基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问一个文件仅仅只能存在于某一台机器上。 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题。 很不幸,这些假设都是你自己意淫出来的,上诉假设存在以下几个问题:1.程序所有的组件就不可能运行在一台机器上##因为这台机器一旦挂掉则意味着整个软件的崩溃,并且程序的执行效率依赖于承载它的硬件,而一台机器的性能
发表于:2024-06-21 浏览:272 TAG: #mysql
【MySQL】MYSQL数据库设计规范
     1、数据库命名规范        采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成;        命名简洁明确(长度不能超过30个字符);        例如:user, stat, log, 也可以wifi_user, wifi_stat, wifi_log给数据库加个
发表于:2024-07-17 浏览:251 TAG:
【MSQL】MATCH() AGAINST()全文搜索
这个问题是关于MySQL的全文搜索查询。MATCH() AGAINST() 是MySQL全文搜索的一部分。问题中的代码是在查询中使用MATCH() AGAINST(),但是使用方式有一些问题。首先,MATCH() 函数的参数应该是一个字段名,而不是一个字段值。其次,AGAINST 子句后面应该是要搜索的字符串,并且这个字符串需要被单引号包围。在布尔全文搜索模式下,你需要使用一些特殊的操作符来表示搜索的重要性或条件。例如,+表示一个词必须存在,而 - 表示一个词必须不存在。SELECT 
发表于:2024-07-26 浏览:241 TAG:
【MySql】SELECT* 会导致查询效率低的原因
前言一、适合SELECT*的使用场景二、SELECT*会导致查询效率低的原因2.1、数据库引擎的查询流程2.2、SELECT*的实际执行过程2.3、使用SELECT*查询语句带来的不良影响三、优化查询...
发表于:2024-10-21 浏览:303 TAG: #mysql