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