数据库的基本知识理论

news2024/11/21 0:19:15

文章目录

  • 一、数据库的演变史
      • 1.存取数据的演变史
          • 1.把数据存在了文件中
          • 2.存数据的文件越来越多,放在db文件夹
          • 3.数据库软件就能够解决以上所有问题
      • 2.数据库软件应用史
          • 1.单机游戏
          • 2.网络游戏
          • 3. 集群
  • 二、数据库
      • 1.什么是数据库
      • 2.数据库的作用
          • 1.实现数据共享
          • 2.减少数据的冗余度
          • 3.保持了数据的独立性
          • 4.数据实现集中控制
          • 5.数据一致性和可维护性
          • 6.故障恢复
      • 3.数据库的基本概念
      • 4.软件开发架构
      • 5.数据库的本质
      • 6.数据库的分类
          • 关系型数据库有:MySQL、MariaDB、Oracle、PostgreSQL、sqlserver、sqlite、db2、access等
          • 非关系型数据库

一、数据库的演变史

1.存取数据的演变史

基于之前所学数据文件的保存,都只是存于我们本电脑上。如果不是在本机上存取数据的话,就需要借助于别的工具,对于基于文件来存取数据的效率问题就降低了许多。同时也会增加了数据的不安全性。

1.把数据存在了文件中

文件名不规范

2.存数据的文件越来越多,放在db文件夹

随着用户的注册量越来越多,文件数量也会越来越多,会占用大量空间,以及查询和存储都不方便,还有速度很慢

3.数据库软件就能够解决以上所有问题

统一路径,统一操作方式,同时降低了学习成本,提高开发效率

2.数据库软件应用史

1.单机游戏

优点:不用联网
缺点:数据存储于各个计算机的本地,无法共享,如果本台计算机出现了故障,换一台计算机你的游戏存档都没有了
在这里插入图片描述

2.网络游戏

数据储存于网络中,可以共享(数据库服务),登录账号密码就可以访问我们能储存数据库信息,实现了数据的兼容问题
在这里插入图片描述

3. 集群

集群一般由两个或两个以上的服务器组成,每个服务器被称作一个集群点,集群节点之间可以相互通信。集群具有节点服务状态监控功能,同时还必须具有服务实体扩展功能,可以灵活的增加和剔除某个服务实体。当一个节点出现故障时,集群的另一个节点,可以自动接管故障节点的资源,从而保证服务持久,不间断地运行。

​ 一个集群系统是必须拥有共享的数据存储
在这里插入图片描述
数据库服务集群的目的是:提高数据的安全性

二、数据库

1.什么是数据库

数据库是“按照数据结构来组织、储存和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可以共享、统一管理的大量数据的集合。数据库时存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。

在数据库的发展史上,数据库先后经历了层次数据库、网状数据库和关系数据库等各个阶段的发展,数据库技术在各个方面的快速的发展。特别是关系型数据库已经成为目前数据库产品中最重要的一员,80年代以来, 几乎所有的数据库厂商新出的数据库产品都支持关系型数据库,即使一些非关系数据库产品也几乎都有支持关系数据库的接口。随着云计算的发展和大数据时代,引入了其他分布式技术,这类数据库一般称为NoSQL数据库。

简单总结:
1.数据库(DB, database)是按照数据结构来组织、存储和管理数据的“仓库”。
2.数据库是一定方式储存在一起、能为多个用户共享、统一管理的大数据集合
3.数据库可以通过一些指令对数据库数据进行增删改查(Create, Retrive, Updata, Delete)等操作。

2.数据库的作用

1.实现数据共享

可以存取数据库中的数据,也可以通过接口连接数据库并共享数据

2.减少数据的冗余度

由于可以直接向数据库存拿以及共享数据,避免了用户各自建立应用文件,减少了大量重复数据,减少了数据冗余,维护了数据的一致性。

3.保持了数据的独立性

​ 数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。

4.数据实现集中控制

数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。

5.数据一致性和可维护性

​ 以确保数据的安全性和可靠性:主要包括:安全性控制、完整性控制、并发控制,使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。

6.故障恢复

​由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。

3.数据库的基本概念

1.什么是数据(data)?
事物的状态

2.什么是记录?
一组数据构成一条记录,相当于文件中的一行内容,例如:kimi,female,18

3.什么是表?
简单说文件

4.什么是库(DataBase,简称DB)?
简单说就是文件夹

5.什么是数据库管理系统(DataBase Management System 简称DBMS)?
管理数据的套接字软件,CS架构

