数据类型:
基本数据类型:按数据的表现方式及存储方式的不同可以分为以下几个类型
- 整数数据类型
- 货币数据类型
- 浮点数据类型
- 日期/时间数据类型
- 字符数据类型
- 二进制数据类型
- 图形和文本数据类型
用户自定义数据类型。用自定义数据类型并不是真正的数据类型,通过使用自定义数据类型能够简化对常用规则和默认值的管理。
数据表的数据完整性:
数据完整性是指列中的每个事件都有正确的数据值。数据值的数据类型必须正确,并且数据值必须位于正确域中。
引用完整性是指表之间的关系得到正确的维护。一表中的数据只应指向另一表中的现有行,不应指向不存在的行。
Sql server 提供多种强制数据完整性的机制。
- 空值与非空(NULL 或 NOT NULL)
- 默认值(Default)
- 特定标识属性(IDENTITY 自增列)
- 约束(5种约束 非空 检查 唯一性 主键 外键)
约束
唯一约束:当在表中已创建主键,但又要保证其数据列的值唯一时,可以使用唯一(UNIQUE)约束。 检查约束:检查(CHECK)约束通过限制输入到列中的值来强制域的完整性。此类约束类似于FOREIGN KEY约束,可以控制放入列中的值。但是,他们确定有效值的方式不同:FOREIGN KEY 约束从其他表获得有效值列表,而check约束通过不基于其他列中的数据的逻辑表达式确定有效值。例如创建CHECK约束可以将某列的值控制在一个取值范围内,从而防止输入的数据超出指定的范围。
默认约束:默认约束使用用户能够定义一个值,每当用户没有在某一列输入值时,则将用户定义的值提供给这一列。可以使用默认值约束为该列输入默认值。
主键约束:PK
外键约束:FK
关系的创建与维护
表与表之间存在3种类型的关系:一对一,一对多,多对多。
一对一:次关系的特点主要体现在一下几点
- 分割一个含有许多列的表;
- 出于安全考虑而隔离表的某一部分;
- 存储可以很容易删除的临时数据,只需删除表即可删除这些数据;
- 存储之应用于主表子集的信息;
多对多:多对多关系是指关系中每个表的行在相关表中具有多个匹配行。在数据库中,多对多关系的建立是依靠第三个表(连接表)来实现的,连接表包含相关的两个表的主键列。