初始数据库

news2024/11/24 9:19:27

华子目录

  • 什么是数据库
  • DBMS(数据库管理系统)
  • 数据库系统和文件系统的区别
    • 文件系统
    • 数据库系统
    • 对比区别
    • 优缺点总结
  • 常见数据库
    • 关系型数据库
      • ACID原则
      • 关系型数据库的优缺点
        • 优点
        • 缺点
    • 非关系型数据库
      • 存储方式
      • 常见的非关系型数据库
      • 非关系型数据库的优缺点
        • 优点
        • 缺点
  • DBMS支持的数据模型
    • 层次模型
    • 网状模型
    • 关系模型
    • 面向对象模型
    • 数据模型
  • 程序员对数据库的要求
  • 运维对数据库的要求
    • 数据库运维总结
  • 华子文案

什么是数据库

  • 数据:描述事物的符号记录,可以是数字,文字,图形,图像,声音,语言等,数据又多种形式,它们都可以经过==数字化(010101二进制组合)==后存入计算机
  • 数据库:存储数据的仓库,是长期存放在计算机内,有组织,可共享的大量数据的集合。数据库中的数据按照一定数据模型组织,描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享,总结为以下几点:
    • 数据结构化
    • 数据的共享性高,冗余度低,易扩充
    • 数据独立性高
    • 数据由DBMS统一管理和控制(安全性,完整性,并发控制,故障恢复)

DBMS(数据库管理系统)

  • 数据库系统成熟的标志就是数据库管理系统的出现。数据库管理系统(DataBase Management System,简称DNMS)是管理数据库的一个软件,它充当所有数据的知识库,并对它的存储,安全,一致性,并发操作,恢复和访问负责。是对数据库的一种完整和统一的管理和控制机制。数据库管理系统不仅让我们能够实现对数据的快速检索和维护,还为数据的安全性、完整性、并发控制和数据恢复提供了保证。数据库管理系统的核心是一个用来存储大量数据的数据库。
  • DBMS是所有数据的知识库,并对数据的存储,安全,一致性,并发操作,恢复和访问负责。
  • DBMS有一个数据字典(有时被称为系统表),用于存储它拥有的每个事物的相关信息,例如名字,结构,位置和类型,这种关于数据的数据也称为元数据(metadata)

数据库系统和文件系统的区别

文件系统

  • 文件系统: 文件系统是操作系统用于明确存储设备(常见的是磁盘)或分区上的文件的方法和数据结构;即在存储设备上组织和存储文件的方法操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

数据库系统

  • 数据库管理系统(Database Management System) 是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

对比区别

  • 1.管理对象不同:文件系统的管理对象是文件,并非直接对数据进行管理,不同的数据结构需要使用不同的文件类型进行保存(举例:txt文件和doc文件不能通过修改文件名完成转换;而数据库直接对数据进行存储和管理)
  • 2.存储方式不同:文件系统使用不同的文件将数据分类(.doc/.mp4/.jpg),并保存在外部存储上;数据库系统使用标准统一的数据类型进行数据保存(字母,数字,符号,时间)
  • 3.调用数据的方式不同:文件系统使用不同的软件打开不同类型的文件;数据库系统由DBMS统一调用和管理。
  • 在这里插入图片描述

优缺点总结

  • 由于 DBMS 的存在,用户不再需要了解数据存储和其他实现的细节,直接通过 DBMS 就能获取数据,为数据的使用带来极大便利。
  • 具有以数据为单位的共享性,具有数据的并发访问能力。 DBMS 保证了在并发访问时数据的一致性。
  • 低延时访问,典型例子就是线下支付系统的应用,支付规模巨大的时候,数据库系统的表现远远优于文件系统。
  • 能够较为频繁的对数据进行修改,在需要频繁修改数据的场景下,数据库系统可以依赖 DBMS 来对数据进行操作且对性能的消耗相比文件系统比较小。
  • 对事务的支持。 DBMS 支持事务,即一系列对数据的操作集合要么都完成, 要么都不完成。在DBMS上对数据的各种操作都是原子级的。

常见数据库

