数据完整性。
为了实现完整性,数据库需要两个方面的工作。
1,检验每行数据是否符合要求。2,检验每列数据是否符合要求。
一,实体完整性约束。
要求表中的每一行数据都反映不同的实体,不能存在相同的数据行。
通过索引,唯一约束主键 约束或标识列属性,可以实现表的实体完整性。
二,域完整性约束。
指的的是给定列输入的有效性,通过限制类型,检查约束,输入格式,外键约束,默认值,非空约束等多种方法,可以实现表的域完整性。
三,引用完整性约束。
在输入或删除数据行时,引用完整性约束用来保持表之间已定义的关系。
四,自定义完整性约束。
用户自定义完整性用来定义特定的规矩。
在强制引用完整性时,SQL Server 禁止用户进行下列操作:
(1)当主表中没有关联的记录时将记录添加到从表中,也就是说学生成绩中不能出现在学生表中不存在的学号。
(2)更改主表中的值并导致相关表中的记录孤立,如果学生信息表中的信息的学号改变了,学生成绩表中的学号也随之改变。
(3)从主表中删除记录,但在相关表中仍存在与该记录匹配的相关记录,如果把学生信息表中的学生删除了,则该学生的学号不能出现在学生的成绩表中。
主键和外键。
主键:
一个表中只能有一个主键,并且主键列不允许出现空值(Null),尽管有的表中允许没有主键但是通常情况下建议为表设置一列为主键。
有时候,在同一张表中,有多个列可以用来当作主题,在选择哪个作为主键的时候,需要考虑原则:
(1)最少性:指列数最少的键,如果可以从单个主键和复合主键中选择,应该选择单个主键,这是因为操作一列比操作多系列要快,当然该规则也用例外。
(2)稳定性:指列中数据的特征,由于主键通常用来在两个表之间建立联系,所以主键的数据不要经常更新,理想情况下应该永远不要改变。
外键 :
建立一种引用的关系确保从表中的某个数据项在主表中必须存。外键就是用来达到这个目的的它是相对于主键而言的,就是从表中对应于主表的列,在从表中称为外键或引用键,
它的值要求与主表的主键或唯一键相对应,外键用来强制引用完整性。一个表可以有多个外键。
SQL Server数据类型
1,二进制数据类型:用来存储非字符和文本的数据,数据类型:binary:固定长度的二进制数据,varbinary:可变长度的二进制数据,image:可用来存储图像 。
2,文本数据类型:字符数据:char:固定长度的非Unicode字符数据,最大长度为8000个字符,varchar:可变长度的非Unicode字符数据,nchar:固定长度的Unicode字符数据
nvarchar:可变长度的Unicode字符数据,text:存储长文本信息,ntext:存储可变长度的长文本
3,日期和时间的数据类型:用于存储日期和时间:datetime:1998-5-17,
4,数字数据类型:包括正数,负数,分数:int,smallint,tinyint,bigint:整数
5,数字数据类型:包括正数,负数,分数:float ,real,:浮点数
6,货币数据类型:用于十进制货币值,并且精确到小数点后的4位数字:money
7,bit数据类型:表示:是/否,的数据只有两种选择:bit:存储布尔数据类型
完!