金三银四面试题(十六):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.mzph.cn/news/798022.shtml

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

相关文章

性能优化-如何爽玩多线程来开发

前言 多线程大家肯定都不陌生,理论滚瓜烂熟,八股天花乱坠,但是大家有多少在代码中实践过呢?很多人在实际开发中可能就用用Async,new Thread()。线程池也很少有人会自己去建,默认的随便用用。在工作中大家对…

ThingsBoard通过MQTT发送属性数据

MQTT基础 客户端 MQTT连接 属性上传API 案例 MQTT基础 MQTT是一种轻量级的发布-订阅消息传递协议,它可能最适合各种物联网设备。 你可以在此处找到有关MQTT的更多信息,ThingsBoard服务器支持QoS级别0(最多一次)和QoS级别1&…

3D打印技术引领压铸模具制造新变革

随着工业4.0浪潮的席卷,3D打印技术以其独特优势,正逐渐成为新一轮工业革命中的璀璨明星。这一技术不仅为“中国制造”向“中国智造”的转型提供了强大动力,也为压铸模具这一铸造行业的重要分支带来了前所未有的变革。 压铸模具,作…

文心一言指令词宝典之咨询分析篇

作者:哈哥撩编程(视频号、抖音、公众号同名) 新星计划全栈领域优秀创作者博客专家全国博客之星第四名超级个体COC上海社区主理人特约讲师谷歌亚马逊演讲嘉宾科技博主极星会首批签约作者 🏆 推荐专栏: 🏅…

NAT网络地址转换原理解析

NAT(Network Address Translation),即网络地址转换,是一种在1994年提出的地址转换技术。它的主要目的是在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址。NAT实际上是为解决IPv4地址短缺而开发的技术。NAT…

以诚待人,用心做事,做到最好,追求更好

无数个日日夜夜,终于换来了这样一份努力的证明。 2023年,收获满满,前一阵子拿到了证书,忘记拍照了,今天抽空记录一下 收获!又得到一份肯定,这份荣誉证书将伴随我一直为了进步而奋斗&#xff1a…

基于SSM的基于个人需求和地域特色的外卖推荐系统(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的基于个人需求和地域特色的外卖推荐系统(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

非关系型数据库(缓存数据库)redis的集群

目录 一.群集模式——Cluster 1.原理 2.作用 3.特点 4.工作机制 哈希槽 哈希槽的分配 哈希槽可按照集群主机数平均分配(默认分配) 根据主机的性能以及功能自定义分配 redis集群的分片 分片 如何找到给定key的分片 优势 二. 搭建Redis群集…

TAB标签美化 - SVG作为mask

今天觉得V3的标签不是很好看,忽然想起来之前看过Vue Admin Beautiful Pro的样式挺好的,顺手研究了一把。发现Vue Admin Beautiful是采用PNGmask css来解决的。于是乎打算把V3的标签页做点小美化,但是迁移过程发生些小插曲,在此记录…

【算法】动态规划练习(一)

目录 1137. 第 N 个泰波那契数 分析 代码 面试题 08.01. 三步问题 分析 代码 746. 使用最小花费爬楼梯 分析 代码 泰波那契序列 Tn 定义如下: T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n,请返回第 n 个泰波…

计算机网络——34LANs

LANs MAC地址和ARP 32bit IP地址 网络层地址用于使数据到达目标IP子网:前n - 1跳从而到达子网中的目标节点:最后一跳 LAN(MAC/物理/以太网)地址: 用于使帧从一个网卡传递到与其物理连接的另一个网卡(在同…

数位排序(Comparator<int[]>())

题目 import java.util.Arrays; import java.util.Comparator; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int m sc.nextInt();int[][] a new int[n][2];for(int i0;i…

C语言进阶课程学习记录-第25课 - # 和 ## 操作符使用分析

C语言进阶课程学习记录-第25课 - # 和 ## 操作符使用分析 #运算符实验-#转化字符串预处理后代码 实验-#输出函数名预处理后的代码 ##运算符实验-##定义变量预处理后代码 实验-##定义结构体预处理后的代码 小结 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程,图…

libVLC 音频输出设备切换

libvlc_audio_output_list_get和libvlc_audio_output_device_list_get是libVLC 库中用于处理音频输出的两个函数。 libvlc_audio_output_list_get函数用于获取可用的音频输出模块列表。这个列表通常包括不同的音频输出方式,例如 Pulseaudio、ALSA 等。通过这个函数…

算法第三十九天-验证二叉树的前序序列化

验证二叉树的前序序列化 题目要求 解题思路 方法一:栈 栈的思路是「自底向上」的想法。下面要结合本题是「前序遍历」这个重要特点。 我们知道「前序遍历」是按照「根节点-左子树-右子树」的顺序遍历的,只有当根节点的所有左子树遍历完成之后&#xf…

使用 Docker 部署 Photopea 在线 PS 工具

1)Photopea 介绍 GitHub:https://github.com/photopea/photopea 官方手册:https://www.photopea.com/learn/ Adobe 出品的「PhotoShop」想必大家都很熟悉啦,但是「PhotoShop」现在对电脑配置要求越来越高,体积越来越大…

流行的API架构学习

几种流行的API架构风格图 SOAP(Simple Object Access Protocol) 优点:SOAP 是一种基于 XML 的通信协议,具有良好的跨平台和跨语言支持。它提供了丰富的安全性和事务管理功能,并支持复杂的消息交换模式。 缺点&#xf…

windows,web端网页唤起打开本地的客户端程序

这里写自定义目录标题 需求&#xff1a;在电脑浏览器网页唤起本地的应用程序 使用类似以下代码 <a href"myprotocol:">打开飞书</a>在客户端安装的时候在注册表会有自己的协议&#xff0c;若是没有的可自定义注册表 自定义注册表步骤 1.winr 运行 regedi…

物联网工程-系统设计作业

1.设计一套基于RFID牛场养殖信息管理系统&#xff0c;并给出系统设计思路、系统构架和控制流程图。 一、设计思想 为方便牛场养殖员鉴别和管理牛群&#xff0c;为每只牛佩戴有RFID标签的动物耳钉&#xff0c;并将牛的健康情况录入数据库中&#xff0c;随着牛的生长&#xff0c;…

[StartingPoint][Tier1]Funnel

Task 1 How many TCP ports are open? (打开了多少个 TCP 端口&#xff1f;) # nmap -sS -T4 10.129.224.226 --min-rate 1000 2 Task 2 What is the name of the directory that is available on the FTP server? (FTP 服务器上可用的目录名称是什么&#xff1f;) $ n…