【数据库】学习数据库该了解的基本知识

news2025/1/20 3:55:05

前言

在学习数据库之前,我们先要明确,sql是编程语言;Oracle,Mysql,SQL Server这些是数据库软件,sql这个语言是运行在数据库软件上的(就像Java运行在jvm上一样)

1、常见的关系型数据库软件 

关系型数据库:

  • 关系型数据库是依据关系模型来创建的数据库。
  • 所谓关系模型就是“一对一、一对多、多对多”等关系模型,关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织

Oracle,Mysql,SQL Server,SQLite(轻量级的数据库)

2、常见的非关系型数据库

  • 非关系型数据库,有多种模型:列模型,键值对模型,文档类模型。
  • 这里以键值对模型为例介绍:以键值对存储,器结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。使用这种方式,用户可以根据需要添加自己需要的字段,这样为了获取用户的不同信息,不需要想关系型数据中,要对多表进行关联查询。仅需要根据id取出相应的value就可以完成查询。

功能相比于关系型数据更少一些,但是性能更高,同时更适合当下大数据 分布式这样的时代背景

代表软件:redis, MongoDB,HBase

3、关系型数据库和非关系型数据的优缺点

3.1、关系型数据库

3.1.1、优点

  • 容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解;
  • 使用方便:通用的SQL语言使得操作关系型数据库非常方便;
  • 易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率;
  • 支持SQL,可用于复杂的查询。

3.1.2、缺点 

  1. 为了维护一致性所付出的巨大代价就是其读写性能比较差;

  2. 固定的表结构;

  3. 高并发读写需求;

  4. 海量数据的高效率读写;

3.2、非关系型数据库 

3.2.1、优点

  1. 无需经过sql层的解析,读写性能很高;

  2. 基于键值对,数据没有耦合性,容易扩展;

  3. 存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,而关系型数据库则只支持基础类型。

3.2.2、缺点

  1. 不提供sql支持,学习和使用成本较高;

  2. 无事务处理,附加功能bi和报表等支持也不好;


 4、了解MySQL数据库软件

MySQL是一个数据库“客户端—服务器”结构的程序。咱们再安装MySQL时,其实同时安装了MySQL的服务器和MySQL的客户端(这两个程序都在我们的电脑上)

这里来了解以下客户端于服务器的定义:他们是根据主动与被动来确定的。

  • 客户端:主动发起交互的一段称为客户端。
  • 服务器:接受交互的一段称为服务器。
  • 请求(Request):客户端给服务器端发送的数据就是请求
  • 相应(Respone):服务器端返回给客户端的数据就是相应。

MySQL自带的客户端就是一个命令行程序,用户在客户端中输入的任何命令最终都会转换成网络上的数据传输给服务器。

服务器是MySQL的本体,重要性和复杂性远远 超过客户端。客户端是非常简单的,也有多种形态。【客户端、第三方软件(比如:navicat),也可以自己写一个】.

MySQL的数据保存再哪里?

MySQL以及其他的关系型数据库,都是使用硬盘来保存数据的。


4.1、MySQL服务器在硬盘上如何组织数据

  • MySQL为了更好的组织数据,把要存的数据划分出了多个数据集合,这些数据集合也称为“数据库”
  • 每个数据库里,使用“表”这样的结构来组织数据(这个表相当于excel表格,最上面一行是表头,描述每一列是什么意思)。
  • 每个表里有很多记录(record),每个记录也就是一行(row)
  • 每一行这里又有很多列(column),每一列也称为一个字段(field)

 

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

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

相关文章

HAProxy的安装、详细配置与实际应用(MyCAT、RabbitMQ示例)

HAProxy的安装、配置与实际应用 HAProxyHAProxy概述下载编译安装配置启动验证配置RabbitMQ的HAProxy示例 HAProxy HAProxy概述 HAProxy(High Availability Proxy)是一款自由、快速、可靠的TCP/HTTP负载均衡软件,其最常见的用途是将客户端请求…

使用signapk工具给apk系统签名

使用signapk给apk系统签名: 1、准备signapk.jar文件 查找路径: .\out\host\linux-x86\framework\signapk.jar 2、platform.x509.pem 和 platform.pk8 查找路径: .\vendor\prima\customer\certificatekey\prima 3、重点:将sdk…

Mac的PATH环境变量及相关文件加载顺序详细解释

