关系型数据库¶
RDBMS 建立在实体-关系图(Entity Relationship Diagram, ER)的基础上
ER 图三要素:实体、属性、关系
常见的 RDBMS¶
都是采用的行式存储(Row-based)
- Oracle 1979,第一个商用的 RDBMS,流行后其公司也改名为 Oracle(甲骨文)
- SQL Server 1989,微软开发的商业数据库
- MySQL 1995,开源,MySQL AB 公司创造,然后被 SUN 收购,最后被 Oracle 收购,原创者担心被闭源,然后分支出了 MariaDB
- SQLite 2000,非 C/S 结构的嵌入式数据库,应该是世界上使用最多的数据库,虽然开源但不接受 PR,属于并用于公共领域
- PostgreSQL 企业级开源数据库,适合处理大量复杂查询和数据处理需求
- Snowflake 云原生的数据库存储,适合需要高效、灵活的数据存储和分析能力的企业
- Hive 建立在Hadoop之上的数据仓库基础设施
结构化查询语言 SQL¶
SQL, Structured Query Language
SQL 是 DBA 与 DBMS 交互的语言,属于一种特定领域专用语言(Domain Specific Language, DSL)
按照功能 SQL 可划分为
- 数据控制语言 DCL(Data Control Language),用于操作访问权限和安全级别。
- 数据定义语言 DDL(Data Definition Language),用于定义数据库、数据表、列等数据库对象,创建、删除、修改数据库和表结构。
- 数据操作语言 DML(Data Manipulation Language),用于增加、删除、修改表中的记录。
- 数据查询语言 DQL(Data Query Language),用于查询想要的记录,最重要的部分。
语法规范¶
不同 DBMS 有各自的方言,比如大小写不统一
而且同一 DBMS 在不同系统上可能还不一样,比如 MySQL 在 Linux 环境下,数据库名、表名、变量名是严格区分大小写的,而字段名是忽略大小写的,而在 Windows 环境下全部不区分大小写。
所以建议养成习惯
- SQL 保留字、函数名、绑定变量等都大写
- 表名、表别名、字段名、字段别名等都小写
- 字段名以下划线命名