DAY17.1 Java核心基础
数据库
关系型数据库(传统数据库,安全可靠,数据量大):Mysql、Oracle、SQLServer
非关系型数据库nosql(缓存数据库,高并发项目中,存储热点数据,短信验证码)Redis、MongDB
DataBase DB是一个存储数据的仓库,为了方便数据的管理,它将数据按照特定的规律存储在硬盘上,通过数据库管理系统,可以有效的组织和管理数据库中的数据
Mysql 速度快、开源
保存数据
管理数据(增删改查)
其实应该叫DBMS DataBase Manager System:数据库管理系统
数据库存储引擎
存储引擎就是存储数据 ,为数据建立索引、更新、查询数据 技术等实现方法
关系型数据库中的数据是以表的形式存储的 ,所以存储引擎可以称为表类型(存储和操作此表的类型)
Mysql提供了多种存储引擎
SQL指令,展示存储引擎
sql
show engines

事务:数据库为了确保数据正确的一种约束,单体数据库
分布式事务(数据量大):多个服务器构建起来的一个系统
Transactions:事务
XA:分布式事务
Mysql数据库默认使用InnoDB存储引擎,InnoDB对事务的处理能力非常强大,是其它存储引擎无法比拟的
InnoDB存储引擎:自增,自增列不能为空,且必须唯一,MySQL中规定自增列必须为主键
InnoDB存储引擎:支持外键
InnoDB存储引擎
优势:提供了良好的事务管理能力,崩溃修复能力和并发控制
缺点:读写效率较差,占用的数据空间相对较大
如何操作数据库
通过SQL语言来管理数据库,SQL也是一种编程语言,专门用来管理数据库的
SQL分为
- DML(数据操作语言)操作数据库中包含的数据(insert、update、delete)
- DDL(数据定义语言)创建、删除、修改数据库、数据表(create、drop、alter)
- DQL(数据查询语言)对数据库中的数据进行查询(select)
- DCL(数据控制语言)用来控制数据库组件的存取(事务)(commit、rollback)
需要掌握两部分
1、掌握数据库的使用
数据的增删查改,数据库的创建、删除,数据表的创建、删除、修改,事务的操作、视图、存储过程、触发器、索引、主外键约束
2、数据库设计
根据项目的需求,设计数据库和表之间的关联关系
数据库设计非常重要,直接决定项目的质量,数据库先行,驱动项目的开发