初识数据库|数据库的特点、分类以及作用

数据库系统(DateBase System,简称DBS)是指在计算机系统中引入数据库后的系统构成,由计算机硬件,操作系统,DBMS,DB,应用程序和用户以及数据库开发和管理人员等组成。

(一)数据库的4大特点

1、整体数据结构化;

2、数据的共享度高;

3、数据的独立性高;

4、高度的数据控制能力

1.1整体数据结构化

数据库中的任何数据都不属于任何应用,数据是公共的,结构是全面的。在数据库中,数据文件的个数是有限的,固定的,但数据库系统的应用却是无限制的。

好处:整体数据的结构化可减少乃至消除不必要的数据冗余,因此节约了整体数据的存储空间,避免了数据的不一致性和不相容性(数据不符合规定的约束条件)。


1.2数据的共享度高

数据与数据的逻辑结构同时存储在数据库中,显示数据时,可同时显示数据的逻辑结构;整个组织的整体数据被综合考虑,整体数据结构化。因而,DBS的数据共享度较高。

好处:合法用户都可以方便的访问使用数据库中的数据,且不用担心出现数据的不一致性和不相容性。数据库中的数据可适应各种合法用户的合理要求以及各种应用的要求,可以方便的扩充新的应用。

1.3数据的独立性高

数据的独立性是指数据与应用程序之间的关联性。数据与数据的结构是存储在数据库中的(在外存上),由DBMS管理的。应用程序既不存储数据,也不存储数据的逻辑结构。

物理独立性:数据库中数据的世纪存储方式改变时,DBMS可以适当改变转换数据的方式,使用户面对数据的逻辑结构保持不变,从而处理数据的应用程序也保持不变。

逻辑独立性:数据库中数据的逻辑结构发生变化时,DBMS可以适当改变数据的转换方式,用户面对数据的逻辑结构保持不变。

好处:数据与程序相互独立,可以方便的编制各种应用程序,大大减轻应用程序的维护工作。

1.4 高度的数据控制能力

a,较高的安全性

b,较好的数据完整性

c,较强的并发控制能力

d,较强的数据恢复能力

(二)数据库分类

数据库分类有很多种,我们来看看常见的几种类别,比如说关系型数据库、文档数据库等。

2.1关系型数据库

关系型数据库管理系统(RDBMS)是最主流的数据库类型,它们使用关系(表)模型存储数据。表的模式由表名和固定数量的字段组成,一个记录(实体)对应表中的一行,由多个属性值组成。关系实际上就是一组结构统一的记录。

关系型数据库的表结构设计通常使用规范化技术,关系支持的基本操作包括:

  • 集合操作(并集、交集、差集);

  • 选择操作(基于指定条件选择表中记录的子集);

  • 投影操作(选择属性/字段的子集);

  • 连接操作(基于多个表的笛卡尔积以及选择和投影操作)。

关系型数据库使用 SQL 执行数据操作,包括表的管理、事务控制以及用户管理等。

经过多年的发展,许多 RDBMS 不仅仅支持关系模型,同时也提供了用户自定义类型、非原子属性(XML、JSON、数组等)、继承等扩展功能。

常见的关系型数据库包括:

  • Oracle

  • MySQL

  • Microsoft SQL Server

  • PostgreSQL

  • IBM Db2

  • Microsoft Access

  • SQLite

  • Snowflake

2.2文档数据库

文档存储(Document stores),也称为面向文档的数据库系统,主要特点在于无模式(schema-free)的数据结构。无模式意味着:

  • 集合(表)中的记录(行)不需要定义统一的结构,每个记录可以包含不同的属性(字段);

  • 每个记录中的各个字段的数据类型可以不同;

  • 一个字段可以包含多个值(数组);

  • 记录可以包含嵌套结构。

文档存储通常使用内部注解,可以在应用程序中直接进行处理。最常见的存储方式是 JSON。

常见的文档数据库包括:

  • MongoDB

  • Amazon DynamoDB

  • Databricks

  • Microsoft Azure Cosmos DB

  • Couchbase

2.3时序数据库

