mysql三大范式_MySQL学习笔记
1、数据库结构设计
1、总-总体流程图
2、分-【提取属性】业务分析
评价的属性:{用户,课程主标题,内容,综合评分,内容实用,简洁易懂,逻辑分析,发布时间}
问答评论属性:{类型,标题,内容,关联章节,笔记标题,笔记内容,发布时间}
3、分-【属性->对象】逻辑设计
(1)宽表设计模式:存在数据冗余问题
(2)数据库三大范式:解决数据冗余问题
(3)反范式设计:空间换时间
主要针对关联表进行反范式化设计
2、数据库物理设计
(1)常见引擎
引擎名称 | 事务 | 说明 |
---|---|---|
INNODB | Y | 最常用的事务存储引擎 |
(2)根据INNODB特性优化表
- 根据INNODB特性优化表逻辑:
- 数据库主键替换业务主键
- 减少关联表提高查询效率【增加了数据冗余】
- 保证数据的一致【建立主外键】
- 操作步骤:
- 将表的自增列添加进去
- 将关联列改造为主外键
(3)数据类型
- 优先选择符合存储数据需求的最小数据类型
- 谨慎使用ENUM,TEXT字符串类型
- 财务相关,必须使用decimal类型
(4)对象命名
- 库/表/列 用小写英文和下划线
- 禁止使用保留字
- 见名知意
- 临时表,前缀:tmp,后缀:日期
- 备份表,前缀:bak,后缀:日期
- 所有存储相同数据的列名和列类型必一致
3、数据库的访问
- MAC下连接数据库:cd /usr/local/mysql/bin/./mysql -uroot -p
- Windows下连接数据库:mysql -u root -p- 查看用户列表mysql> select user,host from mysql.user;+------------------+-----------+| user | host |+------------------+-----------+| mc_class | 127.0.0.1 || mysql.infoschema | localhost || mysql.session | localhost || mysql.sys | localhost || root | localhost |+------------------+-----------+5 rows in set (0.00 sec)
4、开发阶段:
(1)创建数据库账户
- 查看创建命令help create user;
- 查看mysql支持的插件show plugins;
- 创建一个用户CREATE USER mc_class@'127.0.0.1'IDENTIFIED WITH 'mysql_native_password' by '123456';
- 连接:./mysql -umc_class -p123456 -h127.0.0.1
(2)权限的下放和回收
- 查看数据库支持哪些权限:show privilegesG;
- 可以授予的权限-- insert-- delete-- update-- select-- execute
- 实战【授予查询权限】-- 赋予用户查询某表中某列mysql> GRANT select(user,host) on mysql.user to mc_class@'127.0.0.1';Query OK, 0 rows affected (0.01 sec)-- 赋予用户查询某表下所有列mysql> GRANT select on mysql.user to mc_class@'127.0.0.1';Query OK, 0 rows affected (0.01 sec)-- 赋予用户查询某数据库下所有表的权限mysql> GRANT select on mysql.* to mc_class@'127.0.0.1';Query OK, 0 rows affected (0.01 sec)--赋予增删改查mysql> GRANT select,delete,insert,update ON mysql.* To mc_class@'127.0.0.1';Query OK, 0 rows affected (0.01 sec)
- 回收用户权限mysql> REVOKE delete,insert,update ON mysql.* FROM mc_class@'127.0.0.1';Query OK, 0 rows affected (0.01 sec)
(3)数据库对象的创建操作
- DDL建立/修改/删除数据库:create/alter/drop databasecreate DATABASE imc_db;建立/修改/删除表:create/alter/drop table建立/修改/删除索引:create/alter/drop index清空表:truncate table(先删除数据,再保留结构,不会有删除日志)重命名表:rename table建立/修改/删除:create/alter/drop view
mysql三大范式_MySQL学习笔记相关推荐
- mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结
本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法.分享给大家供大家参考,具体如下: 1. primary key 主键 特点:主键是用于唯一标识一条记录的约束,一张表最多只能有一个主键,不能 ...
- mysql 临时表 事务_MySQL学习笔记十:游标/动态SQL/临时表/事务
逆天十三少 发表于:2020-11-12 08:12 阅读: 90次 这篇教程主要讲解了MySQL学习笔记十:游标/动态SQL/临时表/事务,并附有相关的代码样列,我觉得非常有帮助,现在分享出来大家一 ...
- mysql 分组链接_MySQL学习笔记(四)——分组函数,分组查询,链接查询
MySQL学习笔记(四)--分组函数,分组查询,链接查询 做者:就叫易易好了 日期:2020/11/18 1.分组函数 功能:用做统计使用,又称为聚合函数或统计函数mysql 分类:web sum函数 ...
- Mysql成语数据库_mysql学习笔记
今天开始学习mysql数据库了,也是第一次在这里写技术笔记,相信好记忆不如烂笔头,就以此来见证自己的成长吧! 首先安装mysql服务器的过程这里就不啰嗦啦,相信大家都懂的,直接进入主题吧,欢迎那些也是 ...
- MySQL编程技巧_MySQL学习笔记---MySQL开发技巧
SQL语句分类 DDL:数据定义语言 --- CREATE.ALTER.DROP.TRUNCATE TPL:事务处理语言 --- COMMIT.ROLLBACK.SAVEPOINT.SET TRANS ...
- mysql数据库管理指导_mysql学习笔记一(数据库管理控制)
一.数据库常用命令 1 创建数据库 1.1 创建mydb1数据库,使用默认字符集 create database mydb1; 1.2 创建数据库mydb2,字符集使用utf8 create data ...
- mysql innodb 事务_MySQL学习笔记之InnoDB事务实现
我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式. 同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力. 所以 ...
- mysql数据类型选择_MySQL学习笔记(二):MySQL数据类型汇总及选择参考
本文主要介绍了MySQL 的常用数据类型,以及实际应用时如何选择合适的类型. ******几个通用的简单原则:******* 1. 更小的通常更好.但是要确保没有低估需要存储的值的范围,如果无法确定哪 ...
- mysql iif函数_MySQL学习笔记七:常用函数
一.字符串函数 1.1.CONCAT(str1,str2,...) 作用:将传入的字符连接成一个字符串,任何字符与null进行连接结果都是null. SELECT CONCAT(`name`,'-', ...
最新文章
- linux redis经常自动关闭,Linux开启关闭redis
- 一篇网站架构的文章:一步步构建大型网站架构
- php打开并填充表单,php – 创建一个’机器人’来填充带有一些页面的表单
- Hibernate占位符问题[use named parameters or JPA-style positional parameters instead.]
- Angular中实现路由跳转并通过get方式传递参数
- 过程工程中的计算机应用基础,CDIO工程教育培养模式在《计算机应用基础》课中的应用...
- ubuntu-14.04.2-desktop-i386.iso:ubuntu-14.04.2-desktop-i386:安装Oracle11gR2
- 嵌入式开发环境搭建:开发板tftp下载环境搭建
- 写一段jdbc连oracle的程序java类_并实现数据查询_一段Jdbc连Oracle的程序,并实现数据查询....
- [JNI] 开发基础(5)内存分配
- 基于javaweb的超市管理系统设计与实现(含论文和源码)
- 【从零开始的OpenGL学习】1. 配置OpenGL,绘制最简单的一个三角形,HelloWorld(学习笔记)
- Admob的注意事项
- 多个桌面Deskspace如何使用
- springboot自定义启动logo
- 正则表达式 '^[a-zA-Z0-9''-'\s]{1,30}$' 代表什么意思?
- Hack The Box——Academy
- 麦吉尔商业与计算机科学,麦吉尔大学与UBC大学那个好考
- 怎么制作有趣的表情包
- linux下qt软件使用方法,QT入门 QT Creator 使用