数据库相关简介
1. 定义与核心特征
数据库(Database)是按照特定数据结构组织、存储和管理数据的仓库,可视为“电子化的文件柜”。其核心目标是通过集中管理数据,实现高效访问、共享和维护。主要特征包括:
(1)数据共享性:支持多用户并发访问,如企业内部系统共享客户信息。
(2)冗余度低:通过统一存储避免重复数据,节省空间并保证一致性。
(3)独立性:数据逻辑结构与物理存储分离,应用程序修改不影响数据组织。
(4)安全性:通过权限控制和事务管理(ACID特性)保障数据安全。
2. 数据库类型
根据数据模型和应用场景,数据库可分为两大类:
(1)关系型数据库(RDBMS)
特点:以二维表格形式存储数据,通过主键、外键建立表间关联,支持SQL语言。
常见系统:MySQL(轻量级Web应用)、Oracle(企业级事务处理)、PostgreSQL(复杂查询与扩展性)。
适用场景:金融系统、ERP、需强一致性的业务场景。
(2)非关系型数据库(NoSQL)
特点:灵活的数据模型(键值、文档、图等),适合高并发、海量数据场景。
常见类型:
键值存储(如Redis):用于缓存、实时数据处理。
文档数据库(如MongoDB):存储半结构化数据(JSON/XML),适用于内容管理。
图数据库(如Neo4j):处理复杂关系网络(社交网络、推荐系统)。
时序数据库(如InfluxDB):专用于时间序列数据(传感器日志、监控数据)。
3. 数据库系统组成
数据库系统(DBS)由以下核心组件构成:
数据库(DB):存储数据的物理或逻辑集合。
数据库管理系统(DBMS):管理数据的软件,如MySQL、Oracle,提供数据定义(DDL)、操作(DML)、控制(DCL)功能。
应用程序:用户通过前端工具(如ERP系统)与数据库交互。
数据库管理员(DBA):负责设计、维护、备份与安全策略。
硬件平台:服务器、存储设备等基础设施。
4. 数据模型
数据模型是数据库设计的核心框架,分为两类:
(1)概念模型
实体-联系模型(E-R模型):用实体(如“学生”)、属性(如“学号”)和联系(如“选课”)描述业务逻辑,常用于需求分析阶段。
示例:学生选课系统中,学生实体与课程实体通过“选修”关系关联,形成多对多联系。
(2)逻辑模型
关系模型:主流模型,以二维表为基础,支持规范化设计(如三范式)。
非关系模型:如键值对、文档结构,强调灵活性与扩展性。
5. 应用场景与选择依据
关系型数据库:适合需强一致性、复杂事务的场景,如银行交易系统。
非关系型数据库:适用于高并发读写(如电商秒杀)、非结构化数据(如日志存储)或分布式架构(如大数据分析)。
混合架构:现代系统常结合两者,如用Redis缓存热点数据,MySQL存储核心业务。