时序数据库(Time Series DBMS)是专门为了存储时间序列数据而进行优化的数据库管理系统。时序数据的每一条记录都包含了一个时间戳信息,来源包括物联网中的传感器、智能电表、RFID 等设备,以及股票交易系统中的交易数据。

常见的时序数据库包括:

  • InfluxDB

  • Kdb

  • Prometheus

  • Graphite

  • TimescaleDB

2.4图数据库

图数据库(Graph DBMS),也称为面向图的数据库,以图(节点和边)结构表示数据。它们支持图数据的处理,以及图中具体属性的计算,例如从一个节点到另一个节点的路径。

图数据库通常不会提供所有节点的索引,因此无法直接基于属性访问节点。

常见的图数据库包括:

  • Neo4j

  • Microsoft Azure Cosmos DB

  • Virtuoso

  • OrientDB

  • ArangoDB

  • Amazon Neptune

2.5搜索引擎

搜索引擎是专门用于搜索文本内容的一类 NoSQL 数据库。除了针对搜索应用的通用优化之外,这类系统还提供了一些功能:

  • 支持复杂搜索条件

  • 全文搜索

  • 词干提取

  • 搜索结果排名和分组

  • 支持高扩展性的分布式搜索

常见的搜索引擎包括:

  • Elasticsearch

  • Splunk

  • Solr

  • OpenSearch

  • Sphinx

2.6对象数据库

对象数据库(Object oriented DBMS),也称为面向对象的数据库,设计目标是在数据库中以面向对象编程语言相同的方式存储对象,从而避免关系型数据库中的转换和分解。另外,对象之间的关系(例如继承)也是在数据库内部进行维护。

对象数据库通常使用类似 SQL 的查询语言操作对象。

由于近年来许多关系型数据库引入了面向对象的功能,例如自定义数据类型和属性;同时开发工具和框架(Hibernate、JPA 等)支持对象和关系之间的转换,对象数据库的应用并不常见。

常见的对象数据库包括:

  • InterSystems IRIS

  • InterSystems Caché

  • Db4o

  • ObjectStore

  • Actian NoSQL Database

2.7RDF存储

RDF(资源描述框架)是一种描述信息的方法论,最初用于描述 IT 资源的元数据,如今应用更加广泛,通常与语义网相结合。

RDF 模型以主-谓-宾的形式将信息表示为三元组,能够存储和处理这种三元组的数据库管理系统被称为 RDF 存储或者三元存储。RDF 存储可以看着图数据库的一个子类,谓词可以解释为主语和宾语之间的联系。但是 RDF 存储提供了一些额外的访问方法,例如类似 SQL 的查询语言 SPARQL。

常见的 RDF 存储数据库包括:

  • MarkLogic

  • Apache Jena - TDB

  • Virtuoso

  • Amazon Neptune

  • GraphDB

2.8宽列存储

宽列存储(Wide column stores),也称为可扩展记录存储,以记录的方式存储数据,支持超大数量的动态字段功能。由于字段名和记录的键不固定、而且记录可以包含数十亿个字段,宽列存储可以被看作二维键值存储。

宽列存储也具有文档数据库的无模式特性,但是实现方式完全不同。

不要将宽列存储和关系型数据库中的面向列的存储混淆,后者是关系型数据库或者数据仓库中为了改进分析性能而实现的存储方式,它们将不同记录的相同列存储在一起,而不是将同一个记录的不同字段存储在一起。

常见的宽列存储数据库包括:

  • Cassandra

  • Microsoft Azure Cosmos DB

  • HBase

  • Google Cloud Bigtable

2.9多值数据库

多值数据库(Multivalue DBMS)与关系型数据库类似,也是以表的形式存储数据。但是,多值数据库可以为记录的一个属性(字段)指定多个值。这种存储类型违反了第一范式,因此它们也被称为非第一范式(NF2)系统。

某些关系型数据库扩展了多值属性(例如数组)功能,例如 PostgreSQL。

常见的多值数据库包括:

  • Adabas

  • UniData,UniVerse

  • jBASE

2.10向量数据库

