昨夜,数据库的温柔与妩媚

数据库

之用表组织数据

数据库表相关的几个基本概念

一.数据库的完整性

数据完整性要求数据中的数据具有准确性,准确性是通过数据库表的设计和约束来实现的。

实现数据的完整性,数据库需要做下面的两方作业*检验每行数据是否符合要求

*检验每列数据是否符合要求

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。

*定义成标识列之后,在以后每次输入数据的时候,该列随数据行的增加而自动增加数值,并且不会重复。

好的以上就是我对数据库的用表组织数据的内容理解和分析,感觉总是少了点什么

对“建立表之间”的关系还没说是吧,有想知道的就点个赞,我就会告诉你了!!!

我是个在程序员的道路上的一个小白,但是我会坚持的,努力的。

点个赞!点个赞!点个赞!重要的事情说三遍

原文地址:https://www.cnblogs.com/shuaibin/p/4937395.html