第一课 了解SQL
我们可能都没有意识到,自己其实一直在使用数据库。当我们在网站上使用搜索、微信上聊天时,就是在使用数据库。在工作、学习中登录网络,也需要依靠数据库验证用户名和密码。
但尽管我们一直在使用数据库,但对数据库究竟是什么却并不清楚。因此,我们需要给出一些最重要的数据库术语并加以说明。
1.数据库(database)
数据库是一个以某种有组织的方式存储的数据集合。如果将数据库比喻为文件柜,那么这个文件柜就是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的。
数据库(database):
保存有组织的数据的容器(通常是一个文件或一组文件)
注意:
数据库软件应称为数据库管理系统(DBMS)
数据库是通过DBMS创建和操纵的容器
2.表(table)
当我们往文件柜中存放资料时,是先在文件柜中创建文件,然后将相关的资料放入特定的文件中。
在数据库领域中,这种文件称为表,表是一种结构化的文件,可用来存储某种特定类型的数据。
关键一点在于:存储在表中的数据是同一种类型的数据或清单,并且数据库中的每个表都应该有一个唯一的名字来标识自己,即数据库中没有其他表具有相同的名字。
表(table):
某种特定类型数据的结构化文件清单
表名(table name):
使表名成为唯一的实际上是数据库名与表名的结合。有的数据库还会使用数据库拥有者的名字作为唯一名的一部分
表具有一些特性。这些特性定义了数据在表中如何存储,包含存储什么样的数据,数据如何分解,各部分信息如何命名等信息。描述表的这组信息就是所谓的模式(schema),模式可以用来描述数据库中特定的表,也可以用来描述整个数据库(和其中表的关系)。
模式(schema):
关于数据库和表的布局及特性的信息
3.列和数据类型(column and datatype)
表由列组成,列存储表中的部分信息。
列(column):
表中的一个字段,所有的表都是由一个或多个列组成
理解列最好的办法就是将数据库表想象成以一个表格,表格中的每一列存储着某种特定的信息。
提示:
应该正确的将数据分解为多个列,每个列应该总是彼此独立的列,这样才能利用特定的列对数据进行分类和过滤。
数据库中每个列都应该具有相应的数据类型,数据类型定义了列可以存储哪些数据种类。
数据类型(datatype):
每个表列都应该具有相应的数据类型,它限制(或允许)该列中存储的数据
4.行(row)
表中的数据是按行存储的,所保存的每个记录存储在自己的行内。表格中垂直的列为表列,水平行为表行。
行(row):
表中的一个记录
5.主键(primary key)
表中的每一行都应该有一列或几列可以唯一标识自己。
主键(primary key):
一列或几列,能够唯一标识表中的每一行
表中的任何列都可以作为主键,只要它满足以下条件:
- 任意两行都不具有相同的主键值
- 每一行都必须具有一个主键值(主键列不允许为NULL值)
- 主键列中的值不允许修改或更新
- 主键值不能重用(如果某行被删除,那么它的主键将不能赋给以后的新行)
6.什么是SQL(Structured Query Language)
SQL是 Structured Query Language (结构化查询语言)的缩写。
SQL是一种专门用来与数据库沟通的语言。设计SQL的目的是很好的完成一项任务-提供一种从数据库中读写数据的简单有效的方法。
SQL有如下的优点:
- SQL不是某个特定的数据库供应商专有的语言,几乎所有重要的DBMS都支持SQL
- SQL简单易学,它的语句全都是由很强描述性的英语单词组成
- SQL是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
小结
这一课介绍了什么是 SQL,它为什么很有用。因为 SQL是用来与数据库 打交道的,所以,我们也复习了一些基本的数据库术语。