向量数据库(Vector DBMS)是专门用于高效存储、索引以及查询高维向量数据的软件系统。它们使用特殊的算法和数据结构,支持相似性搜索,通常用于 AI 机器学习、数据挖掘等领域。

常见的向量数据库包括:

  • Kdb

  • Chroma

  • Pinecone

  • Milvus

(三)数据库的作用

可能很多人会问:我的数据就存放在自己电脑的excel表里不就可以了,为什么还要搞个数据库呢?

这是因为数据库比excel有更多的优势。比如数据库可以存放大量的数据,允许很多人同时使用里面的数据。下面我们来看下数据库的三个重要价值:

3.1首先,方便用户存储、访问数据

数据库可以存储大量的数据信息,方便用户进行有效的访问。数据库还可以对数据进行分类保存,并且能够提供快速的查询。例如:我们平时使用谷歌搜索内容时,谷歌也是基于数据库和数据分类技术来达到快速搜索的目的。

图片

3.2帮助我们安全的保存数据

数据库可以满足应用的共享和安全方面的要求,把数据放在数据库中在很多情况下也是出于安全的考虑。例如:如果一个公司把员工所有资料都放在电脑上,资料的保密性就不是很好了。如果把员工的资料存到数据库中,就可以设置一些权限,从而保证数据的安全性。

3.3利用数据库可以进行数据分析,提升数据价值

例如:超市中把物品销售信息保存在数据库中,每个月销售情况的排名决定了下半月的进货数量。数据库查询的结果实际上产生了新的数据信息。

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

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

相关文章

C#基础语法学习笔记(传智播客学习)

最近在学习C#开发知识,跟着传智播客的视频学习了一下,感觉还不错,整理一下学习笔记。 C#基础语法学习笔记 1.背景知识2.Visual Studio使用3.基础知识4.变量5.运算符与表达式6.程序调试7.判断结构8.循环结构9.常量、枚举类型10.结构体类型11.数…

[BT]BUUCTF刷题第一天(3.19)

第一天(共4题) Web [极客大挑战 2019]EasySQL Payload: 用户名:admin or 11# (密码也可以改成这个) 密码:1(可任意) 网站漏洞代码: sql"select *…

Android和IOS Flutter应用开发使用 Provider.of 时,可以使用 listen: false 来避免不必要的重建

文章目录 listen: false解释示例 listen: false 使用 Provider.of 时,可以使用 listen: false 来避免不必要的重建 解释 当您使用 Provider.of 获取状态对象时,默认情况下,该对象每次发生变化时都会触发重建该对象所在的组件。这在大多数情…

云平台一键迁移(腾讯云windos服务器迁移到阿里云windos服务器)

参考文档 https://help.aliyun.com/zh/smc/use-cases/one-click-cloud-platform-migration 迁移文档 https://cloud.tencent.com/document/product/598/37140 #腾讯密钥创建 https://cloud.tencent.com/document/product/1340/51945 安装腾讯云自动化服务助手 一.导入迁移…

adb的使用(安装apk和传输文件)

adb命令安装apk包 先传apk adb pull /tmp/app-test.apk /data/local/tmp/ 指定文件安装 adb install apk路径 adb命令传输文件 1.从手机端将文件传输到电脑 1)在电脑端打开文件将要存储的路径,按住shift键右击,选择“在此处打开命令窗口…

GitHub gpg体验

文档 实践 生成新 GPG 密钥 gpg --full-generate-key查看本地GPG列表 gpg --list-keys关联GPG公钥与Github账户 gpg --armor --export {key_id}GPG私钥对Git commit进行签名 git config --local user.signingkey {key_id} # git config --global user.signingkey {key_id} git…

JVM常用垃圾收集器

JVM 4.1 哪些对象可以作为GC ROOT? 虚拟机栈(栈帧中的局部变量表)中引用的对象本地方法栈中引用的对象方法区静态变量引用的对象方法区常量引用的对象被同步锁持有的对象JNI(Java Native Interface)引用的对象 4.2 常用垃圾收集…

计算机二级(Python)真题讲解每日一题:《方菱形》

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬ 请写代码替换横线&#xff0…

golang踩坑记录

