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 可查看到该表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/196435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Radix Tree用法

目录 一、radix tree定义二、radix tree操作参考资料 一、radix tree定义 对于长整型数据的映射,如何解决Hash冲突和Hash表大小的设计是一个很头疼的问题。 radix树就是针对这种稀疏的长整型数据查找,能快速且节省空间地完成映射。借助于Radix树&#x…

数组实现循环队列(增设队列大小size)

目录 一、前言 1.如何实现循环? 2.如何判断队列为空? 3.如何判断队列为满? 二、循环队列的结构定义 三、循环队列的创建及其初始化 四、入队 五、出队 六、取队头元素 七、取队尾元素 八、循环队列判空 九、循环队列判满 十、循环…

虾皮数据分析网站:了解Shopee市场趋势与优化运营的利器

在如今的电商时代,越来越多的人选择在虾皮购物(Shopee)平台上开设自己的店铺。然而,要在这个竞争激烈的市场中脱颖而出并取得成功,并不是一件容易的事情。为了更好地了解市场趋势、优化产品和店铺运营,了解…

Java面试题(每天10题)-------连载(40)

目录 Mysql篇 1、表中有大字段X(例如:text类型),且字段X不会经常更新,将该字段拆成子表好处是什么? 2、Mysql中InnoDB引擎的行锁是通过加载什么上完成的? 3、Mysql中控制内存分配的全局参数…

功能需求与程序的关系

确定程序的输入和输出:根据功能需求,确定程序的输入数据和输出结果。这有助于我们明确程序的功能和实现方式。设计程序的算法和逻辑:根据功能需求,设计程序的算法和逻辑。这包括确定程序的数据结构、流程控制和算法实现等方面。划…

使用GDBdeug调试QNX程序

使用GDBdeug调试QNX程序 远程调试 启动GDB,比如我的host是x86_64平台,因此: ./qnx/qos223/host/linux/x86_64/usr/bin/x86_64-pc-nto-qnx7.1.0-gdb 连接远程设备,比如雷达: target qnx 172.168.1.10:8000 设置远程工…

​ 华大基因发布《2023年全球地中海贫血认知现状报告》

在地中海沿岸地区、非洲、中东、东南亚和中国南部,一种名为地中海贫血(以下简称“地贫”)的遗传性血红蛋白疾病十分高发,已成为严重危害公共健康和社会稳定的重大问题。近日,华大基因发布《2023年全球地中海贫血认知现…

鸿蒙系统扫盲(四):鸿蒙使用的是微内核?

我们常说,看一个系统是不是自研,就看它的内核,常见的内核分为:宏内核和微内核,当然还有两者结合体,他们到底有什么区别? 1.白话宏内核和微内核 有一天,你结婚了,你和你…

微机原理9

一、单项选择题(本大题共15小题,每小题3分、共45分。在每小题给出的四个备选项中,选出一个正确的答案,请将选定的答案填涂在答题纸的相应位置上。) 8088 系统的内存最大容量为 16MB. 其地址总线为() A. 16 位 B. 20 位 C. 24 位 D. 32 位 2,以CPU为核心…

Java题4:关于java的选择题简答题及答案

题目1:Java中的基本数据类型不包括以下哪种类型? A. double B. string C. char D. boolean 答案:B. string 题目2:以下哪个关键字用于定义一个类? A. class B. interface C. extends D. implements 答案:A…

2023年12月4日:多继承

代码 #include <iostream>using namespace std;class Sofa { private:string sit;int *len; public:Sofa(){cout << "Sofa::无参构造函数" << endl;}Sofa(string sit,int len):sit(sit),len(new int(len)){cout << "Sofa::有参构造函数…

Flutter 开发入门文章汇总

官网文档很详细&#xff0c;搭建环境和学习组件基本可以参考 官网文档 上拉加载和下拉刷新 Flutter 上拉加载和下拉刷新 - 掘金 gradle flutter配置gradle&#xff08;个人笔记&#xff0c;非教程&#xff09;_flutter gradle_追寻着星星的方向的博客-CSDN博客 gradle下载…

【uni-app】赋予你的APP(Android原生)小程序开发能力

采用DCloud(数字天堂&#xff08;北京&#xff09;网络技术有限公司)的uniMPsdk(uni小程序SDK)&#xff0c;是为原生App打造的可运行基于 uni-app 开发的小程序前端项目的框架&#xff0c;从而帮助原生App快速获取小程序的能力。 uni-app文档地址(小程序开发人员开发用) uniMP…

全网最新最全的自动化测试教程:python+pytest接口自动化(9)-cookie绕过登录(保持登录状态

在编写接口自动化测试用例或其他脚本的过程中&#xff0c;经常会遇到需要绕过用户名/密码或验证码登录&#xff0c;去请求接口的情况&#xff0c;一是因为有时验证码会比较复杂&#xff0c;比如有些图形验证码&#xff0c;难以通过接口的方式去处理&#xff1b;再者&#xff0c…

Day39| Leetcode 62. 不同路径 Leetcode 63. 不同路径 II

补 Leetcode 62. 不同路径 题目链接 62 不同路径 dfs题不多说了&#xff0c;dp也可以做。 class Solution { public:int uniquePaths(int m, int n) {int dp[109][109];//vector<vector<int>> dp(m, vector<int>(n, 0));for(int i0;i<m;i){dp[i][0] …

java连接池 理解及解释(DBCP、druid、c3p0、HikariCP)

一、在Java开发中&#xff0c;有许多常见的数据库连接池可供选择。以下是一些常见的Java数据库连接池&#xff1a;不使用数据库连接池的特性&#xff1a; 优点&#xff1a;实现简单 缺点&#xff1a;网络 IO 较多数据库的负载较高响应时间较长及 QPS 较低应用频繁的创建连接和关…

学习pytorch17 pytorch模型保存及加载

pytorch模型保存及加载 代码 import torch import torchvisionvgg16 torchvision.models.vgg16(pretrainedFalse)# 1. save model 1 保存模型结构及模型参数 torch.save(vgg16, ./vgg16_save1.model)# 2. save model 2 只保存模型参数 比第一种保存方法保存的文件要小 t…

企业架构LB-服务器的负载均衡之LVS实现

企业架构LB-服务器的负载均衡之LVS实现 学习目标和内容 1、能够了解LVS的基本工作方式 2、能够安装配置LVS实现负载均衡 3、能够了解LVS-NAT的配置方式 4、能够了解LVS-DR的配置方式 #一、LVS介绍和安装 LVS&#xff08;Linux Virtual Server&#xff09;即Linux虚拟服务器&…

【bug排查解决】现象级延迟8-10s

业务背景 最近公司在做物联网相关的项目&#xff0c;调试过程中发现好玩的bug。 首先一个数据采集场景&#xff0c;plc采集数据全链路&#xff1a; kepServer&#xff08;kepserver IOT gateway&#xff09; -> emqx &#xff08;查看日志&#xff09;-> iot服务 -> 业…

Vue项目目录结构

项目结构 目录说明.vscodeVSCode工具的配置文件node_modulesVue项目的运行依赖文件public资源文件夹&#xff08;浏览器图标&#xff09;src源码文件夹.gitignore配置git忽略文件index.html入口HTML文件package-lock.json信息描述文件&#xff08;所有模块&#xff09;package…