《SQL数据库表的设计》
作者:肖春庆

数据库是一种存储数据的文件储物柜,用户可以以一定的方式存储并且对数据库里的数据进行新增、查询、修改、删除等等操作。它那与多个用户共享,具有尽可能的余度、与应用程序彼此独立的数据集合。数据库是为了管理电脑软件系统。数据库表的设计是对应开发者根据用户的需求,在有数据库管理系统上,设计数据库的架构和数据库的过程,数据库系统需要操作系统的支持。为了能支持相关系统的程序运行,我们要规划和结构化数据库中的数据对象之间的关系。数据库表的设计要严谨,否则开发者在应用数据库表的时候与相关的功能不符合,从而数据库被推翻。

在数据库的设计表之前我们要正确分析的软件运行的功能,才可以建立数据库里的表内容和表头的名称:

sql server sysobjects表结构 sql设计表结构_数据


现在我们做一个登录页面,用户只有正确填写它的用户号(有一些填写用户名也可)和密码,并且选择它的用户类型,只有所有信息填写正确才可以进行下一步操作。说明我们要在数据库里建立一张用户表:分别记录用户的账号、密码,因为用户类型是一个选择框要把用户类型保存到用户类型表里,在用户表保存用户类型ID,通过用户ID进行表和表的关联。然后确定关系。

sql server sysobjects表结构 sql设计表结构_主键_02


我们知道用户表记录的是用户登录时应用的信息,用户填写的用户号、密码和选择的用户类型要和数据库的一致,开发者方便应用这一张表。为了数据的安全和数据库的严谨性,存储到数据库里的密码经过加密过后的。我们通过两张表的主键ID或者是副键ID在数据库里是关系图进行关联。

sql server sysobjects表结构 sql设计表结构_数据库_03


下拉框的选择信息来源是根据数据库里表的内容确定的。下拉框数据是通过提示数据给用户选择,而它关联的数据表的福键存储是ID的数据模型。也就是说开发者要通过用户表绑定的用户类型表信息,进行调用。通过关系与一个实体相关联的其它实体的个数。

一张表和一张表的关系:只能管理一个板块,并且每一个板块只能担任一次。

一张表和多张表的关系:一个人可以实现多种操作,但每一种操作只能对应一个人。

多张表和多张表的关系:好比一个邮箱可以对应多个用户的多对多的关系。

为了正确设计数据库表,避免异常,从而设计出良好的数据库我们要,遵循数据库设计中著名的三大范式理论。

sql server sysobjects表结构 sql设计表结构_主键_04


第一范式的目标时确保每列的原子性:如果每列(或者每个属性值)都是不可再分的最小数据单元(也称为最小的原子但愿),则满足第一范式(1NF)。第二范式在第一范式的基础上,更进一层,其目标是确保表中的每列都和主键相关,如果一个关系满足1NF,并且出了主键以外的其它列,都依赖于该主键,则满足第二范式(2NF)。第三范式在第二范式的基础上,更进一层,第三范式的目标是确保每列都和主键列直接相关,而不是间接相关:如果一个关系满足2NF,并且出了主键以外的其它列都不依赖于主键列,则满足第三范式(3NF)。

数据库信息的保存时,我们要正确给他分配好存储到数据库里的数据类型。在数据架构中的定义是一组性质相同的值集合上操作的总称。变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型确定了如何将代表这一些的位存储的计算机的内存中。在声明变量时也可指定它的数据类型,所有的变量都具有数据类型,以确定能够存储那种数据。数据类型包括原始类型、多元组、记录单元、代数数据类型、抽象数据类型、参考类型以及函数类型。它的主要功能把手机分成所需的内存大小数据。

常用的数据类型:

数据类型 描述 存储

char(n) 固定长度的字符串。 最多 8,000 个字符。

varchar(n) 可变长度的字符串。 最多 8,000 个字符。

varchar(max) 可变长度的字符串。 最多 1,073,741,824 个字符。

text 可变长度的字符串。 最多 2GB 字符数据。

nchar(n) 固定长度的 Unicode 数据。 最多 4,000 个字符。

nvarchar(n) 可变长度的 Unicode 数据。 最多 4,000 个字符。

nvarchar(max) 可变长度的 Unicode 数据。 最多 536,870,912 个字符。

ntext 可变长度的 Unicode 数据。 最多 2GB 字符数据。

bit 允许 0、1 或 NULL 最多 8,000 字节。

binary(n) 固定长度的二进制数据。 最多 8,000 字节。

varbinary(n) 可变长度的二进制数据。 最多 8,000 字节。

varbinary(max) 可变长度的二进制数据。 最多 2GB 字节。

image 可变长度的二进制数据。 最多 2GB。

int 允许从 -2,147,483,648 到 2,147,483,647 的所有数字。 4 字节

smallmoney 介于 -214,748.3648 和 214,748.3647 之间的货币据。 4 字节

money 介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。 8 字节

time 仅存储时间。精度为 100 纳秒。 3-5 bytes

sql server sysobjects表结构 sql设计表结构_主键_05


数据库的关系是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。关系数据库的定义造成元数据的一张表格或造成表格、列、范围和约束的正式描述。

sql server sysobjects表结构 sql设计表结构_主键_06


每个表格包含用列表示的一个或更多的数据种类。 每行包含一个唯一的数据实体,这些数据是被列定义的种类。当创造一个关系数据库的时候,你能定义数据列的可能值的范围和可能应用于那个数据值的进一步约束。SQL语言是标准用户和应用程序到关系数据库的接口,容易扩充。

在我们确定数据库的列表时候我们可以选择里面的内容是否可以为空,数据ID要标明数据ID是为主键。因为通过主键ID和副键进行数据关联。ID使计算列的规范,并且让它自动生成数据ID的ID内容。注意ID内容不可以出现重复。选择确定标知规范。