SQL必知必会vol.1

准备学习数据库相关知识,就选择了这本轻巧的《SQL必知必会》来作为入门级学习。
数据库可以理解为一个一某种有组织的方式存储的数据集合。最简单的办法是将数据库想象为一个文件柜。这个文件柜是一个存放数据的物理位置,不管数据是什么,也不管数据是如何组织的。而数据库软件则是数据库管理系统(DBMS),而非数据库本身。

1.1 表
你往文件柜里放资料时,并不是随便将他们扔进某个抽屉就完事了,而是在文件柜中创建文件,然后将相关的资料放入特定的文件中。
在数据库领域中,这种文件称为表。表是一种结构化的文件,可用来存储某种特定类型的数据。表可以保存孤苦清单,产品目录,或者其他信息清单。表类似于微软EXECL中的表,有横竖N个方格组成。
关于表的关键在于,存储在表中的数据是同一种类型的数据或清单。决不应该将顾客的清单与订单的清单存储在一个数据库表中,否则日后的检索和访问会很困难。
数据库中每个表都有一个名字来标示自己。这个名字是唯一的,即数据库中每个表都有不同的名字。使表名成为唯一的是数据库名和表名的组合,这说明在不同的数据库中表名可以相同。
表具有一些特性,这些特性定义了数据在表中如何存储,包含存储什么数据,数据如何分解,各部分信息如何命名等信息。描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特定的表,也可以用来描述整个数据库。

1.2列和数据类型
表由列组成。列存储表中某部分的信息。(列:表中的一个字段。所有表都是由一个或多个列组成的,每个列也可以有很多行。每个表列都有相应的数据类型,它限制该列中存储的数据)。例如在顾客表中,一个列存储顾客编号,另一列存储顾客姓名等等。
数据库中每个列都有相应的数据类型。数据类型定义了列可以存储哪些数据类型。例如,如果列中存储的是数字,则相应的数据类型应为数值类型。
数据类型限定了可存储在列中的数据类型(例如,防止在数值字段中录入字符值)。数据类型还帮助正确的分类数据,并在优化磁盘方面起重要作用。

1.3行
表中的数据是按行存储的,所保存的每个记录存储在自己的行内。如果将表想象为网格,网格中垂直的列为表列,水平行为表行。

1.4主键
表中每一行都应该有一列(或几列)可以唯一标示自己。顾客表可以使用顾客编号,而订单表可以使用订单ID。
唯一标示表中每行的这个列(或这几行)称为主键。主键用来表示一个特定的行。没有主键,更新或删除表中特定行就极为困难,因为不能保证操作只涉及相关的行。
表中的任何列都可以作为主键,只要满足下面的条件:
:任意两行都不具有相同的主键值
:每一行都必须具有一个主键值(主键值不允许NULL值)
:主键列中的值不允许修改或更新
:主键值不能重用
主键通常定义在表的一列上,但并不总是必须这么做,也可以一起使用多个列作为主键。在使用多列作为主键时,所有的列的组合必须是唯一的。

你可能感兴趣的:(sql必知必会笔记)