金三银四面试题(十六):MySQL面试都问什么(1)

在开发岗位面试中,MySQL基本是必考环节。所以接下来我们就进入MySQL八股文环节,看看都有哪些高频考题。

MySQL 中有哪些不同的表格?

在MySQL中,可以创建多种不同类型的表格,其中一些常见的类型包括:

  1. InnoDB表: InnoDB 是MySQL默认的存储引擎,它提供了事务、外键和行级锁等功能。在大多数情况下,InnoDB表是推荐的选择,特别是对于需要事务支持和数据完整性的应用程序。

  2. MyISAM表: MyISAM 是MySQL的另一种存储引擎,它不支持事务和行级锁,但具有较高的性能和较低的存储开销。MyISAM表适用于读取密集型的应用程序,例如数据仓库或报表生成。

  3. Memory表(也称为Heap表): Memory表是基于内存的临时表,数据存储在内存中而不是磁盘上。它们非常快速,适用于临时存储数据或者在数据量较小的情况下快速访问数据。

  4. CSV表: CSV表是存储在逗号分隔值(CSV)格式文件中的表格。MySQL提供了一种引擎,允许将CSV文件直接映射到MySQL表格。CSV表格对于将大量数据导入MySQL数据库或者将MySQL数据导出为CSV格式非常有用。

  5. Archive表: Archive表是一种高度压缩的表格类型,适用于存储大量历史数据或者日志。它们提供了快速的插入速度和高度的数据压缩率,但查询速度较慢。

  6. Blackhole表: Blackhole表是一种特殊类型的表格,它接受但不存储任何数据。所有对Blackhole表的操作都将被忽略,这对于在主从复制环境中过滤数据或者将数据发送到外部系统非常有用。

  7. Federated表: Federated表允许在一个MySQL服务器上访问另一个MySQL服务器上的数据,通过远程连接实现数据的访问和查询。

这些是MySQL中的一些常见表格类型,每种类型都有其特定的用途和优势。选择适当的表格类型取决于应用程序的需求和性能要求。

数据库设计三范式

第一范式(1NF):

字段具有原子性,不可再分。所有关系型数据库系统都满足第一范式,数据库表中的字段都是单一属性的,不可再分。例如,姓名字段,其中的姓和名必须作为一个整体,无法区分哪部分是姓,哪部分是名,如果要区分出姓和名,必须设计成两个独立的字段。

第二范式(2NF):

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF) 必须先满足第一范式(1NF)。要求数据库表中的每个实例或行必须可以被唯一地区分。 通常需要为表加上一个列,以存储 各个实例的唯一标识。 这个唯一属性列被称为主关键字或主键。

第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。 简而言之,第二范式就是非主属性非部分依赖于主关键字。

第三范式:

满足第三范式(3NF)必须先满足第二范式(2NF)。

简而言之,第三范式(3NF) 要求一个数据库表中不包含已在其它表中己包含的非主关键字信息

所以第三范式具有如下特征:

  • 1,每一列只有一个值
  • 2,每一行都能区分。
  • 3,每一个表都不包含其他表已经包含的非主关键字信息。

例如,订单表中只能出现用户的id, 而不能既出现用户的id, 还同时出现用户的姓名,否则,只要出现同一用户id的所有记录,它们中的姓名部分都必须严格保持一致,这就是数据冗余。

往期文章

金三银四面试题(十五):Java基础问题(6)2024-04-05
金三银四面试题(十四):Java基础问题(5)2024-04-04
金三银四面试题(十三):Java基础问题(4)2024-04-03
金三银四面试题(十二):Java基础问题(3)2024-04-02
金三银四面试题(十一):Java基础问题(2)2024-04-01
金三银四面试题(十):Java基础问题(1)2024-03-31
金三银四面试题(九):JVM常见面试题(3)2024-03-30
金三银四面试题(八):JVM常见面试题(2)2024-03-30
金三银四面试题(七):JVM常见面试题(1)2024-03-28
金三银四面试题(六):对象大小知多少2024-03-27

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/598297.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【边缘智能】00_边缘计算发展背景

