数据库在互联网应用中占据着不可或缺的作用,本系列文章旨在针对数据库从背景、基本应用到高效使用作出一定总结。
数据库从字面上的理解就是数据的仓库,其实我们平时说的数据库是指数据库管理系统(Database Management System),它是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。严格来说数据库是数据库管理系统的实例,一个数据库管理系统可以有多个数据库实例。
先把目录写在这,有时间再一点点补充:
不同数据库都有各自的特色,用于解决不同的问题,在数据库选型时先要清楚不同数据库的特点,然后根据应用场景做出判断,这里列举了几种主流数据库介绍及数据库的对比:数据库分类及主流数据库对比
数据库应用场景:不同类型数据库的应用场景对比
2.1 数据库基本操作
使用交互式接口执行SQL语句,SQL语句的组成部分,这里以MySQL为例介绍数据库基本使用:MySQL数据库基本使用
2.2 数据库事务
事务是数据库系统进行并发控制的基本单位,是数据库系统进行故障恢复的基本单位,从而也是保持数据库状态一致性的基本单位。ACID是事务的基本特性,数据库系统是通过并发控制技术和日志恢复技术来对事务的ACID进行保证的。数据库事务参考:数据库事务的概念及其实现原理、MySQL事务隔离级别测试实例
2.3 存储引擎
2.4 数据库索引
MySQL索引原理及BTree(B-/ Tree)结构详解
2.5 DBA开发
2.5.1 数据库设计(E-R关系图)
2.5.2 数据表设计
数据表设计的三大范式和5大约束
主键ID设计
不同数据库引擎下选择合适的数据行记录格式可提升数据库DQL操作(数据查询)、DML操作(数据增删改)性能,参考数据行格式说明:MySQL数据库行记录格式
2.5.3 存储过程/存储函数、触发器
2.6 数据类型
数据库支持数据类型(以MySQL为例)
2.7 非关系型数据库使用
主从备份
分库分表应用场景
数据库分库分表永不迁移数据和避免热点
分布式唯一ID生成方案
分库分表后”跨库分页“查询方案
6.1 数据访问接口:JDBC、ADO.NET
6.2 对象关系映射(ORM)
领域类呈现模型约定:
1、添加数据模型注解
2、Fluent API命令配置