数据库设计的核心是根据数据关系、查询模式和扩展需求选择合适模型。
MySQL 与 PostgreSQL
MySQL 常用于 Web 应用、读写简单、生态成熟的业务场景。
PostgreSQL 功能更丰富,支持复杂查询、JSON、扩展能力和更严格的数据一致性。
简单理解:
- MySQL:轻量、常见、上手快
- PostgreSQL:强大、严谨、适合复杂业务
SQL 基础
SELECT * FROM users WHERE age > 18;
INSERT INTO users (name, age) VALUES ('Alice', 25);
UPDATE users SET age = 26 WHERE name = 'Alice';
DELETE FROM users WHERE id = 1;数据库规范化
规范化是为了减少数据冗余和更新异常。
第一范式:字段不可再分。
第二范式:非主属性完全依赖主键。
第三范式:非主属性不依赖其他非主属性。
实际项目中也会为了性能进行适度反规范化。
NoSQL 类型
文档数据库:如 MongoDB,适合 JSON 文档。
键值数据库:如 Redis,适合缓存和快速查询。
列族数据库:适合大规模分布式写入。
图数据库:适合关系网络、推荐系统和路径分析。
选择思路
如果数据关系清晰、事务重要,优先关系型数据库。如果数据结构灵活、扩展性要求高,可以考虑 NoSQL。