6.什么是数据库服务器?
运行有DBMS服务端的计算机,该计算机对内存和硬盘要求都 相对较高

4.软件开发架构

1.C/S 架构
客户端与服务端

2.B/S架构
浏览器与服务端

5.数据库的本质

数据库本质其实就是一款CS架构的软件,意味着所有的程序员其实都有资格编写一款数据库软件。通过之前所学的TCP客户端和服务端,可以做基本的操作交流。

1.站在底层原理角度
数据库指的是操作数据的进程(一堆代码)

2.站在实际应用的角度
数据库指的是可视化操作界面(一些引用软件)
注意:不是特殊说明,数据库指的是数据库软件

6.数据库的分类

1.关系型数据库(简称RDBMS: Realtinal Database Management System)
具有固定的表结构,并且表与表之间可以通过外界建立关系

id      name		age     gender
1		kevin	    20       male
1		kevin	    20       male
1		kevin	    20       male
1		kevin	    20       male
1		kevin	    20       male
1		kevin	    20       male
关系型数据库有:MySQL、MariaDB、Oracle、PostgreSQL、sqlserver、sqlite、db2、access等

MySQL
主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码、使用最广以及性价比高。 因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。

Oracle
这个数据库是收费的,虽然维护成本高但是安全性也最高。大型公司可能会使用,主要用于银行、铁路、飞机场等,该数据库功能强大,软件费用高,也是甲骨文公司的产品。

MariaDB
SUN被甲骨文收购后,MySQL 的原创人员有拉出另外一个分支,命名MariaDB 。该数据库被维基百科,Facebook 甚至 Google 等技术巨头使用。 MariaDB 是一种可为 MySQL 提供插件替换功能的数据库服务器。开发人员的首要关注点是安全性,在每个版本发布时,开发人员还会合并所有 MySQL 的安全修补程序,并在需要时对其进行增强。(开源免费)

PostgreSQL
开源免费,支持二次开发,兼容性极高。

sqlserver
微软公司的产品,主要应用于大中型企业,如联想、方正等。

sqlite
小型数据库,主要用于本地测试

非关系型数据库

没有固定的表结构,数据存储采用K:V键值对的形式;数据之间无法建立数据库层面的关系。

{'name':'jack'}   {'username':'jack','pwd':123}

非关系型数据库有:redis、mongoDB、memcache

redis 目前最火的缓存数据库 具有很多数据结构 功能强大(多用来作为缓存),虽然缓存数据库史基于内存做数据库存取,但是具有持久化功能,有日志记录,不易丢失

mongoDB
文档型数据库,最像关系型数据库的非关系型数据库,用在大数据和爬虫(可用来作为后端数据库管理软件)

memcache
已经被redis淘汰(多用来作为缓存)

注意:数据库软件很多,但是操作方式几乎差不多,其中以MySQL最为典型。

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

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

相关文章

【Android知识笔记】Webview专题

WebView 核心组件 类名作用常用方法WebView创建对象加载URL生命周期管理状态管理loadUrl():加载网页 goBack():后退WebSettings配置&管理 WebView缓存:setCacheMode() 与JS交互:setJavaScriptEnabled()WebViewClient处理各种通知&请求事件should

系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第三部分:缓存

本心、输入输出、结果 文章目录 系统设计 - 我们如何通俗的理解那些技术的运行原理 - 第三部分:缓存前言缓存数据存储在什么地方图层说明 为什么 Redis 这么快?如何使用 Redis顶级缓存策略弘扬爱国精神 系统设计 - 我们如何通俗的理解那些技术的运行原理…

嵌入式硬件中常见的100种硬件选型方式

1请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌)。 电阻: 美国:AVX、VISHAY 威世 日本:KOA 兴亚、Kyocera 京瓷、muRata 村田、Panasonic 松下、ROHM 罗姆、susumu、TDK 台湾:LIZ 丽智、PHY…

SystemVerilog学习(4)——自定义结构

一、 通过typedef来创建用户自定义类型 typedef语句可以用来创建新的类型。例如,你要求一个算术逻辑单元(ALU)在编译时可配置,以适应8比特、16比特,24比特或32比特等不同位宽的操作数。在Verilog中,你可以为操作数的位宽和类型分别定义一个宏(macro),如例2.32所示。 SV则提供了…

Linux常用命令——clockdiff命令

