当前位置: 首页 > news >正文

数据库(一)

数据库

1.为什么要使用数据库

如果要存储数据,我们是可以使用文件来存储数据的,但是使用文件管理数据有很多缺点,比如:
不安全,不利于管理,查询,如果要存储大量的数据,使用文件管理会非常不好管理,这时候,使用数据库管理,我们可以对数据进行分类管理,我的理解是它就像图书馆一样,数据就像书籍 可以分书架又分格子,进行有效管理,同时也方便查询。

数据库分类:

1.关系型数据库
关系型数据库就是使用了关系模型来管理的数据库,关系模型就是二维表格模型。所以简单点说,关系型数据库就是由n个二维表格和表格之间的联系组成的数据组织。

2.非关系型数据库

关系型数据库与非关系型数据库的区别

1.关系型数据库使用SQL管理,非关系型数据库一般不使用
2.关系型数据库结构是表和列的结构,非关系型数据库不一定,灵活性高。
3.关系型数据库支持支持事务操作,非关系型数据库不支持
4.关系型数据库在大量的数据读写方面效率比较低,非关系型数据库效率更高。

二.什么是mysql

mysql是一个开源的关系型数据库管理系统,它使用SQL语言对数据进行管理。

数据库系统与数据库管理系统的关系

数据库系统是由数据库里的数据和数据库管理系统共同组成的。

而数据库管理系统,是指可以用来具体的管理数据库的软件 比如mysql等等


三.关系型数据库的三大范式

什么是三大范式:
三大范式是指在关系模型中,通过一系列的规范化过程,将数据分解为更小更规范的关系表,这样的话,可以提高数据的一致性,和可靠性。

三大范式分别是
1.第一范式(1NF)

第一范式要求每个数据项都是原子性的,不可再分解的,用简单的话说,就是每个属性只能包含一个值,不可以包含多个值或者多个属性。

2.第二范式(2NF)(第二范式是在主要是在有联合主键的情况下遵循)
第二范式要求每个非主属性都完全依赖主键。简单点说,就是一个关系表里不能存在部分依赖关系,如果一个关系表中存在部分依赖关系,就需要将它拆分成多个关系表。每个表都包含一个主键和非主属性。

3.第三范式(3NF)
第三范式要求是基于第二范式的基础上,消除传递依赖。简单点说,就是非主属性不能依赖非主属性,而是应该直接的依赖主键。如果一个关系表存在传递依赖关系,那么这个关系需要将它拆分为多个关系表。


四.三大范式有什么作用?

1.如果数据库中的二维表格模型都遵循三大范式,那么可以使数据库更加的规范化
2.可以减少数据的冗余。
3.提高数据的质量,也可以更好的管理数据,维护数据,查询数据。


五.数据库的事务

使用数据库的事务是数据库一个重要的操作。

事务主要是指在逻辑上的一系列操作,数据库的事务主要就是指将数据库的一系列操作捆绑在一起,捆绑在一起的一系列操作要么全部成功,要么全部失败。
比如,转账就是典型的例子,A向B转账,A转了50,那么按正常成功的情况,A的账号应该少了50块钱,B的账号增加了50块钱。

A账户金额的减少应该与B账号金额的增加捆绑为一个事务。要么一起成功,要么一起失败,不然就会有可能出现,A的账户减少了50块钱,而B的账户却没有增加50块钱这种情况。


事务的特性
1.事务应具有原子性,就是说就是说事务的操作是不可再分解的,一系列操作要么全部成功,要么全部失败。不能在一系列操作的中间失败
2.事务应该具有一致性。简单点说,就是数据库要和在事务开始之前要和在事务结束之后要保持完整性,数据库没有遭到破坏。

3.事务应该具隔离性。数据库允许多个并发事务对数据进行读写或者修改操作,事务的隔离性可以防止多个事务并发执行的时候由于交叉执行而导致的数据不一致。

4.事务具有持久性。就是使用事务之后,对数据的修改都是永久的,即使系统故障也不会丢失。


事务的隔离级别:

读未提交
读已提交
可重复读
可串行化

相关文章:

数据库(一)

数据库 1.为什么要使用数据库 如果要存储数据,我们是可以使用文件来存储数据的,但是使用文件管理数据有很多缺点,比如: 不安全,不利于管理,查询,如果要存储大量的数据,使用文件管理…...

【算法与数据结构】106、LeetCode从中序与后序遍历序列构造二叉树

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:首先我们要知道后序遍历数组的最后一个元素必然是根节点,然后根据根节点在中序遍历数组中的…...

kali 安装cpolar内网穿透实现 ssh 远程连接

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过cpolar 内网穿透软件实现ssh 远程连接kali! 1. 启动kali ssh 服务 默认新安装的kali系统会关闭ssh 连接服务,我们通…...

算法训练 第一周

