关系型数据库常见概念介绍


1 定义

关系型数据库, 是一种建立在关系模型(数学模型)上的数据库。

关系模型主要有以下几个特点:

  • 数据结构:数据存储的形式,二维表(行和列);
  • 操作指令集合:所有的 SQL 语句;
  • 完整性约束:表内数据约束(字段与字段)和表与表之间的约束(外键)。

数据结构xxxx


2 设计

  • 数据库:从需要存储的数据需求中分析,如果是一类数据,如某类学生数据,某类老师数据,则应该设计成二维表;
  • 二维表:由表头( 字段名,用来规定数据的名称)和数据(实际存储的内容)部分组成。

> 表头在数据库中叫字段。

在此处,需要特别注意: 如果表中对应的某个字段值为空,但是系统依然会为其分配存储空间,这也就是关系型数据库比较浪费空间的原因啦!

放心:上面说关系型数据库比较浪费空间,是相对而言的,并不是非常浪费空间,否则也不会有这么多公司使用了。


3 数据中的一些术语

为了全面了解数据库,我们需要学习一些常用术语,这些术语可能会在考试,或者其他资料上出现,了解一下,没有坏处。

  • DB:Database,数据库;
  • DBMS:Database Management System,数据库管理系统,如一些可视化的操作数据库软件,如navicat、phpmyadmin等;
  • DBS:Database System = DBMS + DB,数据库系统;
  • DBA:Database Administrator,数据库管理员,一般拥有数据库最高权限。
  • 行\记录:row\record,本质都是指表中的一行(一条记录),行是从结构角度出发,记录则是从数据角度出发。
  • 列\字段:column\field,本质都是指表中的一列(一个字段),列是从结构角度出发,字段则是从数据角度出发。

4 SQL

SQL: Structured Query Language,结构化查询语言。这个名字细细想来有点奇怪,数据库除了查询,还有数据插入、删除数据,为什么只叫查询呢?这是因为大多数操作都是以查询为主,90%都是在进行查询操作,所以命名为结构化查询语言也就很正常了吧。

SQL 主要分为三种:

  • DDL:Data Definition Language,数据定义语言,用来维护存储数据的结构(数据库、表),代表指令为createdropalter等。
  • DML:Data Manipulation Language,数据操作语言,用来对数据进行操作(表中的内容)代表指令为insertdeleteupdate等,不过在 DML 内部又单独进行了一个分类,即 DQL(Data Query Language),数据查询语言,代表指令为select.
  • DCL:Data Control Language,数据控制语言,主要是负责(用户)权限管理,代表指令为grantrevoke等。

SQL 是关系型数据库的操作指令,是一种约束,但不强制每一个语法都必须一样,因此这意味着:不同的数据库产品(如 Oracle 和 MySQL)内部可能会有一些细微的区别,其语法也有一些差别。

那是不是我们除了MySQL,还要从零开始学习Oracle呢?非也,非也,万事万物都是相似的,你了解一个女人之后,很可能另一个女人也了解了。