什么是数据完整性?
数据完整性 = 数据准确性 + 数据可靠性
数据完整性如何分类?
1,实体完整性 (行)
2,域完整性 (列)
3,引用完整性 (表与表之间键的关系)
4,自定义完整性
如何保证数据的完整性?
必须在建表时分别对数据库实施完整性约束:
实体完整性约束 (行) |
主键约束(primary key) 唯一约束(unique) |
域完整性约束 (列) |
数据类型 非空约束(not null) |
引用完整性约束 (两表) |
外键约束(foregin key) |
自定义完整性约束 |
规则、存储过程、触发器 |
要建表保存数据时,就必须确定保存的数据类型,那么T-SQL中有哪些数据类型?
数字 |
整数 int 小数 float real numric decimal |
字符串 |
固定长度字符串 char 可变长度字符串 varchar unicode编码固定长度字符串 nchar unicode编码可变长度字符串 nvarchar 大文本 text unicode编码大文本 ntext |
日期 |
datetime |
真假 |
bit |
其他 |
货币 money |
数据类型注意事项:
时间日期类型和字符串类型是放在一对儿单引号中的.例如:‘2010-1-22‘
主要约束的实现
1.主键
主键列要求:不重复并且不能有空值
主键选取方法:
u表中存在可以用来唯一标识表中行的列,则直接选取该列作为主键列.如学号列
u表中没有可以用来唯一标识表中行的列,则可以通过创建组合主键来进行标识,具体操作,选取多列,将选中列一并设置为主键.
2.标识列
标识列要求:该列的数据类型只能是int类型,并且不能有空值
如何设置标识列:
选取int类型的列,在该列的属性窗口中,将标识范围展开,设置是标识,同时设置标识增量(递增步长)和标识种子(起始标识值),默认均为1
标识列的特点:标识列会根据标识增量和标识种子每次自动增加
如果主键列的类型是int类型,则通常同时将该主键列设置为标识列.
3.主外键关系:两表之间的关系
被包含,被引用的表是主键表
外键表一定有一个列(外键列),引用主键表的主键列
可以使用数据库关系图直接拖放创建外键约束