4.1 关系型数据库
简单地说,关系型数据库即使用SQL进行操作的数据库。
SQL
SQL即结构化查询语言(Structured Query Language),是关系型数据库用来操作数据的语言。虽然叫做“查询”语言,但实际上从数据定义到数据插入、删除、更新和查询,它都能完成。另外,虽然SQL已经被标准化,但不同数据库对标准的支持仍有差别;不少数据库还对SQL做了自己的扩展以实现特有的功能。因此,为一种数据库编写的SQL代码有时并不能在另一种数据库上使用。要学习SQL,读者最好参考某种具体的数据库的手册,或者为之编写的读物;或者从这本为初学者编写的《Getting Started with SQL》开始。
更多关于SQL的介绍:https://en.wikipedia.org/wiki/SQL
ORM
ORM即对象-关系映射(Object-relational mapping),或称O/RM。它一般指把关系型数据库中存储的一行记录与编程语言中的一个对象对应起来的技术。通过这种技术,数据库的纪录可以通过相应的对象进行操作。这样做使得对数据库的编程更加“面向对象”了;另一方面,对象属性的读、写代替了相应的SQL操作,使得数据库编程更简单、直观了。不同的编程语言有不同的ORM实现,参考这里了解更多:
- https://en.wikipedia.org/wiki/Object-relational_mapping
- https://en.wikipedia.org/wiki/Active_record_pattern
流行的开源关系型数据库
MySQL和PostgreSQL是两种比较流行的开源关系型数据库,其中MySQL更流行一些,但PostgreSQL对SQL标准的支持更好。用Google搜索“mysql vs postgresql”你会得到更多有价值的信息。
SQLite也是一种比较流行的开源关系型数据库,但它与前两者的适用领域不同:它是一个迷你、嵌入式数据库,典型的应用场景如Android设备,而非Web网站等。