【读书笔记】--SQL基础概念复习

时间:2023-03-09 08:57:41
【读书笔记】--SQL基础概念复习

主键:每个表,只能有一个主键,主键不能为NULL,且必须是唯一的。主键最好是由单个列组成,但这不是必须的,主键也可以是由多个列组成,如果表的两个列组合在一起能唯一标识一个行,而单个列不能,则可以将这两个列组合在一起作为主键。

:在定义表的列时,至少需要定义下列三项:1.列的名称,2.列的数据类型,3.列是否允许为空(NULL)。

列名:列名要简单直观,例如:LastName或者EmployeeID,而不应该使用比较繁琐的名字,例如:EmployeeLastName.

数据类型:选择数据类型的一般规则是,尽量使用最小的数据类型,因为这可以节省内存与磁盘空间。还要注意的是,SQL Server处理数字的效率,比字符高得多,所以应该尽量使用数字。除了数学运算之外,在排序与比较时,也应该优先选择数字,而不是字符。在设计表,为每个列选择数据类型的时,宜保守一些,尽可能使用小而高效的数据类型。与此同时,还应该考虑一些不常见的例外情况,确保所选择的类型,能满足所有这些要求。

char类型:是固定长度的数据类型,用于保存字符数据,可保存的字符数量为1~8000个。

varchar类型:除了长度可变,数据类型和char是相同的,假如定义了一个类型为char(8)的列,那么这个列将占用8个字节,即使该列只包含了3个字符,varchar类型的列,则只占用它需要的空间。通常来讲,char数据类型适合用于数据处理,而varchar类型适合于数据存储。一般的规则是,如果数据都接近所定义的长度,就使用char类型,如果数据差别很大,就使用varchar类型,比如可以使用varchar(167)来保存世界上最长的城市名称。

nchar也是固定长度的数据类型,nvarchar也是长度可变的数据类型。