1. server gave HTTP response to HTTPS client 出现场景,http包get请求https的 原代码 response, err : http.Get(fmt.Sprintf("https://%v/api/user/secret/?name%v&password%v", djang_ip, username, password))修改后 有地方说go的版本问题&…

accessToken

1、介绍 accessToken,通常是用于身份验证和授权的令牌,它可以用于前端和后端,具体使用方式取决于应用程序的架构和需求。 前端应用 accessToken通常用于向后端API发送请求时进行身份验证和授权。 (1)前端应用程序会在用户登录成…

boost的ptree比qt的接口更适合读写xml,因为它舍弃了结点属性,里面只有根节点和子节点,显得更简洁

就6个接口&#xff1a; 写xml文件 boost::property_tree::ptree 动物园; add<std::string>("名字", "苹果"); add_chile("水果类型",水果);// 读取 XML 文件 boost::property_tree::read_xml("example.xml", pt); get_child()&…

描述我处理过的一个性能优化问题如何实现Web应用的负载均衡?

一、描述我处理过的一个性能优化问题 在我过去的工作经历中&#xff0c;我遇到并成功解决了一个性能优化问题。这个问题发生在一个电商网站的后台管理系统中&#xff0c;当管理员尝试查询大量订单数据时&#xff0c;系统的响应速度非常慢&#xff0c;有时甚至导致页面超时或崩…

SpringCloud入门(1) Eureka Ribbon Nacos

这里写目录标题 认识微服务SpringCloud 服务拆分和远程调用服务拆分案例实现远程调用 RestTemplate Eureka注册中心Eureka的结构和作用搭建eureka-server服务注册服务发现 Ribbon负载均衡 LoadBalancedLoadBalancerIntercepor源码解析负载均衡策略饥饿加载 Nacos注册中心安装与…

不同环境迁移和hive等不同数据源迁移数据到Doris的解决方案

1、Doris不同开发环境迁移 在项目开发时,需要开发环境、测试环境、uat环境、预生产环境、生产环境。常常遇到这样的场景:需要把某个环境的所有表结构和数据都迁移到某个环境。手动去操作是耗时耗力的,这时需要通过代码或工具来高效执行。 1.1 使用代码进行迁移表结构 /***…

PySpark案例实战

一、前言介绍 二、基础准备 # 导包 from pyspark import SparkConf,SparkContext #创建SparkConf类对象 confSparkConf().setMaster("local[*]").setAppName("test_spark_app") #基于SparkXConf类对象创建SparkContext对象 scSparkContext(confconf) #打印…

GC垃圾回收的算法

GC&#xff08;垃圾回收&#xff09;的算法有多种&#xff0c;每种都有其特点和适用场景。以下是一些常见的GC算法&#xff0c;并举例进行说明&#xff1a; 引用计数算法&#xff1a; 原理&#xff1a;为每个对象维护一个引用计数器&#xff0c;每当有一个地方引用这个对象时&a…

Arduino RP2040 多核心运行模式

Arduino RP2040 多核心运行模式 &#x1f4cc;RP2040基于Earle F. Philhower, III的开发核心固件&#xff1a;https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json&#x1f388;相关开发文档在线j简要介绍&#xff1a;https:/…

深入理解栈和队列(一):栈

个人主页&#xff1a;17_Kevin-CSDN博客 专栏&#xff1a;《数据结构》 一、栈的概念 栈&#xff08;Stack&#xff09;是一种特殊的线性表&#xff0c;它遵循后进先出&#xff08;Last-In-First-Out&#xff0c;LIFO&#xff09;的原则。栈可以被看作是一个只能在一端进行操作…

【python】爬取杭州市二手房销售数据做数据分析【附源码】

一、背景 在数据分析和市场调研中&#xff0c;获取房地产数据是至关重要的一环。本文介绍了如何利用 Python 中的 requests、lxml 库以及 pandas 库&#xff0c;结合 XPath 解析网页信息&#xff0c;实现对链家网二手房销售数据的爬取&#xff0c;并将数据导出为 Excel 文件的过…

多特征变量序列预测(11) 基于Pytorch的TCN-GRU预测模型

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…