Flask数据库
5.1 数据库的分类
数据库一般分为两种,SQL(Structured Query Language,结构化查询语言)数据库和NoSQL(Not Only SQL,泛指非关系型)数据库。
5.1.1 SQL
常用SQL DBMS:SQL Server、Oracle、MySQL、PostgreSQL、SQLite等。关系型数据库使用表来定义数据对象,不同的表之间使用关系连接。
在SQL数据库中,每一行代表一条记录(record),每条记录又由不同的列(column)组成。在存储数据前,需要预先定义表模式(schema),以定义表的结构并限定列的输入数据类型。
为了避免在措辞上引起误解,我们先了解几个基本概念:
1)表(table):存储数据的特定结构。
2)模式(schema):定义表的结构信息。
3)列/字段(column/field):表中的列,存储一系列特定的数据,列组成表。
4)行/记录(row/record):表中的行,代表一条记录。
5)标量(scalar):指的是单一数据,与之相对的是集合(collection)。
5.1.2 NoSQL
NoSQL最初指No SQL或No Relational,现在NoSQL社区一般会解释为Not Only SQL。NoSQL数据库泛指不使用传统关系型数据库中的表格形式的数据库。近年来,NoSQL数据库越来越流行,被大量应用在实时(real-time)Web程序和大型程序中。与传统的SQL数据库相比,它在速度和可扩展性方面有很大的优势,除此之外还拥有无模式(schema-free)、分布式、水平伸缩(horizontally scalable)等特点。
最常用的两种NoSQL数据库如下所示: