用表组织数据:
我们使用SQL数据库其实就是使用很多表,数据库是由表组成的,而数据也是以表的形式展现出来的,表是列的集合也是信息数据的容器,很多表就构成了数据库。这篇文章讲解如何使用表组织数据,使数据库的结构完整性。下面我们采用个案例:建立学生数据库表来讲解如何创建数据库使用表组织数据。
创建表时要符合完整性。
我们在创建表组织数据时要注意数据的完整性,这是我们创建一个结构良好的数据库的基础,一个结构功能良好的数据库它的数据完整性都比较完善,这样便于以后维护和使用,所以我们在创建表时这点要注意。
为什么要使用完整性。
我们举个例子来分析什么是完整性。看下面的问题想想我们在创建数据库时如何在表里组织这些信息和数据,记得要符合要求。这时我们就需要数据的完整性构成结构完善的数据库。
如何实现数据的完整性。
实现数据的完整性主要从域完整性,实体完整性,引用晚自习,自定义完整性这4点出发来看我们的表是否符合完整性。
怎样实现实体完整性。
我们逐一分析如何使用完整性组织数据,我们是通过约束方法:唯一约束、主键约束、标识列来实现表的实体完整性的。
怎样实现域完整性。
通过限制数据类型,检查约束,输入约束,外键约束,默认值,非空约束等多种方法,可以实现表的域完整性。怎样实现引用完整性。
在输入或删除数据时,引用完整性约束用来保持表之间已定义的关系的完整性,引用完整性通过主键和外键之间的应用关系来实现。例如学生信息表是“主表”,学生成绩表是“子表”,我们有时也叫“相关表”。
怎样使用自定义完整性。
用户自定义完整性用来定义特定的规则,例如,在向用户信息插入一个用户记录时,要通过身份证编号来检查在另一个数据库中是否存在该用户,并且该用户的信息是否满足要求,如果不满足要求者不能插入,这个时候就需要使用数据库的规则,存储过程等方法来进行约束。
首先创建数据库表。在数据库中我们新建一个表来展示如何实现使用表组织数据的完整性。创建一个。
检查列是否为空。
看看我们的要求,那些列可以为空,那些列不可以为空,逐个检查设置下。
给列设置主键。
看看需求,我们可以实现设置主外键来约束引用完整性。
给一个列设置标识列。标识列是保障实体完整性的,这样就可以保障没有重复的数据。创建数据库关系视图。对已经建好的表我们可以查看下数据库关系图,看看他们之间的关系是否完整,可以看看是通过那个保持联系的,在使用删除是就可以避免引用约束的限制。
什么是主键、外键:
关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键
比如学生表(学号,姓名,性别,班级)其中每个学生的学号是唯一的,学号就是一个主键课程表(课程编号,课程名,学分)其中课程编号是唯一的,课程编号就是一个主键成绩表(学号,课程号,成绩)成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键
同理 成绩表中的课程号是课程表的外键
定义主键和外键主要是为了维护关系数据库的完整性,总结一下:
主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。SQL Server数据类型
分类 | 数据类型 | 说明 | |
二进制数据类型 | 用来存储非字符和文本的数据 | binary | 固定长度的二进制数据 |
varbinary | 可变长度的二进制数据 | ||
image | 可用来存储图像 | ||
文本数据类型 | 字符数据包括任意字母、符号或数字字符的组合 | char | 固定长度的非Unicode字符数据,最大长度为8000个字符 |
varchar | 可变长度的非Unicode字符数据 | ||
nchar | 固定长度的Unicode字符数据 | ||
nvarchar | 可变长度的Unicode字符数据 | ||
日期和时间数据类型 | 用于存储日期和时间 | datetime | 从1753年1月1日到9999年12月31日,准确度为三百分之一秒或3.33毫秒 |
数字数据类型 | 该数据仅包含数字、包括正数、负数及分数 |
int smallint tinyint bigint | 整数 |
floa treal | 浮点数 | ||
上表续表
分类 | 数据类型 | 说明 | |
货币数据类型 | 货币数据类型用于十进制货币值,并且精确到小数点后面4位数字 | money | |
bit数据类型 | 表示是/否的数据,只有两种选择,如婚否、是否订购等。在SQL Server 中用1和0表示,一般1表示是,0表示否 | bit | 存储布尔数据类型 |
先总结这么多 请继续关注
多多指教!!