关系型数据库

  • 关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。 简单说,关系型数据库是由多张能互相联接的二维行列表格组成的数据库。
  • 关系模型就是指二维表格模型, 因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、MicrosoftAccess、MySQL、浪潮K-DB 、武汉达梦、南大通用、人大金仓等。
  • 实体关系模型简称 E-R 模型,是一套数据库的设计工具,他运用真实世界中事物与关系的观念,来解释数据库中的抽象的数据架构。实体关系模型利用图形的方式(实体-关系图)来表示数据库的概念设计,有助于设计过程中的构思及沟通讨论

ACID原则

  • 关系型数据库强调ACID规则
    (即:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)), 可以满足对事务性要求较高或者需要进行复杂数据查询的数据操作,而且可以充分满足数据库操作的高性能和操作稳定性的要求。并且关系型数据库十分强调数据的强一致性,对于事务的操作有很好的支持。关系型数据库可以控制事务原子性细粒度,并且一旦操作有误或者有需要,可以马上回滚事务

  • 原子性,事务里的所有操作要么全部做完,要么都不做。(一个事务要么完全提交要么完全回滚,不会结余二者之间)

    • 例:从A账户向B账户转1000元,往账户B加上1000,所以在此案例中必须具备原子性才能保证不出现意外问题。(原子性,一致性(不管谁发起转账以及是否成功A,B账户的存款总额不变))
  • 一致性,数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。(发起一个查询后不管数据发生多少变化,查询结果应当为发起查询时间一致的数据

  • 隔离性,是指并发的事务之间不会互相影响。(提交不同事务时显示的效果是串行的。换句话说,不同事务按照提交的先后顺序执行

  • 持久性一旦事务提交后,它所做的修改将会永久的保存在数据库上。

关系型数据库的优缺点

优点
  • 1.易于维护:都是使用表结构,格式一致;
  • 2.使用方便:SQL语言通用,可用于复杂查询;
  • 3.复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点
  • 1.读写性能比较差,尤其是海量数据的高效率读写;
  • 2.固定的表结构,灵活度稍欠;
  • 3.高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

非关系型数据库

  • 非关系型数据库,又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL( Structured QueryLanguage,结构化查询语言), 据维基百科介绍,NoSQL最早出现于1998 年,是由Carlo Storzzi最早开发的个轻量、开源、不兼容SQL 功能的关系型数据库,2009 年,在一次分布式开源数据库的讨论会上,再次提出了NoSQL 的概念,此时NoSQL主要是指非关系型、分布式、不提供ACID (数据库事务处理的四个基本要素)的数据库设计模式。同年,在亚特兰大举行的“NoSQL(east)”讨论会上,对NoSQL 最普遍的定义是“非关联型的”,强调Key-Value 存储文档数据库的优点,而不是单纯地反对RDBMS,至此,NoSQL 开始正式出现在世人面前。
  • 不遵循ACID原则
  • 使用范围:分布式数据库,近几年分布式数据库用的比较火的是redis

存储方式

  • 存储方式有更多的选择:"键-值"对存储,列存储,文档存储,图形数据库等,没有声明性查询语言,没有预定义的模式,非结构化和不可预知的数据,高性能,高可用性和可伸缩性。

常见的非关系型数据库

  • Redis, Amazon DynamoDB, Memcached,Microsoft Azure Cosmos DB和Hazelcast

非关系型数据库的优缺点

优点
  • 1.高可扩展性
  • 2.分布式计算
  • 3.低成本
  • 4.架构灵活
  • 5.没有复杂的关系
缺点
  • 1.没有标准化
  • 2.有限的查询功能

DBMS支持的数据模型

在这里插入图片描述

层次模型

若用来表示,层次模型是一棵倒立的树。在数据库中,满足以下条件的数据模型称为层次模型:

  • 有且仅有一个节点无父节点,这个节点称为根节点
  • 其他节点有且仅有一个父节点。桌面型的关系模型数据库
  • 在这里插入图片描述

网状模型

在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示非树型结构是很不直接的,网状模型则可以克服这一弊病。网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。

  • 允许一个以上的节点无父节点;
  • 一个节点可以有多于一个的父节点。
  • 在这里插入图片描述

关系模型

二维表的形式表示实体和实体之间联系的数据模型称为关系数据模型。从模型的三要素角度看,关系模型的内容为:

  • 数据结构:一张二维表格。

  • 数据操作:数据表的定义、检索、维护、计算等。

  • 数据约束条件:表中列的取值范围即域值的限制条件。

  • 在这里插入图片描述

面向对象模型

基于客户的想法和观点所形成的认识和抽象。

  • 实体(Entity):客观存在的、可以被描述的事物。例如员工、部门。

  • 属性(Attribute):用于描述实体所具有的特征或特性。如使用编号、姓名、工资等来属性来描述员工的特征。

  • 关系(Relationship):实体之间的联系。

    • 一对一: 人 和 身份证

    • 一对多: 班级 和 学生

    • 多对多: 学生 和 课程

数据模型

也叫关系模型,是实体、属性、关系在数据库中的具体体现。

  • 关系数据库:用于存储各种类型数据的”仓库”,是二维表的集合。
  • 表:实体的映射
  • 行和列:行代表一个具体的实体的数据。也叫一条记录。列是属性的映射,用于描述实体的。
  • 主键和外键。
    在这里插入图片描述

程序员对数据库的要求

  • 基本的SQL操作、CRUD操作

  • 多表连接查询、分组查询和子查询。

  • 常用数据库的的单行函数。

  • 常用数据库的基本命令。

  • 常用数据库的开发工具。

  • 事务概念。(小明给小红转账事件)

  • 索引、视图、存储过程(函数)和触发器。

运维对数据库的要求

  • 部署环境

  • 数据库安装、参数配置、权限分配

  • 备份/还原(全量备份,增量备份)

  • 监控

  • 故障处理

  • 性能优化

  • 容灾

  • 升级(设备的升级)/迁移(旧设备换新设备,也叫割接)

  • 系统用户反馈的数据库问题

数据库运维总结

  • 1.能不给数据库做的事情不要给数据库,数据库只做数据容器。
  • 2.对于数据库的变更必须有记录,可以回滚。

华子文案

许多人都习惯维护固有观念,但过于固步自封,绝不是件好事。
要知道,一个人真正的衰老,往往与年龄无关,而是从你丧失对新事物的好奇开始的。
让日子过得丰富多彩,保持积极开放的心态,多了解、多接触新生事物。
不要总是怀有偏见,更不要盲目抗拒,因为很多时候,你拒绝的可能不是一件事,而是通往新生活的一扇门。打开眼界,才能改变认知。
世界其实很精彩,就看你愿不愿走出来。

                                                                ----《告别闭塞,开放心态》

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

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

相关文章

OpenSSL:configure: error: OpenSSL library not found解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

MATLAB计算多边形质心/矩心

前言:不规则四边形的中心 不规则四边形的出心有多种定义,以下是最常见的三种: 1.重心:重心是四边形内部所有顶点连线交点的平均位置。可以通过求解四个顶点坐标的平均值来找到重心。 2.质心:质心是四边形内部所有质点…

网络原理-TCP/IP(5)

TCP协议 延迟应答 它也是基于滑动窗口,提高效率的一种机制,结合滑动窗口以及流量控制,能够以延迟应答ACK的方式,把反馈的窗口,搞大.核心在于允许范围内,让窗口尽可能大. 如果接收数据的主机立刻返回ACK应答,这时候返回的窗口可能比较小. 1.假设接收端缓冲区为1M.一次收到了5…

一站式SpringBoot学习平台:让编程变得轻松有趣!

介绍:Spring Boot是一个开源的Java框架,旨在简化Spring应用程序的开发和部署过程。 Spring Boot由Pivotal团队设计并推出,它的核心优势在于极大地简化了传统Spring应用的初始搭建和开发流程。具体来说,Spring Boot的主要特点包括&…

git 合并多条提交记录

我要合并多条提交记录(合并前7条为一条),实现如下效果: 使用git rebase // 查看前10个commit git log -10 // 将7个commit压缩成一个commit;注意:vim编辑器 git rebase -i HEAD~4 // add已经跟踪的文件 g…

C++11多线程:线程的创建及启动

文章目录 启动线程传递函数对象为参数传递成员函数为参数传递全局函数为参数传递lambda函数为参数也可调用std::thread的无参构造 join()、joinable()、detach() 等函数Join函数detach 函数joinable函数 Join函数到底干了什么?必须join或者detach吗?线程…

AI少女/HS2甜心选择2 仿碧蓝航线人物卡全合集打包

AI少女/HS2甜心选择2 仿碧蓝航线人物卡全合集打包 内含:埃吉尔 女仆装花园 新泽西 白雪之仪库尔斯克信浓泳装埃吉尔风纪委员大凤路易九世旗袍能代夜响的绝园英仙座 护士 下载地址: https://www.changyouzuhao.cn/13366.html

springboot153相亲网站

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

ONLYOFFICE 8.0 测评:重塑办公新标杆,你绝对不能错过的版本!

ONLYOFFICE 8.0 测评:办公新境界的全新突破 一、全新的界面设计二、可填写的 PDF 表单 免费表单模板三、双向文本四、电子表格中的新增功能五、协作功能升级六、跨平台性能优化七、强化安全性八、更丰富的插件生态九、辅助功能:优化的屏幕朗读器 随着科…

程序员阿宝过年-UMLChina建模知识竞赛第5赛季第5轮

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 参考潘加宇在《软件方法》和UMLChina公众号文章中发表的内容作答。在本文下留言回答。 只要最先答对前3题,即可获得本轮优胜。 如果有第4题,第4题为附加题&am…

Ubuntu+GPU搭建Stable-Diffusion教程

【前序】已经安装anaconda 1.git拉取项目到本地 执行git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 进入项目目录下 cd stable-diffusion-webui/ 2. 安装对应Python依赖包 首先安装pytorch和torchvision,若是GPU环境的用户需要安装与cu…

[基础IO]动静态库{创建/使用/加载}

文章目录 1.创建静态库2.使用静态库3.动态库 1.创建静态库 预备知识: gcc main.c mymath.c myprint.c -o my.exe / gcc main.o mymath.o myprint.o -o my.exe三个.c/.o文件可以编译成为可执行程序 编写源文件与头文件[库的源文件没有main函数]将所有的源文件编译生成.o文件。(…

电工需要掌握的电路

1、通用型变频器接线示意图 2、三线式运转控制台达正反转电路图 3、单相220V接线实物图、三相380V接线实物图 4、变频器操作面板功能介绍 5、风暖浴霸实物接线电路图 6、车辆出入门闸检测实物接线电路图 7、电位器实现两台变频器同步调频实物接线图 8、门禁系统是如何工作的实物…

解决zabbix图像中文乱码

使用zabbix查看监控图像信息,发现会有中文乱码现象。 解决方法如下: 1.拷贝windows文字文件到服务器上 C:\Windows\Fonts目录下拷贝自己需要的中文语言文件 2.修改配置文件 vim /usr/share/zabbix/include/defines.inc.php 81行 define(ZBX_GRAPH_F…

vue3接入微信扫码授权登录流程

一、概要 本篇主要介绍两点,相关文档请查阅微信开平台 准备工作 | 微信开放文档 微信开放平台的登录授权相关流程vue3如何接入微信开放平台的微信授权登录功能二、微信开放平台的登录授权相关流程 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应…

6个.NET开源且强大的快速开发框架(帮助你提高生产效率)

中台Admin(Admin.Core) 中台Admin(Admin.Core)是前后端分离权限管理系统,前端 UI 基于Vue3开发,后端 Api 基于.NET 8.0开发。支持多租户、接口权限、数据权限、动态 Api、任务调度、OSS 文件上传、滑块拼图…

格式化日期注解@JsonFormat的使用和TimeZone时区问题

JsonFormat的使用 目的 为了便于date类型字段的序列化和反序列化,需要在数据结构的Date、Timestamp、DateTime类型的字段上用JsonFormat注解进行注解 使用 JsonFormat注解是一个时间格式化注解,比如我们存储在mysql中的数据是date类型的,当…

qml为程序设置图标(100%成功!3步搞定!)

步骤1 打开 CMakeLists.txt 文件,在 main.cpp 这行代码下面,添加一句:icon.rc。 步骤2 此时 icon.rc 这个文件还不存在,我们需要在目录中新建一个 .txt 文件,然后把文件名和后缀名改为 icon.rc。 步骤3 在 Qt Creat…

华为通过流策略实现策略路由(重定向到不同的下一跳)

通过流策略实现策略路由(重定向到不同的下一跳) 组网图形 图1 配置策略路由组网图 策略路由简介配置注意事项组网需求配置思路操作步骤配置文件 策略路由简介 传统的路由转发原理是首先根据报文的目的地址查找路由表,然后进行报文转发。但…

父类之王“Object”类和内部类

👨‍💻作者简介:👨🏻‍🎓告别,今天 📔高质量专栏 :☕java趣味之旅 欢迎🙏点赞🗣️评论📥收藏💓关注 💖衷心的希…