数据库
顾名思义:存放数据的仓库,它的作用:可以将内存的数据,存储到文件中
将数据的状态由 可变的状态,变为 持久化状态
首先:没学数据库之前,我们的数据都是放在JVM的内存中。内存有一个特点:
一关机就没了,什么东西可让它持久?硬盘上的东西,一般都是持久的
所以,此时就需要让数据从内存中,可以迁移到硬盘的文件中去,变的可持久化
数据库的分类
关系型数据库(Relational Database):
关系型数据库:关注于数据和数据之间的关系,或者表和表之间的关系
常见:MYSQL Oracle SQLServer(微软) DB2(微软) pgSQL……
它的结构:表和表的结构
用法:需要编写SQL语句
存储:更多是以文件的方式来进行存储
非关系型数据库(NO Relational Database):
非关系型数据库:不关注于数据和数据之间的关系,它更看重数据的存储
常见:Redis Memcache HBase MongoDB……
它的结构:key - value
用法:不需要编写SQL语句
存储:更多的是以内存为主,文件为辅助的方法来存储
表(table)
表:是专门用来放置数据的一种文件,例如:Excel表格
当然,我们也不会将所有的数据,都放置在同一个表格中,所以,以后可能存在很多的表格
表中的数据以行和列的方式来进行存在
表中的一行,就代表一条数据 — 就是一个Java类的实例
每一列,代表的是那一条数据的某一个属性(字段) — 就是那个实例的属性
SQL 结构化查询语言
结构化查询语言(Structured Query Language),它跟JAVA一样,同样是一种编程语言,只不过它是专门用来和关系型数据库进行交互的一种语言。
RDBMS
Relational Database Management System (关系型数据库管理系统)
这种管理系统的责任:负责对数据库中的表进行 数据的读写
我们现在常用的说法: 数据库 === RDBMS
也就是:MYSQL ORACLE DB2 SQLSERVER ……
存储引擎
RDBMS中提供了很多种操作表的方式,每一种不同的方式,都有独特的特点:
像MySQL中常见的存储引擎:InnoDB MyIsam
InnoDB : 支持事务 操作就很慢(1000W 耗时30分钟)
MyIsam : 不支持事务 操作就飞快(1000W,耗时6分钟)
