一、关系模型和数据表
关系型数据库的定义:
1,是以关系模型为基础的数据库
2,是用表,元组,列之间的关系组织,访问数据的数据库
3,表与表之间存在着联系
数据表:
元组/记录/行
属性/字段/列
用数据表来表示实体
二、数据类型
3种基本的数据库:数字类型,字符串类型,日期时间类型
数字类型:整数型,小数
整数型:int
小数类型: decimal(5,2) decimal(小数加整数部分的长度 , 小数部分的长度)
字符串类型:char,varchar, nvarchar
char(n) 固定长度的非Unicode字符串
varchar(n) 非固定长度的非Unicode字符串
nvarchar(n) 非固定长度的Unicode 字符串
n表示字符串长度,例如varchar(4)表示最多4个英文或者2个中文
日期时间类型:date, dateTime
date 日期 '2020-03-19'
dateTime 时间 '2020-03-19 9:48:59'
总结:
当列的数据长度固定,可以使用 char类型 (性别:男/女)
当列数据长度不固定,只有非中文字符的时候用 varchar
当列数据长度不固定,包含中文字符的时候用 nvarchar
中文非Unicode 字符串会占2个长度
三、数据完整性
确保数据在逻辑上的一致性,正确性
确保数据表中的数据有效性
1,实体完整性:
确保记录在表中的唯一的
主键约束:列中的值不能够重复,不能为空,1张表中只添加1个主键约束
主键:表中的列,定义为主键,记录在表中的唯一标识
添加主键约束: 设计表 -- 选中要添加主键约束的列 -- 右键 -- 设置为主键
自增约束:初始值,按照一定的规则增长,不能显示输入值,一般为主键列添加自增约束
添加自增约束:设计表 -- 选中要添加自增约束的列 -- 列属性 -- 标识规范: 是标识,标识种子(初始值),标识增量(每次的增加值)
唯一键约束:列中的值不能够重复,允许为空(只能有1个空值),一张表中能为多个列添加唯一键约束
添加唯一键约束:设计表 -- 选中要添加唯一键约束的列 -- 右键 -- 索引/键 -- 添加: 常规.类型: 唯一键; 列:要添加唯一键的列
注意:设计表并且保存之后,重新编辑表中的数据,要先刷新表(右键 -- 执行)
2,域完整性:
保证列中的值是有效,不超过范围,对应的数据类型
数据类型约束
非空约束: 设计表 -- 非空勾选项(勾选上就是允许为空)
检查约束: 列中的值必须满足检查约束的表达式
添加Check约束:设计表 -- 右键 -- check约束 -- 添加 -- 表达式 -- 添加上自己的表达式
默认值约束:没有给记录中某一列赋值,会使用默认值
添加默认值约束:设计表 -- 选中列 --列属性 -- 默认值 -- 添加默认值
3,参照完整性(两张表):
定义:表与表之间的约束条件
性质:一张表(从表)中某一列(外键)的取值来自于另一张表(主表)的列(主键列)
外键约束:保证参照完整性,在从表上添加外键约束
添加外键约束:右键 -- 设计表 -- 关系 -- 表和列的规范
扩展:
char字符串占用空间图解:
varchar字符串占用空间图解
nvarchar字符串占用空间图解