Skip to content

数据库基础

什么是数据库

数据库是一个长期存储在计算机内、有组织的、可共享的数据集合。它通过数据库管理系统(DBMS)来组织、存储和管理数据。

数据库的类型

关系型数据库(SQL)

关系型数据库使用结构化查询语言(SQL)来管理数据。数据存储在表中,表之间可以通过关系连接。

特点:

  • 数据结构化存储
  • 支持事务处理
  • ACID特性(原子性、一致性、隔离性、持久性)
  • 例如:MySQL、PostgreSQL、Oracle

非关系型数据库(NoSQL)

非关系型数据库不使用传统的表格关系来存储数据,而是使用其他数据模型,如键值对、文档、列族或图。

特点:

  • 灵活的数据模型
  • 水平扩展性好
  • 高性能
  • 例如:MongoDB、Redis、Cassandra

数据库设计基础

实体关系模型(ER Model)

实体关系模型是数据库设计的基础,它通过实体、属性和关系来描述数据。

范式化

范式化是数据库设计中的一种规范化过程,目的是减少数据冗余和提高数据一致性。

常见的范式:

  1. 第一范式(1NF):确保每列都是原子性的
  2. 第二范式(2NF):在1NF基础上消除非主属性对主键的部分函数依赖
  3. 第三范式(3NF):在2NF基础上消除非主属性对主键的传递函数依赖

数据库操作基础

CRUD操作

CRUD代表创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作。

SQL基础

SQL是结构化查询语言,用于与关系型数据库通信。

基本语句:

  • SELECT:查询数据
  • INSERT:插入数据
  • UPDATE:更新数据
  • DELETE:删除数据

数据库安全

访问控制

数据库应设置适当的用户权限,确保只有授权用户才能访问特定数据。

数据加密

敏感数据应进行加密存储,防止数据泄露。

备份与恢复

定期备份数据库,确保在数据丢失或损坏时能够恢复。

性能优化基础

索引

索引可以加快数据检索速度,但会增加插入和更新的开销。

查询优化

编写高效的SQL查询语句,避免全表扫描。

数据库设计优化

合理的数据库设计是性能优化的基础。

实践项目

创建一个简单的博客系统数据库,包含用户表、文章表和评论表,并实现基本的CRUD操作。