一、合并两个有序数组 本题给出了两个整数数组nums1和nums2,这两个数组均是非递减排列,要求我们将这两个数组合并成一个非递减排列的数组。题目中还要求我们把合并完的数组存储在nums1中,并且为了存储两个数组中全部的数据,nums1中…...

软件评测师之码制

目录 一、机器数二、码制三、数的表示范围 一、机器数 机器数就是一个数在计算机中的二进制表示,计算机中机器数的最高位是符号位,正数符号位为0,负数符号位为1,机器数包含原码、反码和补码三种表示形式。 二、码制 表现形式数…...

ubuntu18安装cmake27的方法

背景是ubuntu18默认的cmake是3.10 $ apt search cmake Sorting... Done Full Text Search... Done bear/bionic,bionic 2.3.11-1 allgenerate compilation database for Clang toolingcatkin/bionic,bionic 0.7.8-1 allLow-level build system macros and infrastructure for …...

通讯编程006——NodeJS OPC UA Client开发简单教程

本文介绍如何在NodeJS环境下开发OPC UA Client,通过本文可以对OPC UA的基本概念有所了解,掌握OPC UA的本质。相关软件请登录网信智汇(wangxinzhihui.com)。 开发步骤如下: 1)首先需要安装nodejs,要求版本至少是12。 …...

「高等数学」雅可比矩阵和黑塞矩阵的异同

「高等数学」雅可比矩阵和黑塞矩阵的异同 雅可比矩阵,Jacobi matrix 或者 Jacobian,是向量值函数( f : R n → R m f:\mathbb{R}^n \to \mathbb{R}^m f:Rn→Rm)的一阶偏导数按行排列所得的矩阵。 黑塞矩阵,又叫海森矩…...

继承(个人学习笔记黑马学习)

1、基本语法 #include <iostream> using namespace std; #include <string>//普通实现页面//Java页面 //class Java { //public: // void header() { // cout << "首页、公开课、登录、注册...(公共头部)" << endl; // } // void footer() …...

ToBeWritten之ATTCK 测评方案

也许每个人出生的时候都以为这世界都是为他一个人而存在的&#xff0c;当他发现自己错的时候&#xff0c;他便开始长大 少走了弯路&#xff0c;也就错过了风景&#xff0c;无论如何&#xff0c;感谢经历 转移发布平台通知&#xff1a;将不再在CSDN博客发布新文章&#xff0c;敬…...

JSONUtil详解

JSONUtil是一个通用的JSON工具类&#xff0c;用于在Java中操作JSON数据。虽然之前提到的示例中没有直接提及JSONUtil&#xff0c;但可以解释一下可能存在的一些常见JSON操作方法&#xff0c;这些方法通常可以在不同的JSON工具类中找到。 JSONUtil中的一些常见方法包括&#xf…...

ArcGIS Maps SDK for JS(一):概述与使用

文章目录 1 概述2 如何使用ArcGIS Maps SDK for JavaScript2.1 AMD 模块与 ES 模块2.2 AMD 模块和 ES 模块比较 3 几种安装方式3.1 通过 ArcGIS CDN 获取 AMD 模块3.2 通过 NPM 运行 ES 模块3.3 通过 CDN 获取 ES 模块3.4 本地构建 ES3.5 本地构建 AMD 3 VSCode下载与安装2.1 下…...

【STM32】FSMC接口的复用和非复用

问题背景 在阅读《零死角玩转STM32—F103指南者》&#xff0c;以及《STM32F10x-中文参考手册》关于FSMC一章节的时候&#xff0c;对于在控制NOR/SRAM的时候使用到的引脚,在提到NOR器件的时候提到了地址复用和非复用接口&#xff0c;一时间没明白是什么东西。 结论 非复用模式…...

操作系统强化认识之Shell编程学习与总结

目录 1.Shell的概述 2.Shell脚本入门 3.变量 3.1.系统预定义变量 3.2.自定义变量 3.3.特殊变量 4.运算符 5.条件判断 6.流程控制 6.1.if判断 6.2.case语句 6.3.for循环 6.4.while循环 7.read读取控制台输入 8.函数 8.1.系统函数 8.2.自定义函数 9.正则表示式入…...

怎么用conda下载清华源的pytorch(自带cuda的版本)

1&#xff0c;添加镜像源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

【ES6】CommonJS模块和ES6模块

在JavaScript中&#xff0c;模块是一种将功能代码组织成逻辑单元的方式&#xff0c;以便在其他项目中重复使用。有两种主要的模块系统&#xff1a;CommonJS和ES6。 1、CommonJS 在CommonJS中&#xff0c;我们使用require来引入模块&#xff0c;使用module.exports来导出模块。…...

两个线程同步执行:解决乱箭穿心(STL/Windows/Linux)

C自学精简教程 目录(必读) C并发编程入门 目录 多线程同步 线程之间同步是指线程等待其他线程执行完某个动作之后再执行&#xff08;本文情况&#xff09;。 线程同步还可以是像十字路口的红绿灯一样&#xff0c;只允许一个方向的车同行&#xff0c;其他方向的车等待。 本…...

