数据库入门

发布于:2022-11-27 ⋅ 阅读:(490) ⋅ 点赞:(0)

一、什么是数据库

数据库(DB,DataBase)

是存放数据的仓库,是长期储存在计算机内、有组织的、可共享的大量数据的集合。/

数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

二、为什么要使用数据库?

结构化编辑

数据库系统实现了整体数据的结构化,这是数据库的最主要的特征之一。这里所说的“整体”结构化,是指在数据库中的数据不再仅针对某个应用,而是面向全组织;不仅数据内部是结构化,而且整体式结构化,数据之间有联系。

共享性编辑

因为数据是面向整体的,所以数据可以被多个用户、多个应用程序共享使用,可以大大减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。

三、什么是数据库管理系统

数据库管理系统(DBMS,DataBase ManagementSystem)

是位于用户与操作系统之间的一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。

简单来说,用户不可直接通过操作系统访问数据库文件中的数据,需要通过DBMS(调用操作系统的进程管理、内存管理、文件管理、设备管理等服务)进行访问

(其实我们平时说的数据库是指数据库管理系统)

四、数据库有哪些类型

大类可分为两类:

①关系型数据库:关系型数据库中表与表之间有很多复杂的关联关系。适用于轻量或者小型的应用

②非关系型数据库(NoSQL):指分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。适用于数据规模海量需要可扩展性、业务多变的应用场景

1、关系型数据库

形态:可以理解为二维表;

操作方式:通常用SQL对数据库进行操作,对数据的操作可建立在一个或多个表格上,通过对这些表格进行分类、合并、连接或选取等运算来实现数据库的管理。

常见的数据库管理系统:

(几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。)

数据库名称 开发团队  优点 缺点 补充说明
MySQL - 开源、轻量、成本低 在General Public License的许可下下载即可调整
Oracle 甲骨文 性能高、安全性高 对硬件要求高、管理维护和操作复杂、价格贵 一般应用于银行、进入、保险等
SQL Server 微软 效率高、与Windows操作系统紧密集成 开放性弱 -

2、键值存储数据库

常见的数据库管理系统:

数据库名称 是否开源 特点 作用 优点 缺点
Redis 开源 使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API 通常作为普通关系型数据库的缓存层,用于降低数据库的访问压力,提升系统性能 查询效率高 需要存储数据之间的关系
Mencached 开源

value除了php中的资源不能存,其它的数据都能存储(字符串,数值,数组,对象,布尔值

,null,二进制<图片,视频>)

.高性能分布式缓存服务器(缓存数据库查询结果,减少数据库访问次数)

缓存读取/写入过程 : 首次访问 : 从RDBMS中取得数据保存到memcached;第二次后 : 从memcached中取得数据显示页面.

查询效率高 动态视图较弱

3、列存储数据库

常见的数据库管理系统:

数据库名称 是否开源 特点 作用
HBase 开源 使用java语言编写、是建立在 HDFS 之上,提供高可靠性、高性能、列存储、 可伸缩、实时读写 NoSQL 的数据库系统 数据存储量大,主要用来存储海量的业务数据和日志数据

4、面向文档数据库

常见的数据库管理系统:

数据库名称 特点 优点 缺点
MongoDB 其介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 分布式部署,可以随着负载的增大动态扩容,从而满足企业业务增长的需求 由于对数据结构要求不太严格,所以缺少统一查询语言、查询性能不好
CouchDB 存储半结构化的数据,比较类似lucene的index结构,特别适合存储文档,因此很适合CMS,电话本,地址本等应用 开箱即用安全,复制形式简单 动态查询较弱

 5、图形数据库

常见的数据库管理系统:

数据库名称 概述 补充说明 缺点
Neo4j Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cypher已经成为事实上的标准。支持Python和Java应用程序 支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置属性,顶点也称作节点,边也称作关系,每个节点和关系都可以由一个或多个属性 户手动为新边线设置索引机制,方便性较弱

最后,附上相对应的三种数据类型基础入门知识:

结构化数据(行数据,存储在数据库里,可以用二维表结构进行逻辑表达实现的数据,如关系型数据库的数据)

半结构化数据(介于完全结构化数据和完全无结构的数据之间的数据,如HTML,JSON,XML)

非机构化数据(没有固定结构的数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息)

拓展:

数据库
数据库是一个容器,包含了很多数据,当然这些数据可能存在不同的小容器(表)里面。
若用水来形容数据,数据库就是水库。

数据源
数据源是连接到数据库的一类路径,它包含了访问数据库的信息(地址、用户名、密码)。
数据源就像是排水管道。

数据库连接
数据库连接是根据数据源产生的实际连接上数据库的路径。
数据库连接就像是管道里面的水管,这些水管都按照管道(数据源)的配置访问数据库。当打开了数据连接的时候,就像是打开了水管一样。

数据库连接池
每个数据源可能会配置数据库连接池,就像是排水管道的自动化系统。
数据库连接池的作用就是维护数据库连接,减少创建和删除数据库连接的操作,来达到减少数据访问时耗的目的。


https://blog.csdn.net/qq_31729917/article/details/104210499