什么是数据库
数据库是按照数据结构来组织、存储和管理数据的仓库,用户可以通过数据库管理系统对存储的数据进行增删改查操作。
数据库实际上是一个文件集合,本质就是一个文件系统,以文件的方式,将数据保存在电脑上。
什么是数据库管理系统
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
数据库、数据库管理系统、数据库管理工具之间的关系
- 数据库是存储和管理数据的仓库;而这个“数据库”是理论上的
- 要在计算机上实现存储和管理数据的操作靠的是数据库管理系统,MySQL就是其中一款
- SQL是我们用来和数据库管理系统对话的语言
- Workbench是MySQL的官方数据库管理工具,能让对数据库管理系统的操作更简单。
为什么使用数据库
从数据存储方式比较
优点:
- 相比内存,数据库中的数据可以永久保存
- 相比文件(Excel),海量数据存储时,提供不错的查询效率
缺点 :占用资源(重型武器) ,有些数据库需要付费
使用数据库可以高效且条理分明地存储数据,它使人们能够更加迅速和方便地管理数据,主要体现在以下几个方面。
1、数据库可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。
数据库可以对数据进行分类保存,并且能够提供快速的查询。例如,我们平时使用百度搜索内容时,百度也是基于数据库和数据分类技术来达到快速搜索的目的。
2、数据库可以有效地保持数据信息的一致性、完整性、降低数据冗余。
可以很好地保证数据有效、不被破坏,而且数据库自身有避免重复数据的功能,以此来降低数据的冗余。
3、数据库可以满足应用的共享和安全方面的要求,把数据放在数据库中在很多情况下也是出于安全的考虑。
例如,如果把所有员工信息和工资数据都放在磁盘文件上,则工资的保密性就无从谈起。如果把员工信息和工资数据放在数据库中,就可以只允许查询和修改员工信息,而工资信息只允许指定人(如财务人员)查看,从而保证数据的安全性。
4、数据库技术能够方便智能化地分析,产生新的有用信息。
例如,超市中把物品销售信息保存在数据库中,每个月销售情况的排名决定了下半月的进货数量。数据库查询的结果实际上产生了新的数据信息。
数据库特征
-
表
- 表是包含数据库中所有数据的数据库对象,由行和列组成(二维表格模型,就类似于Sheet),用于组织和存储数据。
-
字段
-
表中每一列称为一个字段,字段有自己的属性,如字段类型、字段大小等。其中,字段类型是字段最重要的属性,它决定了字段能够存储哪种数据。
和Excel不同,这里针对列(字段要求比较严格),该列存储什么类型数据,长度多少都应该提前(建表的时候)进行定义
-
-
索引
- 索引是一个单独的、物理的数据库结构。它是依赖于表建立,在数据库中使用索引,无须对整个表进行扫描,就可以找到需要的数据。
-
视图
- 视图是从一张或多张表中导出的表(也称虚拟表),是用户查看数据表中数据的一种方式。
-
记录
-
表的行(水平方向)。【注意】关系数据库必须以行为单位进行数据读写。
-
-
单元格
-
行列交汇处。【注意】与 Excel 不同,一个单元格只能输入一个数据。
-
数据库分类
数据库分为很多类型,这里简要介绍几种:
1、关系数据库
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。
用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。
比如下面这些数据库就是关系数据库:
MySQL(开源,广泛应用于中小型系统)
SQL Server(微软的产品,收费)
Oracle(个人使用不收费,商业用途收费;应用在大型的企业数据库领域)
2、非关系型数据库
NoSQL(非关系型数据库)NoSQL仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性。NoSQL是一项全新的数据库革命性运动,其拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
ACID 特性:
ACID是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)
非关系型数据库:如 MongoDB、Redis、Memcache、BigTable、Cassandra、CouchDB、Apache Cassandra、Dynamo、LevelDB。
3、检索型数据库
检索型数据库的典型代表Elasticseach,其应用场景搜索服务、日志分析,如文档基于ES 做全文检索、电商海量商品搜索。
典型搜索场景 Elasticseach具有高可用性、高扩展性、查询速度快、搜索功能强大等特点。
4、图形数据库
图形数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息。图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。
常见的图形数据库有Neo4j、ArangoDB,其应用于多对多关系数据库场景如社交关系网络。