本系列是个人学习《边缘就算基础知识入门》的笔记,仅为个人学习记录,欢迎交流,感谢批评指正 移动物联设备产生海量数据,数据密集型移动智能应用,计算密集、动态性高,实时性强 传统云计算架构 基于广域互联…

不开玩笑,你应该像「搬砖」一样写代码!斯坦福大学研究如是说

由于程序员不可避免要进行很多重复性的工作,并且工作强度很高,导致有一种自嘲的说法出现:程序员们自称自己每天都在搬砖(实际上很多职场人都这么自嘲)。我相信当我们说工作像「搬砖」的时候,只是在表达一种…

谷歌DeepMind发布Gecko:专攻检索,与大7倍模型相抗衡

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 Gecko 是一种通用的文本嵌入模型,可用于训练包括文档检索、语义相似度和分类等各…

2-django、http、web框架、django及django请求生命周期、路由控制、视图层

1 http 2 web框架 3 django 3.1 django请求生命周期 4 路由控制 5 视图层 1 http #1 http 是什么 #2 http特点 #3 请求协议详情-请求首行---》请求方式,请求地址,请求协议版本-请求头---》key:value形式-referer:上一次访问的地址-user-agen…

一开始我只是接单试试水而已,后来我居然财富自由了!

一开始我只是抱着试一试的心态,浅浅的尝试了一下网上接单,没办法,这风太大了!网上个个儿说的神乎其神的,尤其是动不动就几十W,没办法,我眼红啦!赚钱嘛,不丢人&#xff01…

【JavaWeb】百度地图API SDK导入

百度地图开放平台 | 百度地图API SDK | 地图开发 (baidu.com) 登录注册,创建应用,获取AK 地理编码 | 百度地图API SDK (baidu.com) 需要的接口一:获取店铺/用户 所在地址的经纬度坐标 轻量级路线规划 | 百度地图API SDK (baidu.com) 需要的…

图片批量高效管理,图片像素缩放支持自定义操作,让图像处理更轻松

在数字化时代,图片管理成为了我们生活和工作中不可或缺的一部分。无论是个人用户还是企业用户,都需要对大量的图片进行有效的管理和处理。然而,面对众多的图片,如何进行批量管理并对其进行像素缩放成为了一个挑战,该如…

【Linux】指令

1. 简单指令 whoami 显示当前登入账号名 ls /home 现在有的用户名 adduser 用户名 新加用户(必须在root目录下) passwd 用户名 给这个用户设置密码 userdel -r 用户名 删除这个用户 pwd 显示当前所处路径 stat 文件名 / 文件夹名 显示文件状…

基于JAVA+SSM+微信小程序+MySql的图书捐赠管理系统设计与实现(前后端分类)

一、项目背景介绍: 在当今社会,图书捐赠是一种普遍而有益的行为,旨在促进阅读、教育和知识传播。图书捐赠可以帮助改善教育资源不足的地区、学校和社区的阅读环境,提供更多的学习机会和知识获取途径。随着互联网和移动技术的发展&…

入门MyBatis

文章目录 入门MyBatisMyBatis快速入门创建user表添加数据创建模块导入坐标编写Mybatis核心配置文件编写SQL映射文件编码 使用idea编写sql代码链接数据库调出console控制台 Mapper代理开发定义与SQL映射文件同名的Mapper接口编码 MyBatis核心配置文件安装mybatisx插件配置文件完…

MES系统 DE 生产绩效功能及分析

在制造企业中,绩效管理是一项至关重要的工作。通过科学有效的绩效管理,能够帮助企业提高生产效率、优化资源配置、提升员工积极性,从而实现持续发展。什么是制造企业的绩效管理? 制造企业的绩效管理是指通过设定明确的目标和标准&…

MQ简介和面试题

一,什么是MQ MQ全称是Mwessage Queue(消息队列),是在消息传输过程中保存消息的容器,多用于分布式系统之间进行通信,解耦和低耦合性 二,常见的MQ产品 RebbitMQ,RocketMQ, ActiveMQ, Kafka, ZeroMQ, MetaMQ 其中我们…