Ubuntu18.04更改镜像源(网易,阿里,清华,中科大,浙大)

一&#xff0c;备份原来的源&#xff08;选做&#xff09; sudo cp /etc/apt/sources.list /etc/apt/sources_init.list 二&#xff0c;更换源 sudo gedit /etc/apt/sources.list 删除原来内容改为新的镜像源 1&#xff0c;清华源 deb https://mirrors.tuna.tsinghua.edu…...

字节码和机器码的区别

字节码和机器码是计算机程序在不同阶段的表示形式&#xff0c;它们的主要区别如下&#xff1a; 抽象级别不同&#xff1a;字节码是一种中间表示形式&#xff0c;位于源代码和机器码之间。它是一种与特定平台无关的低级表示形式&#xff0c;通常由编译器将源代码转换而来。而机器…...

go学习part21 Redis和Go(2)

1.三方库安装 309_尚硅谷_Go连接到Redis_哔哩哔哩_bilibili 借鉴&#xff1a; Golang 安装 Redis_go fiber 安装redis_柒柒伍贰玖。的博客-CSDN博客 三方redis库已经迁移到以下网址&#xff0c;go get github.com/gomodule/redigo/redis gomodule/redigo: Go client for Red…...

原创丨全球主流开源模型及其衍生生态解析

作者&#xff1a;李媛媛 本文约4800字&#xff0c;建议阅读15分钟本文介绍了全球主流开源基座模型及衍生模型的特点、应用与趋势。在人工智能技术产业化落地加速的当下&#xff0c;开源模型已成为推动行业创新的核心力量&#xff0c;其开放、可定制的特性打破了技术壁垒&#x…...

GitHub下载太慢?3分钟学会Fast-GitHub加速插件的终极解决方案

GitHub下载太慢&#xff1f;3分钟学会Fast-GitHub加速插件的终极解决方案 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 作为一名…...

nardeas/ssh-agent:增强版SSH代理工具的设计、部署与实战应用

1. 项目概述&#xff1a;一个被低估的SSH代理工具如果你和我一样&#xff0c;日常需要在多台服务器、开发机、跳板机之间穿梭&#xff0c;手里捏着十几把甚至几十把SSH密钥&#xff0c;那你一定对ssh-agent这个工具又爱又恨。爱的是&#xff0c;它确实能让你免去一遍遍输入密钥…...

如何快速获取全网音乐歌词:免费开源工具的终极指南

如何快速获取全网音乐歌词&#xff1a;免费开源工具的终极指南 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为找不到心爱歌曲的歌词而烦恼吗&#xff1f;163Music…...

图像超分新SOTA:DAT模型凭什么在效果和效率上双赢?深入对比SwinIR、EDSR等经典方案

DAT模型&#xff1a;图像超分辨率领域的效率与效果平衡术 当一张模糊的老照片在算法处理后突然变得清晰可辨时&#xff0c;这种"魔法"背后是图像超分辨率技术的精妙演化。在这个领域&#xff0c;Transformer架构近年来展现出惊人的潜力&#xff0c;却也面临着计算复…...

Next.js 14全栈样板工程解析:集成Prisma与NextAuth的现代Web开发实践

1. 项目概述&#xff1a;一个为现代Web应用量身定制的启动器如果你正在寻找一个能让你跳过繁琐的初始化配置&#xff0c;直接进入核心业务逻辑开发的Next.js项目起点&#xff0c;那么nemanjam/nextjs-prisma-boilerplate这个项目很可能就是你需要的。这不是一个简单的“Hello W…...

企业内如何通过Taotoken实现大模型API的统一管理与审计

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 企业内如何通过Taotoken实现大模型API的统一管理与审计 对于需要将大模型能力集成到内部系统的企业而言&#xff0c;直接让各个团队…...

LabVIEW通过OPC DA连接任意PLC:架构、配置与实战指南

1. 项目概述&#xff1a;为什么是LabVIEWOPC&#xff1f; 如果你在工业自动化、测试测量或者数据采集领域摸爬滚打过一阵子&#xff0c;大概率听过LabVIEW的大名&#xff0c;也可能被各种PLC&#xff08;可编程逻辑控制器&#xff09;五花八门的通讯协议搞得头疼。把LabVIEW和任…...

XUnity Auto Translator:3分钟为Unity游戏添加多语言支持的终极方案

XUnity Auto Translator&#xff1a;3分钟为Unity游戏添加多语言支持的终极方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而无法畅玩心爱的Unity游戏&#xff1f;或者作为游…...

NotebookLM脑机接口安全红线清单,3类合规风险已致2家医疗AI公司终止临床试验

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM脑机接口研究 NotebookLM 是 Google 推出的基于用户自有文档进行深度理解与推理的 AI 助手&#xff0c;其核心能力在于语义锚定&#xff08;semantic grounding&#xff09;与多源文档交叉推…...