SQL Server 数据库,创建数据表(使用T-SQL语句)

2.3表的基本概念

表是包含数据库中所有数据的数据库对象。数据在表中的组织方式与在电子表格中相似,都是 按行和列的格式组织的,每行代表一条唯一的记录,每列代表记录中的一个字段.例如,在包含公 司员工信息的表中,每行代表一名员工,各列分别代表该员工的信息,如编号、姓名,身份证号 职务.出生日期、基本工资等,如图2.16所示

SQL Server 中的表包括下列主要组件。

> 列:每列代表由表建模的对象的某个属性。例如,员工表有编号列、姓名列和职务列等。

> 行:每行代表由表建模的对象的一个单独的实例,例如,公司每名员工在表中均占一行。

2.3.1数据完整性

数据完整性是指数据的精确性和可靠性,它是为防止数据库中存在不符合语义规定的数据和防 止因错误信息的输入/输出造成无效操作或错误信息而提出的。在第1章中,我们已经了解了数据完 整性,它分为以下四类。

1.实体完整性

实体完整性将行定义为特定表的唯一实体。实体完整性通过UNOUE(唯一)索引.UNOUE约束 或PRIMARY KEY(主键)约束,强制表的标识列或主键的完整性。

2.域完整性

域完整性指特定列的项的有效性。可以强制域完整性限制类型(通过使用数据类型),限制格式 (通过使用CHECK约束和规则)或限制可能值的范围(通过使用FOREIGN KEY约束.CHECK约束 DEFAULT定义、NOT NULL定义和规则)。

3.引用完整性

输入或删除行时,引用完整性保留表之间定义的关系.在 SOlL Server中,引用完整性通过 FOREIGNKEY(外键)和CHECK(检查)约束.以外键与主键之间或外键与唯一键之间的关系为基础。 引用完整性确保键值在所有表中一致,这类一致性要求不引用不存在的值,如果一个键值发生更改, 则整个数据库中对该键值的所有引用都要进行一致的更改。

强制引用完整性时,SOL Server将防止用户执行下列操作。

> 在主表中没有关联行的情况下在相关表中添加或更改行。

> 在主表中更改值(可导致相关表中出现孤立行)。

> 在有匹配的相关行的情况下删除主表中的行。

4.用户定义完整性

用户定义完整性可以定义不属于其他任何完整性类别的特定业务规则。所有完整性类别都支持 用户定义完整性,这包括CREATE TABLE 中所有列级约束和表级约束、存储过程及触发器。

2.3.2主键

主键唯一标识表中的行数据,一个主键值对应一行数据。主键由一个或多个字段组成,其值具 有唯一性,而且不允许取空值(NULL),一个表只能有一个主键。

如果主键由多个列组成,则其中一个列将允许重复值,但是主键中所有列的值的各种组合必须 是唯一的。

定义主键可以对在不允许空值的指定列中输入的值强制其唯一性。如果为数据库中的某个表定 义了主键,则可将该表与其他表相关联,从而减少对冗余数据的需求

实验案例

实验步骤

右键数据库clss > 新建查询,执行select * from course 可查看名为course的表,执行drop table course 可删除名为course的表

删除后再次查询

右键数据库clss > 新建查询,

点击红色框里的钩分析是否有语法错误,如没有,点击旁边的执行创建数据表

创建后执行select * from course 可查看到该表

相关推荐
飞将13 分钟前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils20 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波1 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
倔强的石头_5 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横5 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
冬奇Lab5 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence6 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神6 天前
三、用户与权限管理
数据库·mysql