1.数据的完整性:
【含义】定义数据表格的规范
【完整性分类】
(1)域完整性:通过限制数据类型,每一列数据只能输入限定的数据类型。
==》约束方法如下:
①限制数据类型:
char(2):代表一个字符,char()中的表示2个字节
int :2^31-1 正负21亿 10位数
bitint :long (64) 19位
utf-8数据编码字符集:2个字节存放一个中文汉字
②检查约束(CHECK约束)【列名不区分大小写】:
如:age>=6 and age<=18、sex=‘男’ or sex=‘女’、len(cardid)=18、
stuname like '张%'(%代表任意多字符、_代表任一字符)
③外键约束
④默认值(缺省值):
默认值或保存:男
⑤非空约束 :
允许为NULL的勾选
(2)实体完整性:限定每一行数据
实体:一条数据相当于就是一个实体
==》约束方法如下:
①唯一约束:
可以有多个
右键——索引/键——唯一键、选择对应列
②主键约束:
右键将某一字段设置为主键(有唯一特性、只能有一个、主键还有查询功能)
③标识列:
只能是整数类型
选中某一列(id)——标识规范——是标识()是、标识增量(步长为多少)、标识种子(从几开始)
【注】一般主键即为标识列
(3)引用完整性
==》约束方法:外键约束
在主表中先添加外键(另一个表的主键)——右键——关系——主键表、外键表
使用主表主键去约束子表外键
外键可以有多个(延伸主表)
(4)自定义完整性
==》约束方法:
①规则
②存储过程
③触发器
2.列的数据类型
分类 | 描述 | 数据类型 | 说明 |
二进制数据类型 | 存储非字符和文本的数据 | image | 可以用来存储图像 |
varbinary | 固定类型,可以存储图片、文件 | ||
文本数据类型 | 字符数据包括任意字母、符号或数字字符的组合 | char(字符) | 固定长度的非Unicode字符数据 |
varchar(字符) | 可变长度的非Unicode字符数据 | ||
nchar(长度) | 固定长度的Unicode字符数据 | ||
nvarchar(长度) | 可变长度的Unicode字符数据 | ||
text | 存储长文本信息 | ||
ntext | 存储可变长度的长文本 | ||
日期和时间 | datetime | 年月日时分秒 | |
date | 年月日 | ||
数字数据 | 该数据仅包含数字,包括整数和浮点数 | int、smallint、bitint | 整数 |
float、real、decimal | 浮点数 | ||
货币数据类型 | 十进制货币值 | money | |
bit数据类型 | 表示是/否的数据 | bit | 存储布尔数据类型 |
【注】
1个字节=8bit
nchar(1) 就表示一个长度,可以是字符‘男’、可以是数字1
char(2) 表示可以写2个字符,即2个数字,一个中文汉字
可以的写法:varchar(max)
decimal(20,6) 表示一共20位,小数点可以保留6位,整数有14位
3.案例
电话号码:varchar
性别:bit(0 1)【推荐】、char
年龄:int、smallint
图片:image
薪水:money
建立学生表、班级表、成绩表、结果表