在线Linux命令查询工具 clockdiff 检测两台linux主机的时间差 补充说明 在ip报文的首部和ICMP报文的首部都可以放入时间戳数据。clockdiff程序正是使用时间戳来测算目的主机和本地主机的系统时间差。 选项 -o:使用IP时间戳选项来测量系统时间差。时间戳只用3个…

超全全国所有城市人力资本测算数据集(1990-2021年)

参考《管理世界》中詹新宇(2020)的做法,本文对地级市的人力资本水平进行测算,其中人力资本水平用地级市的普通高等学校在校学生数占该地区总人口比重来反映 一、数据介绍 数据名称:地级市-人力资本测算 数据年份&…

基于指数分布优化的BP神经网络(分类应用) - 附代码

基于指数分布优化的BP神经网络(分类应用) - 附代码 文章目录 基于指数分布优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.指数分布优化BP神经网络3.1 BP神经网络参数设置3.2 指数分布算法应用 4.测试结果…

计算一个Series序列元素的标准差Series.sem()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算Series序列中各元素的标准差 Series.sem() [太阳]选择题 关于以下代码的说法中正确的是? import pandas as pd a pd.Series([1,2,3]) print("【显示】a:\n",a) print(【执行】…

电路基础元件

文章目录 每周电子w5——电路元件基本电路元件电阻元件电容元件电感元件 每周电子w5——电路元件 基本电路元件 电路元件:是电路中最基本的组成单元 电路元件通过其端子与外部相连接;元件的特性则通过与端子有关的物理量描述每一种元件反映某种确定的电…

v-if和v-else-if、v-else或v-show

一、用于真正的隐藏和显示,显示时才会渲染dom元素 v-if"布尔类型条件":能出现n次 v-else-if"布尔类型条件":必须与v-if搭配使用,出现n次 v-else:必须和v-if搭配使用,只能出现1次 例子1&#xff1…

LeetCode讲解篇之113. 路径总和 II

文章目录 题目描述题解思路题解代码 题目描述 题解思路 深度优先遍历二叉树,遍历的同时记录路径,直到遍历到叶节点,若路径和为targetSum则添加到结果集中 题解代码 func pathSum(root *TreeNode, targetSum int) [][]int {var res make([…

win10下yolov5 tensorrt模型部署

TensorRT系列之 Win10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速部署…

云原生概述

1. 何谓云原生 云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,CloudNative。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设…

算法学习 之 并查集

leecode 中这题就需要并查集 代码如下 typedef struct{int * parents;int * sizes; } UnionFind; // 下面建立一个初始化 UnionFind * NewUnionFind(int n){UnionFind * uf (UnionFind *) malloc(sizeof(UnionFind));uf->parents (int *) malloc (sizeof(int)*n);uf->s…

UGNX二次开发 实时查看 NX 日志文件

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 感谢粉丝订阅 感谢 a18037198459 订阅本专栏,非常感谢。 简介 实时查看 NX 日志文件,有助于分析保存时间等。打开WindowsPowerShell并实时获取日志文件内容的小功能。 效果 代…

使用CMS后台资源,如何在小程序上不开调试模式能正常呈现出内容

配置合法域名 如何配置合法域名: 1.找到自己的合法域名:在微信开发者工具中“不勾选"不校验合法域名,就会看到报错说你的某个链接不是合法域名,那不就说明我们需要将这个链接设置为合法域名嘛。这就找到了我们的需要设置的…

二叉树;二叉树的前序、中序、后序遍历及查找;顺序存储二叉树;线索化二叉树

数组、链表和树存储方式分析 对于树结构,不论是查找修改还是增加删除,效率都比较高,结合了链表和数组的优点,如以下的二叉树: 1、数组的第一个元素作为第一个节点 2、数组的第二个元素3比7小,放在7的左边…

Win10系统2023年10月更新补丁(KB5031356)后 IE11无法打开使用解决办法

原因: 官方更新的最新系统补丁已经永久禁用IE11了 以下是官方说明: 最好的办法是: (已验证可行~) 1, 禁用系统自动更新 (注册表 或者 设置->更新->高级选项 等等 自行禁用掉系统自动更新即可) 2, 卸载禁用IE的更新补丁KB5031356 控制面板>程序>程序和功能>…

深入理解main函数

深入理解main函数 第三个参数指向环境变量

基于人工兔优化的BP神经网络(分类应用) - 附代码

基于人工兔优化的BP神经网络(分类应用) - 附代码 文章目录 基于人工兔优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.人工兔优化BP神经网络3.1 BP神经网络参数设置3.2 人工兔算法应用 4.测试结果&#x…