系统级变量 /etc/profile /etc/paths 用户级变量(前3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会以此类推读取后面的文件。~/.bashrc没有上述…

数据结构 | 排序 - 总结

排序的方式 排序的稳定性 什么是排序的稳定性? 不改变相同数据的相对顺序 排序的稳定性有什么意义? 假定一个场景: 一组成绩:100,88,98,98,78,100(按交卷顺序…

【数据结构】队列(循环队列和链队列)详细讲解各种操作

🎊专栏【数据结构】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【勋章】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 图片来源网络,如果侵权,请联系我 目录 ⭐队…

爱智EdgerOS之深入解析离线下载任务

一、需求分析 在日常使用计算机的过程中,看到喜欢的资源不可避免地想把它下载到我们的设备上保存下来,比如图片,音视频资源,文档资源等,基于这种应用场景,现在来看看在爱智设备上可以如何实现呢&#xff1…

日撸 Java 三百行day33

文章目录 说明day33 图的广度优先遍历1.思路2.多个连通分量2 代码实现 说明 闵老师的文章链接: 日撸 Java 三百行(总述)_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护:https://github.com/fulisha-ok/sampled…

82.qt qml-2D粒子系统、粒子方向、粒子项(一)

由于粒子系统相关的类比较多, 所以本章参考自QmlBook in chinese的粒子章节配合学习: 由于QmlBook in chinese翻译过来的文字有些比较难理解,所以本章在它的基础上做些个人理解,建议学习的小伙伴最好配合QmlBook in chinese一起学习。 1.介绍 粒子模拟的核心是粒子系统(Partic…

ResNet残差网络

ResNet 目的 Resnet网络是为了解决深度网络中的退化问题,即网络层数越深时,在数据集上表现的性能却越差。 原理 ResNet的单元结构如下: 类似动态规划的选择性继承,同时会在训练过程中逐渐增大(/缩小)该…

数字图像基础【7】应用线性回归最小二乘法(矩阵版本)求解几何变换(仿射、透视)

这一章主要讲图像几何变换模型,可能很多同学会想几何变换还不简单嚒?平移缩放旋转。在传统的或者说在同一维度上的基础变换确实是这三个,但是今天学习的是2d图像转投到3d拼接的基础变换过程。总共包含五个变换——平移、刚性、相似、仿射、透…

尚融宝10-Excel数据批量导入

目录 一、数据字典 (一)、什么是数据字典 (二)、数据字典的设计 二、Excel数据批量导入 (一)后端接口 1、添加依赖 2、创建Excel实体类 3、创建监听器 4、Mapper层批量插入 5、Service层创建监听…

2023年,想要靠做软件测试获得高薪,我还有机会吗?

时间过得很快,一眨眼,马上就要进入2023年了,到了年底,最近后台不免又出现了经常被同学问道这几个问题:2023年还能转行软件测试吗?零基础转行可行吗? 本期小编就“2023年,入行软件测…

一文解决nltk安装问题ModuleNotFoundError: No module named ‘nltk‘,保姆级教程

目录 问题一:No module named ‘nltk‘ 问题二:Please use the NLTK Downloader to obtain the resource 下载科学上网工具 问题三:套娃报错 如果会科学上网,可以直接看问题三 问题一:No module named ‘nltk‘ Mo…

【微服务笔记16】微服务组件之Gateway服务网关基础环境搭建

这篇文章,主要介绍微服务组件之Gateway服务网关基础环境搭建。 目录 一、Gateway服务网关 1.1、什么是Gateway 1.2、Gateway基础环境搭建 (1)基础环境介绍 (2)引入依赖 (3)添加路由配置信…

软件测试工程师的进阶之旅

很多人对测试工程师都有一些刻板印象,比如觉得测试“入门门槛低,没有技术含量”、“对公司不重要”、“操作简单工作枯燥”“一百个开发,一个测试”等等。 会产生这种负面评论,是因为很多人对测试的了解,还停留在几年…

Lesson12 udptcp协议

netstat命令->查看网络状态 n 拒绝显示别名,能显示数字的全部转化成数字l 仅列出有在 Listen (监听) 的服務状态p 显示建立相关链接的程序名t (tcp)仅显示tcp相关选项u (udp)仅显示udp相关选项a (all)显示所有选项,默认不显示LISTEN相关 pidof命令-&…

SQL select详解(基于选课系统)

表详情: 学生表: 学院表: 学生选课记录表: 课程表: 教师表: 查询: 1. 查全表 -- 01. 查询所有学生的所有信息 -- 方法一:会更复杂,进行了两次查询,第一…

机器学习笔记之正则化(六)批标准化(BatchNormalization)

机器学习笔记之正则化——批标准化[Batch Normalization] 引言引子:梯度消失梯度消失的处理方式批标准化 ( Batch Normalization ) (\text{Batch Normalization}) (Batch Normalization)场景构建梯度信息比例不平衡批标准化对于梯度比例不平衡的处理方式 ICS \text{…

《抄送列表》:过滤次要文件,优先处理重要文件

目录 一、题目 二、思路 1、查找字符/字符串方法:str1.indexOf( ) 2、字符串截取方法:str1.substring( ) 三、代码 详细注释版: 简化注释版: 一、题目 题目:抄送列表 题目链接:抄送列表 …

Java[集合] Map 和 Set

哈喽,大家好~ 我是保护小周ღ,本期为大家带来的是 Java Map 和 Set 集合详细介绍了两个集合的概念及其常用方法,感兴趣的朋友可以来学习一下。更多精彩敬请期待:保护小周ღ *★,*:.☆( ̄▽ ̄)/$:*.★* ‘ 一、…