今天开启开发中的一个很深也很重要的坑 - 数据库,java开发中最常使用的数据库就是关系型数据库,而关系型数据库中使用最多的一款数据库就是MySQL数据库,今天就对此做一个初步的梳理了解。
一、数据库
1.1、什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。在开发中,主要是由后端跟数据库进行交互,是数据持久化(术语:即将数据存储在硬盘上)的一种重要的形式,比如系统的用户名和密码就需要存储持久化存储,数据库可以满足这一要求。
1.2、为什么叫关系型数据库
关系型是指数据的存储结构,数据库中的每一个表是一个实体(或一个对象),表与表之间存在某种或几种关系,以医院管理系统为例,数据库中可能有医生表、药品表、处方表、患者表等,而它们之间的关系可以表示为:医生给某一患者开的药方上有某种或几种药品,这种关系可以通过主键和外键(术语:数据库中表示关系的一种常用的方法)进行关联。
1.3、还有什么类型的数据库?
非关系型:代表为MongoDB,数据以json文件形式存储,适合业务更灵活的场景。
内存数据库:使用时数据存在内存中,速度快于磁盘,适用于特定的业务场景,代表为Memcached、Redis
时间序列数据库:常在监控系统使用,现在大名鼎鼎的prometheus即使用这种数据库
混合数据库:随着大数据的兴起,数据仓库这一概念逐渐落地,混合列和行数据库的混合型数据库在一些场景下开始使用。
1.4、数据库管理工具
在实际使用中,一般都是用管理工具连接数据库进行操作,可以做到可视化的方式连接数据库,提高开发人员的开发效率。常用的工具有:MySQL Workbench和Navicat。
二、MySQL数据库
MySQL是关系型数据库的代表,其最大的特点就是免费和学习资源丰富,不但可以用于学习和模拟,还被各行各业应用在具体的生产活动中,下面就对MySQL做一简单但干货满满的简介。
2.1、常见术语
数据库:表的集合。
表:数据的存储矩阵,表的格式跟excel类似,可以看作是一个java对象。
列:列数据可以看作是java对象中的某一个属性,一列数据是同种类型数据的和。
行:一行可以看做是一个对象的实例,比如医生表中的一行数据可以代表一名医生。
主键:一个表中只能有一个主键,主键是唯一的。
外键:外键用于关联两个表。
索引:使用索引可以更快速的访问数据库中的特定信息,类似于书籍中的目录。
2.2、MySQL管理
数据库在计算机上安装成功后,需要进行相应的启动、关闭、创建新账号等管理工作。
2.2.1、windows下管理
服务启动:net start mysql
服务关闭:net stop mysql
2.2.2、linux下管理
服务启动:sudo systenctl start mysql / sudo service mysql start
服务关闭:sudo systemctl stop mysql / sudp s