首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql 数据库结构设计与规范

大家好,又见面了,我是你们的朋友全栈君 mysql 数据库结构设计与规范 DDL(data difinition language)就是数据定义语言。...mysql中的各种系统关键字命令名本身是不区分大小写的,命名规则如下: 可以自己命名的名字,称为标识符,包括:数据库名, 名,字段名,视图名,函数名,过程名,变量名,用户名,等等。...关于单引号反引号 反引号是为了区分MySQL的保留字普通字符,其他例如SQL语句用双引号 MySQL中反引号,是以对象为单位的,,或者库等,不能把a.name都括起来,而是应该`a`....充分利用前缀索引 尽量不使用存储过程、触发器、函数等,让数据库做最擅长的事 避免使用大的JOIN,MySQL优化器对join优化策略过于简单 避免在数据库中进行数学运算其他大量计算任务...,尤其是OnlineDDL 高危操作检查,Drop前做好数据备份 日志分析,主要是指的MySQL慢日志错误日志 数据备份方案 Online DDL 原生MySQL执行DDL

2.3K40
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL用户详解(mysql.user)

MySQL是一个多用户管理的数据库,可以为不同用户分配不同的权限,分为root用户普通用户,root用户为超级管理员,拥有所有权限,而普通用户拥有指定的权限。...MySQL是通过权限来控制用户对数据库访问的,权限存放在mysql数据库中,主要的权限有以下几个:user,db,host,table_priv,columns_privprocs_priv,先带你了解的是...用户列(用户连接MySQL数据库需要输入的信息) Host:主机名,双主键之一,值为%时表示匹配所有主机。User:用户名,双主键之一。Password:密码名。...DELETE命令删除现有数据 Update_priv 确定用户是否可以通过UPDATE命令修改现有数据 Create_priv 确定用户是否可以创建新的数据库 Drop_priv 确定用户是否可以删除现有数据库...Reload_priv 确定用户是否可以执行刷新和重新加载MySQL所用各种内部缓存的特定命令,包括日志、权限、主机、查询重新加载权限 Shutdown_priv 确定用户是否可以关闭MySQL

2.6K20

MYSQL 清空截断

清空截断 清空:delete from users; 清空只是清空中的逻辑数据,但是物理数据不清除,如主键值、索引等不被清除,还是原来的值。...截断:truncate table users; 截断可以用于删除中 的所有数据。截断命令还会回收所有索引的分配页。...截断的执行速度与不带where子句的delete(删除)命令相同,甚至比它还要快。...delete(删除)一次删除一行数据,并且将每一行被删除的数据都作为一个事务记录日志;而truncate (截断)则回收整个数据页,只记录很少的日志项。...delete(删除)truncate(截断)都会回收被数据占用的空间,以及相关的索引。只有的 拥有者可以截断。 另外,truncate之后,如果有自动主键的话,会恢复成默认值。

5.2K10

用户、角色、权限的关系(mysql)

