初始数据库

华子目录

  • 什么是数据库
  • 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.对于数据库的变更必须有记录,可以回滚。

华子文案

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker 构建个人博客网站

1、项目地址 https://gitee.com/hhll/blog-hangliang.git 2、打包docker镜像并上传docker hub 【1】注册docker hub账号https://hub.docker.com/ 【2】在docker hub建对应的仓库 【3】登录docker hub并打包上传前后端镜像 sudo docker login -u xxxx 密码 xxxxxx 后端&am…

Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(五)

原文:Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 译者:飞龙 协议:CC BY-NC-SA 4.0 第十二章:使用 TensorFlow 进行自定义模型和训练 到目前为止,我们只使用了 TensorFlow 的高级 API&#…

栈--数据结构

初始化栈、入栈、出栈 栈&#xff1a;只允许在一端进行插入或删除操作的线性表 栈顶&#xff08;Top&#xff09; 代码实战步骤依次是初始化栈&#xff0c;判断栈是否为空&#xff0c;压栈&#xff0c;获取栈顶元素&#xff0c;弹栈。 代码 #include <stdio.h>#define …

安卓平台valgrind交叉编译

背景 通过上次的文章valgrind跨平台调试及其问题分析,为同事们在大部分平台下进行内存问题分析提供了帮助。但是也遇到了阻塞情况&#xff1a;android 平台&#xff0c;无法交叉编译通过。大家对于编译这件事&#xff0c;似乎天然有一种排斥&#xff0c;本能的拒绝&#xff0c…

微信小程序checkbox多选

效果图 <view class"block"><view class"header"><view class"header-left"><text class"pu-title">数据</text><text class"pu-tip">至少选择一个指标</text></view>&l…

JS 基本语句

函数调用&#xff0c;分支&#xff0c;循环&#xff0c;语句示例。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…

如何在Vue应用程序中使用Vue-Router来实现路由嵌套动画效果

Vue-Router是Vue.js官方的路由管理插件&#xff0c;可以帮助我们轻松管理应用程序的路由。除了基本的路由功能外&#xff0c;Vue-Router还允许我们在切换路由时添加动画效果&#xff0c;提升用户体验。本文将介绍如何使用Vue-Router来实现路由嵌套动画效果&#xff0c;并提供具…

vscode 括号 python函数括号补全

解决方法 在setting.json中添加 “python.analysis.completeFunctionParens”: true 打开设置&#xff1b; 点击图中按钮打开setting.json文件 添加 “python.analysis.completeFunctionParens”: true

在 iOS 上安装自定企业级应用

了解如何安装您的组织创建的自定应用并为其建立信任。 本文适用于学校、企业或其他组织的系统管理员。 您的组织可以使用 Apple Developer Enterprise Program 创建和分发企业专用的 iOS 应用&#xff0c;以供内部使用。您必须先针对这些应用建立信任后&#xff0c;才能将其打…

电气器件系列四十六:固态继电器规格参数

ssr选型的时候&#xff0c;要和温控器的参数对应起来&#xff0c;我选的温控器&#xff08;ai-207d1g&#xff09;上&#xff0c;明确给出了给ssr的电压数据&#xff08;5vdc&#xff0c;30ma&#xff09;&#xff0c;买的这个ssr(ssr40n)是3-32v&#xff0c;8ma的. 关断电压&a…

Elasticsearch:使用 Inference API 进行语义搜索

在我之前的文章 “Elastic Search 8.12&#xff1a;让 Lucene 更快&#xff0c;让开发人员更快”&#xff0c;我有提到 Inference API。这些功能的核心部分始终是灵活的第三方模型管理&#xff0c;使客户能够利用当今市场上下载最多的向量数据库及其选择的转换器模型。在今天的…

IDEA如何进行远程Debug调试(二)解决jar包运行报错的问题

一、解决jar包运行报错的问题 上文提到在进行debug远程调试的时候&#xff0c;打包后的jar包本地无法运行&#xff0c;报如下的错误 ​​​​​​​IDEA如何进行远程Debug调试-CSDN博客 查看报错是找不到对应的类&#xff0c;那么我们使用jd-gui的反编译工具&#xff0c;看看…

Linux的库文件

概述&#xff1a; 库文件一般就是编译好的二进制文件&#xff0c;用于在链接阶段同目标代码一块生成可执行文件&#xff0c;或者运行可执行文件的时候被加载&#xff0c;以遍调用库文件中的某段代码。 动态链接都是索引的.so文件&#xff0c;静态链接都是压缩打包的.a文件。 …

机器学习本科课程 大作业 多元时间序列预测

1. 问题描述 1.1 阐述问题 对某电力部门的二氧化碳排放量进行回归预测&#xff0c;有如下要求 数据时间跨度从1973年1月到2021年12月&#xff0c;按月份记录。数据集包括“煤电”&#xff0c;“天然气”&#xff0c;“馏分燃料”等共9个指标的数据&#xff08;其中早期的部分…

Electron实战(一):环境搭建/Hello World/打包exe

文章目录 Electron安装Node.jsNodeJs推荐配置开始Electron项目创建index.js文件创建src目录运行打包生成exe生成安装包踩坑 下一篇Electron实战(二)&#xff1a;将Node.js和UI能力&#xff08;app/BrowserWindow/dialog)等注入html Electron Electron是一个使用JavaScript, HT…

ubuntu 18.04修改网卡名称

1.原来网卡配置 现在要把enp3s0的名称改为eth0 2. 总共修改三个文件 第一个修改 sudo vi /etc/default/grub 添加最后一行 GRUB_CMDLINE_LINUX"net.ifnames0 biosdevname0" 第二个修改sudo vi /etc/udev/rules.d/70-persistent-net.rules 如果没有就新建文件&a…

Sqli靶场23-->30

不知不觉鸽了几天了&#xff0c;没办法去旅游摸鱼是这样的了&#xff0c;抓紧时间来小更一下 23.过滤注释符号 先手工注入一下&#xff0c;就能发现两个单引号不报错&#xff0c;但是一旦上到注释符号的话就会报错&#xff0c;可以猜测出是对注释符号进行了过滤&#xff0c;我…

SQL--图形化界面工具

1.图形化界面工具 上述&#xff0c;我们已经讲解了通过DDL语句&#xff0c;如何操作数据库、操作表、操作表中的字段&#xff0c;而通过DDL语句执 行在命令进行操作&#xff0c;主要存在以下两点问题&#xff1a; 1).会影响开发效率 ; 2). 使用起来&#xff0c;并不直观&…

YOLOv5改进 | 损失函数篇 | 更加聚焦的边界框损失Focaler-IoU | 二次创新Inner-FocalerIoU

一、本文介绍 本文给大家带来的改进机制是更加聚焦的边界框损失Focaler-IoU以及我二次创新的InnerFocalerIoU同时本文的内容支持现阶段的百分之九十以上的IoU,比如Focaler-IoU、Focaler-MpdIoU、Innner-Focaler-MpdIoU、Inner-FocalerIoU包含非常全的损失函数,边界框的损失函…

4.0 HDFS 配置与使用

之前提到过的 Hadoop 三种模式&#xff1a;单机模式、伪集群模式和集群模式。 单机模式&#xff1a;Hadoop 仅作为库存在&#xff0c;可以在单计算机上执行 MapReduce 任务&#xff0c;仅用于开发者搭建学习和试验环境。 伪集群模式&#xff1a;此模式 Hadoop 将以守护进程的…