一. E-R模型
实体联系模型,提供表示实体、属性和联系的方法,用来描述现实世界的概念模型。
实体只是一个数据对象,客观存在的事物,可以是抽象的也可以是实际存在的事物。这些事物会有相关的属性。
实体之间的联系有三种类型: 一对一关联1:1和一对多关联1:N和多对多关联N:M,关系规范化有三种范式,在满足第三范式前必须满足第二范式,满足第二范式之前必须满足第一范式。
第一范式:所有属性是不可分割的原子值。
第二范式:所有数据必须依赖于主键,如果有不依赖于主键的属性,那就是异类。
第三范式:要求在一个数据库表中不包含已在其他表中包含的非主关键字信息。
二. 表的基本特点和类型
在数据库中体现出来就是一张由行和列组成的二维表格。可将表分为4中类型:
普通表:在数据库中存储数据的表,是最常用的对象,也是最基本、最重要的表。
分区表:分区表将数据水平划分为多个单元的表,这些单元可以分布到数据库中的多个文件组中,实现对单元中数据的并行访问。
临时表:零时创建,不能永久保存。分为本地临时表和全局临时表。
系统表:存储服务器配置,数据库的设置,用户、架构等信息。
三. 创建和修改表
1. 创建普通表
CREATE TABLE 表名
(
列 数据类型 约束和默认类型
列 数据类型 约束和默认类型
)
若建立列时使用了AS,该关键字的唯一作用就是将计算结果物理化、持久化,这样就不用每次查询就去计算了。
2. 创建临时表
本地临时表:加一个“#”
全局临时表:加两个“##”
3. 创建分区表
为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性。分区函数:PARTITION FUNCTION,分区方案: PARTITION SCHEME。
4. 增加和删除列
ADD
drop column
5. 修改表
sp_rename
6. 创建和修改列标识符
每一行数据都必须有一个唯一的可区分的属性作为标识符。第一种:IDENTITY,第二种:用绝不会重复的Uniqueidentifier做一个ROWGUIDCOL属性的列。
7. 删除表
删除表和删除表中全部数据不一样。
三. 约束
关系数据库的三大完整性:
实体完整性:实体属性中的标识属性不能为空、不能重复,通过主键实现。
参照完整性:实体中的外键可以为空,但不能为错。
用户定义完整性;通过为指定列添加default、check、unique等方式实现。
1. 主键约束
具有包含唯一标识表每一行的值得一列或一组列,为表的主键(PK),一个表只能有一个PK约束。
2. 外键约束
外键(FK)用于建立和加强两个表数据之间的链接的一列或多列。
3. NOT NULL约束
4. DEFAULT约束
5. CHECK约束
CHECK约束用于限制用户输入某一个列的数据,即在该列只能输入指定范围的数据,通过指定的逻辑表达式。
6. UNIQUE约束
指定某一列或多个列不能有相同的两行或两行以上的数据存在。
7. 禁止和删除约束