一,各个表格 1、用户 CREATE TABLE `t_user` ( `id` varchar(40) NOT NULL, `username` varchar(20) NOT NULL...name` varchar(20) NOT NULL, `description` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) 4、用户角色关系...’u1′,’1’), (‘2′,’u2′,’2’), (‘3′,’u3′,’3’), (‘4′,’u11′,’1’), (‘5′,’u22′,’2’), (‘6′,’u33′,’3’); 小说网站,用户的设计...用户有着“读者”,“作者”“管理员”角色,角色有不同权限,如小说收藏,小说发布广告发布 假定,用户和角色是一对一关系,即一个用户只有一个角色;角色用户的关系是一对多关系,一个角色对应着多个用户。...权限与角色是多对多关系,角色用户是一对一关系。

5.4K20

数据库结构设计

大家好,又见面了,我是你们的朋友全栈君 为什么要学习数据结构设计 实际开发中,需要根据需求,将实际模型转换成物理结构,这时需要考虑几个问题,名称如何命名,中需要哪些字段,各个字段的命名规范...,字段的数据类型,字段的长度,其他的联系,这些都是需要考虑的。...dept是部门英文名缩写,重点是加“_P”,P表示权限,也就是这张权限业务相关,建议加上后缀,表明这张对应的相关业务 编号:dept_id varchar (40) 编号采用uuid...生成,UUID是根据用户网卡mac地址+随机数生成的,是唯一的编号,长度控制在40,这个较大长度,之所以不使用数字自动增长生成编号,是考虑,日后系统扩张,需要集成其他子系统的数据,唯恐有编号的冲突。...:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

93210

浅谈第三方登录用户结构设计方案

国民两大流量入口,大家不说也想到了,分别是微信QQ。所以为了方便获取用户来源都对接了微信登录或者QQ登录,这一类型的第三方登录入口。今天就以对接微信登录、QQ登录与苹果登录。...来说说对第三方用户体系与我方系统用户体系的对接的一些可行性方案。 0x01:我方用户与第三方用户同为一张 一般系统都会有自己的一套用户系统,主管用户的注册、登录、登出、权限等。...:微信的openid create_date:注册日期 如果有要对接 QQ Apple,这样的话有的修改: id:主键id username:用户名 age:用户年龄 mobile:手机号号码...所以可以采取另外一种方案我方用户一张、第三方用户一张这种方案。...0x03:我方用户一张、第三方用户多张 基于第二种方案,第三方用户使用了一个 type 字段来表示不同的第三方用户体系,通过不断的新增不同的枚举来标识不同的第三方。

1K20

登录系统及结构设计

本文将介绍如何设计一个支持三方登录的登录系统,并给出相应的结构设计。2....MySQL)存储用户信息第三方登录信息第三方登录API:微博开放平台、QQ开放平台微信开放平台提供的登录API2.3 系统设计2.3.1 用户我们需要设计一个用户来存储用户的基本信息,包括用户ID...,我们需要设计一个第三方登录来存储用户的第三方登录信息,包括用户ID、第三方平台的用户ID等。...总结通过本文的介绍,我们了解了如何设计一个支持三方登录的登录系统,并给出了相应的结构设计代码示例。...登录系统通过用户第三方登录来存储用户信息第三方登录信息,通过前端页面后端接口实现用户登录第三方登录的功能。同时,我们也详细介绍了登录流程第三方登录流程,帮助你更好地理解登录系统的实现。

85130

MySQL基础篇(02):从五个维度出发,审视结构设计

数据的存储则需要设计对应的结构,清楚的结构,有助于快速开发业务,理解系统。结构的设计通常从下面几个方面考虑:业务场景、设计规范、结构、字段属性、数据管理。...2、用户场景 例如存储用户基础信息数据,通常都会下面几个相关结构:用户信息、单点登录、状态管理、支付账户等。 用户信息 存储用户三要素相关信息:姓名,手机号,身份证,登录密码,邮箱等。...'; 状态管理 系统用户在使用时候可能出现多个状态,例如账户冻结、密码锁定等,把状态聚合到一起,可以更加方便的管理验证。...三范式 要求一个中不包含已经存在于其它的非主键信息,例如部门员工的信息,员工包含部门的主键ID,则可以关联获取相关信息,没必要在员工保存相关信息。...优缺点对比 范式化设计 范式化结构设计通常更新快,因为冗余数据较少,结构轻巧,也更好的写入内存中。但是查询起来涉及到关联,代价非常高,非常损耗查询性能。

84610

Hive metastore结构设计分析

今天总结下,Hive metastore的结构设计。什么是metadata呢,对于它的描述,可以理解为数据的数据,主要是描述数据的属性的信息。...那么我们从hive metastore的结构设计开始: ?   看到后,是不是有一种想死的冲动?没错,我也想死,但是我们可以一点一点的看,也会有理解错误,但这都是在我们通向精通的路途之上,不是么?...FUNC 是用来存储udf的基本信息,一个UDF只能对应一个库下的。FUNC_RU,用于存储该udf的类型及指向的路径。...首先,TBLS,这个主要记录了table的一些基本信息,包括名、创建时间、类型,以及SD_ID等信息。...同时会在SDS中加入DDL时设置的input output、的location以及SERDE信息(具体下面再说)   TBL_PRIVS、TBL_COL_PRIVS表记录该hive及列权限认证信息

1.7K30

又谈mysql,面试官问结构设计要注意啥?

浮点类型高精度型 从 MySQL 8.0.17 版本开始,MySQL 将不建议使用浮点类型 Float 或 Double,高精度 DECIMAL 类型可以使用。...排序规则 排序规则(Collation)是比较排序字符串的一种规则,每个字符集都会有默认的排序规则,可以使用命令 SHOW CHARSET 来查看: mysql> SHOW CHARSET LIKE...选择 推荐日期类型使用 DATETIME,而不是 TIMESTAMP INT 类型; INT 类型也是存毫秒数,本质 TIMESTAMP 一样,因此用 INT 不如直接使用 TIMESTAMP。...在第一范式的基础上更进一步,解决部分依赖,目标是确保中的每列都主键相关。 第三范式(3NF) 概念:所有的非主属性不依赖于其他的非主属性。...在第二范式的基础上更进一步,解决传递依赖,目标是确保中的列都主键直接相关,而不是间接相关。 反范式化 我们应从业务角度出发,设计出符合范式准则要求的结构。

74220
领券