武威市网站建设,wordpress没有侧边栏,域名后缀一览表,做网站的logo表的基本概念 表是包含数据库中所有数据的数据库对象。数据在表中的组织方式与在电子表格中相似#xff0c;都是 按行和列的格式组织的。每行代表一条唯一的记录#xff0c;每列代表记录中的一个字段。例如#xff0c;在包含公 司员工信息的表中#xff0c;每行代表一名员工… 表的基本概念 表是包含数据库中所有数据的数据库对象。数据在表中的组织方式与在电子表格中相似都是 按行和列的格式组织的。每行代表一条唯一的记录每列代表记录中的一个字段。例如在包含公 司员工信息的表中每行代表一名员工各列分别代表该员工的信息如编号、姓名、身份证号、 职务出生日期、基本工资等。 SQL Server 中的表包括下列主要组件
列每列代表由表建模的对象的某个属性。例如员工表有编号列、姓名列和职务列等。
行每行代表由表建模的对象的一个单独的实例。例如公司每名员工在表中均占一行。 数据完整性 数据完整性是指数据的精确性和可靠性它是为防止数据库中存在不符合语义规定的数据和防止因错误信息的输入/输出造成无效操作或错误信息而提出的它分为以下四类。
1.实体完整性 实体完整性将行定义为特定表的唯一实体。实体完整性通过UNOUE唯一索引.UNIQUE约束 或PRIMARY KEY主键约束强制表的标识列或主键的完整性。
2.域完整性 域完整性指特定列的项的有效性。可以强制域完整性限制类型通过使用数据类型、限制格式 通过使用CHECK约束和规则或限制可能值的范围通过使用FOREIGN KEY约束、CHECK约束、 DEFAULT 定义、NOT NULL定义和规则。
3.引用完整性 输入或删除行时引用完整性保留表之间定义的关系。在 SQL Server中引用完整性通过 FOREIGNKEY外键和CHECK检查约束以外键与主键之间或外键与唯一键之间的关系为基础。 引用完整性确保键值在所有表中一致。这类一致性要求不引用不存在的值如果一个键值发生更改 则整个数据库中对该键值的所有引用都要进行一致的更改。 强制引用完整性时SQL Server将防止用户执行下列操作。 在主表中没有关联行的情况下在相关表中添加或更改行。 在主表中更改值可导致相关表中出现孤立行。 在有匹配的相关行的情况下删除主表中的行。
4.用户定义完整性 用户定义完整性可以定义不属于其他任何完整性类别的特定业务规则。所有完整性类别都支持 用户定义完整性这包括CREATE TABLE 中所有列级约束和表级约束、存储过程及触发器。 主键 主键唯一标识表中的行数据一个主键值对应一行数据。主键由一个或多个字段组成其值具 有唯一性而且不允许取空值NULL一个表只能有一个主键。 如果主键由多个列组成则其中一个列将允许重复值但是主键中所有列的值的各种组合必须是唯一的。 定义主键可以对在不允许空值的指定列中输入的值强制其唯一性。如果为数据库中的某个表定 义了主键则可将该表与其他表相关联从而减少对冗余数据的需求。
数据类型
数据类型是数据的一种属性用于指定对象可保存的数据的类型如整数数据、字符数据、货 币数据、日期和时间数据、字符串等。 SQL Server提供系统数据类型集该类型集定义了可与SOL Server一起使用的所有数据类型。 SQL Server 中的数据类型可以归纳为下列类别精准数字、近似数字、日期和时间、字符串、 Unicode 字符串、二进制字符串、其他数据类型。下面分别对一些常见的数据类型进行介绍。
精准数字可以分为九种数据类型 近似数字可以分为两种数据类型 日期和时间可以分为六种数据类型 字符串可以分为三种数据类型 Unicode字符串可以分为三种数据类型 二进制字符串可以分为三种数据类型 默认值 如果插入行时没有为列指定值则该列使用默认值。默认值可以是计算结果为常量的任何值 如常量、内置函数或数学表达式。 对于表中的每个列可以指定当用户将该列保留为空白时将在该列中输入的默认值。如果没有 分配默认值并将该列保留为空白则
如果设置了允许空值的选项则将向该列中插入NULL。 如果没有设置允许空值的选项则该列将保持空白但在用户为该列提供值之前它们将无法保存行。
标识列 对于每个表均可创建一个包含系统生成的序号值的标识列该序号值以唯一方式标识表中的 每行。例如当在表中插入行时标识列可自动为应用程序生成唯一的客户回执编号。标识列在其 所定义的表中包含的值通常是唯一的。 可以使用标识列在表中创建自动递增标识号所以标识列习惯上又叫自增列只能为每个表创 建一个标识列。 标识列具有以下三种特点。 列的数据类型为不带小数的数值类型。 在进行插入(Insert)操作时该列的值由系统按一定规律生成不允许空值。 列值不重复具有标识表中每行的作用每个表只能有一个标识列。 创建一个标识列通常要指定以下三个内容。 类型Type在SOL Server 2008中标识列类型必须是数值类型如decimal、int、numeric. smallint、bigint、tinyint。其中要注意的是当选择decimal和numeric时小数位数必须为 零。另外还要注意每种数据类型所表示的数值范围。
种子Seed指派给表中第一行的值默认为1。
递增量Increment)相邻两个标识值之间的增量默认为1。 检查约束 通过限制列可接受的值CHECK约束可以强制域的完整性。此类约束类似于FOREIGNKEY约束 因为可以控制放入列中的值。但是它们在确定有效值的方式上有所不同FOREIGNKEY约束从其他 表获得有效值列表而CHECK约束通过不基于其他列中的数据的逻辑表达式确定有效值。 可以通过任何基于逻辑运算符返回True 或False的逻辑布尔表达式创建 CHECK约束。 例如可以通过创建CHECK约束将age列中值的范围限制为0150之间的数据以防止输入的年龄值超出正常的年龄范围。 逻辑表达式为 “age 0 and age 150” 视图模式管理表
创建表 下面将介绍使用SSMS创建数据表的步骤。
案例某公司需要在名为“class”的数据库中创建表表名称为employee”其中包含列为 编号int、姓名nvarchar(50、身份证号varchar(18.职务nvarchar(50.基本工资money. 备注nvarchar2000。其中编号自动生成从1开始每增加一人则其编号自动加1要 求输入基本工资的时候其值必须为0~100000设置身份证号列为主键。
具体操作步骤如下所述。
1打开SSMS然后展开数据库右击“表”节点在弹出的快捷菜单中选择“新建”→ “表”命令。 2输入第一列的列名为“编号”数据类型设置为“int保持“允许NUll值”复选框为默认 的选中状态。 3为该列设置标识规范。在“列属性”选项卡中将“是标识”的值改为“是”“标识增量”和“标识种子”分别设置为“1”可以发现表的“编号”列的“允许NUll值”复选框被自动清 空说明标识列自动增量系统不允许其出现空值。 4分别新建列“姓名”“身份证号”“职务”“基本工资”“备注”。 5由于要求输入基本工资的时候其值必须为0~100000.因此可以在“基本工资”列设置 CHECK约束即右击“基本工资”在弹出的快捷菜单中选择“CHECK约束”命令。 6在打开的“CHECK约束”对话框中单击“添加”按钮然后在“表达式”右边的文本框 中输入“基本工资0 and 基本工资100000”,在“名称”右边的文本框中修改为“CK_Table_ 基本工资”确认无误后单击“关闭”按钮。 7右击“身份证号”在弹出的快捷菜单中选择“设置主键”命令可将该列设置为主键主 键列的左边会显示“黄色钥匙”图标。 8设置完成后保存该表右击表名在弹出的快捷菜单中选择“保存”命令命令保存后在SSMS中可以看到新建完成的表。