数据库(database):存储数据的容器。
数据库管理系统(DBMS - Database Management System):管理数据库的软件系统(MySQL,Oracle等)。
关系型数据库(Relational Database):基于关系模型的数据库。SQL就是用来操作关系型数据库的。
关系模型:由关系数据结构(二维表),关系操作集合(SQL),关系完整性约束(各种乱七八糟的键)组成。
SQL(Structured Query Language)中文意思是“结构化查询语言”是与数据库沟通的语言,因此学习SQL的重心在database而不是DBMS,而且是relational database关系型数据库。
表(table):存在于database中,数据实际存储在表中。
个人认为:关系型数据库中的关系模型数据结构和结构化查询中的结构化指的都是表。
表名是同一个数据库中表的唯一标识。
行:表中的一条数据(记录)。由列组成。
列:表中的一个字段。是数据的分解。是数据的过滤条件。
比如一类数据:家住XXX,学号XXX的学生XXX。把这类数据进行分解就是地址(列),学号(列),姓名(列)。
主键:可以唯一标识一行数据的一个或多个列。有主键可以保证我们单草一行数据。
单独说说SQL:SQL是一门语言,一个标准。因此并不和数据库厂商有什么耦合。
基本上所有的DBMS都支持SQL,基本上都有自己的特性SQL(扩展)。所以一般学的SQL都是通用的,如果学习DBMS的话还要学习响应的特性SQL。
但是正如上面说的SQL是一门语言,一个标准,所以学习SQL的环境必须依赖于具体的厂商提供的数据库管理软件。随便选择mysql或是数据库安装就行了。