数据完整性要求数据中的数据具有准确性,准确性是通过数据库表的设计和约束来实现的。
实现数据的完整性,数据库需要做下面的两方作业*检验每行数据是否符合要求
*检验每列数据是否符合要求
1.实体完整性的约束
实体完整性的要求表中的每一行数据都反映不同的实体,不能存在相同的数据行。
通过索引、唯一约束、主键约束或标识列属性,可以实现表的实体完整性。2.域完整性约束
域完整性是的是给定列输入的有效性。
通过限制数据类型、检查约束、输入格式、外键约束、默认值、非空约束等多种方法,可以实现表的域完整性。
3.引用完整性约束
在输入或删除数据时,引用完整性约束用来保持表之间已定义的关系。
4.自定义完整性约束
用户自定义完整性用来定义特定的规则。
自我感觉,学的不太好,写的不太多请见谅
1.主键(Primary Key)
*一个只能有一个主键,并且主键列不允许出现值(Null),有的表可以不用设置主键,但是通常情况下建议啊,为表设置一列为主键。
*设置主键的时候要考虑两个原则:最少性和稳定性。
*最少性:是指列数最少的键,如果可以从单个主键和组合主键中选择,应该选择单个主键,因为操作一列比多列要快。
*稳定性:是指列中数据的特征,由于主键通常用来两个表之间建立关系,所以主键的数据不要经常更新,理想情况下,应该永远不变。
2.外键(Foreign Key)
*“外键”就是用来达到这个目的的,他是相对与主键而言的,就是“从表”中对应于“主表”的列,在从表中称为外键或引用键,它的值要求与主表的主键或唯一键相对应,外键用来强制引用完整性。
*一个表可以有多个外键。
SQL Server数据类型
分列 | 数据类型 | 说明 | |
二进制数据类型 | 用来存存储非字符和文本的数据 | binary | 固定长度的二进制数据 |
varbinary | 可变长度的二进制数据 | ||
image | 可用来存储图像 | ||
文本数据类型 |
字符数据包括任意字母、 符号或数字字符的组合 |
char | 固定长度的非Uniode字符数据,最大长度为8000个字符 |
varchar | 可变长度的非Unicode字符数据 | ||
nchar | 固定长度的Unicode字符数据 | ||
nvarchar | 可变长度的Unicode字符数据 | ||
text | 储存长文本信息 | ||
ntext | 储存可变长度的文本 | ||
日期和时间数据类型 | 用于储存日期和时间 | detatime |
从1753年1月1日到9999年12月31日, 准确的为三百分之一秒或3.33毫秒 |
数字数据类型 |
改数据仅包含数字,包括正数、 负数及分数 |
int smallint tinyint bigint |
整数 |
float real |
浮点数 | ||
货币数据类型 |
货币数据类型用于十进制货币值, 并且精确到小数点后面4位数字 |
money | |
bit |
表示是/否的数据,只有两种选择,如婚否、食肉定购等。 在SQL Server中用1和0表示,一般表示是,0表示否 |
bit | 存储布尔数据类型 |
1.是否允许为空值
数据库的列是否允许为空也是一项约束,如果该列允许为空,则在输入数据行的时候,这一项可以不输入。
2.建立主键
首先嘞,要选择要建立的主键的列右击,然后嘞在弹出的快捷的菜单中选择“设置主键”选项就可以了.
设置该列为主键以后,该列会有个带颜色的钥匙形状的图标进行标识。
要是再不会就在下面点个赞,在线教你哟.
3.默认值
表的默认值设置能够定义一个值,每当用户没有在某一列输入值时,则将所定义的值赋值给这一列。
4.标识列
标识列本身没有具体意义,只是用来区别不同的学生
*如果一列的数据属于数据类型,那么可以把该列定义为标识列。
*定义成标识列之后,还需要分别指定“标识种子”和“标识增量”,默认值都是1。
*定义成标识列之后,在以后每次输入数据的时候,该列随数据行的增加而自动增加数值,并且不会重复。
好的以上就是我对数据库的用表组织数据的内容理解和分析,感觉总是少了点什么
对“建立表之间”的关系还没说是吧,有想知道的就点个赞,我就会告诉你了!!!
我是个在程序员的道路上的一个小白,但是我会坚持的,努力的。
原文:http://www.cnblogs.com/shuaibin/p/4937395.html