跳到主要内容

关系型数据库介绍

RDBMS

RDBMS 指关系型数据库管理系统,全称 Relational Database Management System。 RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。 RDBMS 中的数据存储在被称为表的数据库对象中。表是相关的数据项的集合,它由列和行组成。

SQL 简介

SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。 SQL 在1986年成为 ANSI(American National Standards Institute 美国国家标准化组织)的一项标准,在 1987 年成为国际标准化组织(ISO)标准。

  • DDL:Data Definition Language DDL允许用户定义数据,也就是创建表、删除表、修改表结构这些操作。通常,DDL由数据库管理员执行。

  • DML:Data Manipulation Language DML为用户提供添加、删除、更新数据的能力,这些是应用程序对数据库的日常操作。

  • DQL:Data Query Language DQL允许用户查询数据,这也是通常最频繁的数据库日常操作。

数据库设计三范式

  • 第一范式 当关系模式R的所有属性都不能分解为更基本的数据单位时,称R是满足第一范式,简记为1NF。

    tip

    就是属性不可分割,属性是表中的字段。不可分割意思是这个字段只能是一个值, 不能被拆分成多个字段。 举例:学生信息表(姓名,年龄);姓名在国外使用时,姓和名是可拆分的。

  • 第二范式 如果关系模式R满足第一范式,并且R的所有非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范式,简记为2NF。

    tip

    就是要有主键,要求其他字段都依赖于主键。为什么要有主键,没有主键就没有唯一性,没有唯一性在集合中就定位不到这行记录,所以要主键。 举例:学生信息组成学生表,姓名可以做主键吗?不能,因为同名的话就不唯一了,所以需要学号这样的唯一编码才行。

  • 第三范式 设R是一个满足第一范式条件的关系模式,X是R的任意属性集,如果X非传递依赖于R的任意一个候选关键字,称R满足第三范式,简记为3NF。

    tip

    就是要消除传递依赖,方便理解,可以看做是消除冗余。消除冗余应该比较好理解一些,就是各种信息只在一个地方存储,不出现在多张表中。 举例:大学分了很多系(中文系、英语系),这个系别管理表信息有(系编号、系主任)组成。 那么再回到学生信息表,我能不能把他的系编号、系主任也一起存着?如果按照三范式规则,当然不行。 因为系编号,系主任已经存在系别管理表中,你再存入学生信息表,就是冗余了。所以按照三范式,处理这个问题时,学生表就只能增加一个系编号字段。

参考文献