第二章————用表组织数据
第二章————用表组织数据
**********数据类型*********
数字:
Int 长度默认为4,不可改变长度
real--->double
decimal(numeric)--->decimal(一共多少位,小数点后面多少位)
!!注意:小数点后面超出,四舍五入;整数部分超出,报错
例:numeric(5,2) 12.45678--->12.46
布尔:bit 默认长度为1,不可修改 值: 0/1 true/false
字符串:默认长度1,可以自己定义长度
char() 长度固定,一个字符,英文数字占一个字节汉字占两个字节
varchar() 长度不固定,一个字符,英文数字占一个字节汉字占两个字节
nchar() 长度固定,无论是数字英文还是中文都是占一个字节
nvarchar() 长度不固定,无论是数字英文还是中文都是占一个字节
text 长度可变,用来存长文本,一个字符,英文数字占一个字节
ntext 长度可变,用来存长文本,数字英文还是中文都占1个字节
货币:
money
时间日期:
datetime--->精确到毫秒 长度为8,不可自己定义长度
图片:Image
******完整性与约束********
1.实体完整性------>不能重复
2.域完整性-------->每一列的数据符合某种规则,或者在某个范围之内
3.引用完整性------>两表之间引用正确,外键约束
4.自定义完整性---->符合逻辑 存储过程,规则和触发器(二期)
约束:保证完整性的手段
1.实体完整性:
1)设置主键
2)标识列
3)唯一约束
4)索引
2.域完整性:
1)检查约束
2)默认约束
3)确定数据类型
4)外键约束
5)非空约束
3.引用完整性:
外键约束
4.自定义完整性
规则,触发器,存储过程
============创建外键约束================
1.找出两表之间的关系,确定哪个是主键表,哪个是外键表 --Grade主键表 student外键表
2.展开外键表,键->右键->新建外键->或者鼠标右键 –》关系
出现如图所示的界面
3.主键表选择主键表表名,主键表的列选择主键表中的主键列
4.外键表的列选择外键列
外键约束报错两个原因:
- 主键表没设置主键
- 两个有关系的列数据类型不统一
如果保存失败
==============创建主键======================
- 选中列,右键“设为主键”
==============创建标识列======================
- 选中列,然后下面的列属性
- 选择(是标识)选择是然后编写种子和增量