当前位置: 首页 > news >正文

SQL Server—约束和主键外键详解

  • SQL Server—约束和主键外键详解

  • 约束和主键外键

    • 主键 和 外键

      • -- 主键:
        • 关系型数据库中一条记录有若干个属性,若其中某一个属性能够位置标识这条记录,这个属性就可以设置为表的主键,主键是确定一条记录的唯一标识,有可能作为主键的属性 学生ID、身份证号

          -- 主键的特点:

              -- 1. 唯一性: 主键必须是唯一的 不能重复

              -- 2. 非空性: 主键字段不能为null

              -- 3. 稳定性: 主键一旦确定 就不能应该别修改

              -- 4. 永久性: 主键值在整个数据库生命周期中是唯一不变的

      • -- 外键:
        • 外键用于与另外一张的关联,是能确定另一张表记录的字段,用于保持数据的一致性,

          -- 外键的特点:

              -- 1. 可控性: 外键的字段值允许为空,表示没有找到关联的表的数据

              -- 2. 数据的一致性: 外键就是用来保持表之间数据的一致性,要求瓦检在另外一个表中

              -- 3. 引用关系: 外键可以关联到另外一个表主键上

    • 约束

      • 1 实体完整性约束
        • -- 1 主键约束 primary key:

        • -- 语法: alter table 表名 add constraint 约束名 primary key(列名)

          alter table XueShengTable add constraint PK_StudentId primary key(StudentId)

          也可以在定义列时添加主键

          Id int identity(100000,1) primary key,

        • -- 2 唯一约束 nique:

        • -- 语法: alter table 表名 add constraint 约束名 unique(列名)

          alter table XueShengTable add constraint UQ_Age unique(Age)

      • 2 域完整性约束
        • -- 1 范围约束 check(列名 between 范围1 and 范围2):

        • -- 语法 alter table 表名 add constraint 约束名 check(列名 between 范围1 and 范围2)

          alter table XueShengTable add constraint CK_Age check(Age between 13 and 55)

        • -- 2 长度约束:

        • alter table 表名 add constraint 约束名 check(len(Phone) = 11)

        • -- 3 默认约束:

        • alter table 表名 add constraint 约束名 default('默认地址') for StudentAddress

      • 3 引用约束
        • -- 外键约束:

        • -- alter table XueShengTable add constraint FK_ClassId foreign key(ClassId) references StudentClass(ClassId)

      • 4 扩建
        • 1. 设置默认值约束

          alter table Students add constraint SA_StudentAddress default('地址不详')for StudentAddress

        • 1. 设置默认值为当前时间约束

          alter table ScoreList add constraint SA_UpdateTime default(getdate())for UpdataTime

相关文章:

SQL Server—约束和主键外键详解

SQL Server—约束和主键外键详解 约束和主键外键 主键 和 外键 -- 主键: 关系型数据库中一条记录有若干个属性,若其中某一个属性能够位置标识这条记录,这个属性就可以设置为表的主键,主键是确定一条记录的唯一标识,有可能作为主键…...

信息学奥赛复赛复习14-CSP-J2021-03网络连接-字符串处理、数据类型溢出、数据结构Map、find函数、substr函数

PDF文档回复:20241007 1 P7911 [CSP-J 2021] 网络连接 [题目描述] TCP/IP 协议是网络通信领域的一项重要协议。今天你的任务,就是尝试利用这个协议,还原一个简化后的网络连接场景。 在本问题中,计算机分为两大类:服务机&#x…...

Allegro如何合并同名网络铜皮操作指导

Allegro如何合并同名网络铜皮操作指导 Allegro可以将同名网络的铜皮合并起来,如下图,需要把下面两块铜皮合并成一块铜皮 具体操作如下 选择Shape 选择merge shapes Find选择shapes 点击其中一块铜皮,会被亮起来 再点击另外一块铜皮 两块铜皮…...

【探测器】线阵相机中的 TDI 技术

【探测器】线阵相机中的 TDI 技术 1.背景2.TDI相机3.场景应用 1.背景 TDI 即Time Delay Integration时间延迟积分。 TDI相机是线阵相机的一种特殊类型,带有独特的时间延迟积分(TDI)技术。 换句话说,TDI相机是线阵相机的一个高级版…...

k8s 之安装metrics-server

作者:程序那点事儿 日期:2024/01/29 18:25 metrics-server可帮助我们查看pod的cpu和内存占用情况 kubectl top po nginx-deploy-56696fbb5-mzsgg # 报错,需要Metrics API 下载 Metrics 解决 wget https://github.com/kubernetes-sigs/metri…...

java学习-idea编辑器基础使用设置

首先打开电脑中的idea编辑器,点击头部:File按钮 → Settings… 打开设置界面; 设置idea的主题 设置idea代码注释的字体颜色 设置idea编辑器的字体和字体大小 设置idea通过提示回车自动导入包 设置idea输入忽略大小写进行提示...

PDSCH(物理下行共享信道)简介

文章目录 PDSCH(物理下行共享信道)简介1. Transport block CRC attachment2. LDPC base graph selection3. Code block segmentation And Code Block CRC Attachment4. Channel Coding5. Rate Matching6. Code Block Concatenation7. Scrambling8. Modul…...

hutool bug

Hutool参考文档 不用随便升级版本 版本5.8 1: 不要用 ReflectUtil.newInstance(cName); * 和spring 部分框架整合 ,子类转换为父类或者接口失败,报转换失败的错误 https://gitee.com/dromara/hutool/issues/I18NCR?skip_mobiletrue 改成使…...

69.x的平方根 367.完全有效的平方数

题目:69. x 的平方根 - 力扣(L69eetCode) 经典平方根问题,用二分法慢慢逼近找开方值,注意mid*mid要用long long值,不然会溢出 class Solution { public:int mySqrt(int x) {int left 0; int right x;int ans -1; w…...

Android Automotive(一)

目录 什么是Android Automotive Android Automotive & Android Android Automotive 与 Android Auto 什么是Android Automotive Android Automotive 是一个基础的 Android 平台,它能够运行预装的车载信息娱乐系统(IVI)应用程序,以及可选的二方和三方 Android 应用程…...

命令设计模式

简介 命令模式(Command Pattern)是对命令的封装,每一个命令都是一个操作:请求方发出请求要求执行一个操作;接收方收到请求,并执行操作。命令模式解耦了请求方和接收方,请求方只需请求执行命令&…...

探索智能新境界:最好用的AI工具盘点

你用过最好用的AI工具有哪些? 在人工智能技术飞速发展的今天,AI工具正逐渐成为我们工作和生活中不可或缺的助手。它们不仅提高了效率,还为我们提供了创新的解决方案。作为一名对AI充满热情的用户,我有幸体验了许多优秀的AI工具。…...

【Redis】持久化(下)-- AOF

文章目录 AOF概念如何使用AOFAOF工作流程命令写入演示文件同步策略 AOF的重写机制概念触发重写机制AOF重写流程 启动时数据恢复混合持久化总结 AOF 概念 AOF持久化:以独立日志的方式记录每次的写命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的.AOF的主要作用是解决…...

用Arduino单片机制作一个简单的音乐播放器

Arduino单片机上有多个数字IO针脚,可以输出数字信号,用于驱动发声器件,从而让它发出想要的声音。蜂鸣器是一种常见的发声器件,通电后可以发出声音。因此,单片机可以通过数字输出控制蜂鸣器发出指定的声音。另外&#x…...

软件工程相关

1.软件过程模型(重要) 1.1.瀑布模型 只适合需求明确的项目严格串行化,很长时间才能看到结果。严格区分阶段,每个阶段因果紧密相连,且要求每个阶段一次性解决该阶段的任务 1.2.原型模型(构造简易模型确定…...

速盾:游戏加速下载可以用cdn吗?

随着互联网的快速发展,游戏下载已经成为许多游戏玩家的常见需求。然而,由于游戏文件体积庞大,下载速度经常成为制约因素之一。为了解决这个问题,许多玩家开始寻找可以加速游戏下载速度的方法。其中一种常见的方法是使用CDN&#x…...

每日新闻掌握【2024年9月25日 星期三】

2024年9月25日 星期三 农历八月廿三 大公司/大事件 央行降低存量房贷利率,二套房贷最低首付比例下调到15% 国务院新闻办公室9月24日上午举行新闻发布会,中国人民银行、金融监管总局、中国证监会主要负责人介绍了金融支持经济高质量发展有关情况。多项重…...

8. Bug 与 Error

计算机程序中的缺陷通常被称为 bug。把它们想象成偶然爬进我们工作中的小东西,会让程序员感觉良好。当然,实际上是我们自己把它们放进去的。 如果程序是思想的结晶,我们可以将错误大致分为思想混乱造成的错误和将思想转化为代码时引入错误造成…...

论文 | Model-tuning Via Prompts Makes NLP Models Adversarially Robust

这篇论文研究了使用提示 (Prompting) 方法微调预训练语言模型,以提高其在对抗样本攻击下的鲁棒性。论文的主要贡献如下: 1.MVP 比 MLP-FT 更鲁棒: 论文比较了 MVP (Model-tuning Via Prompts) 和传统的 MLP-FT (Fine-tuning with an MLP head…...

828华为云征文|华为云Flexus云服务器X实例部署 即时通讯IM聊天交友软件——高性能服务器实现120W并发连接

营运版的即时通讯IM聊天交友系统:特点可发红包,可添加多条链接到用户网站和应用,安卓苹果APPPC端H5四合一 后端开发语言:PHP, 前端开发语言:uniapp混合开发。 集安卓苹果APPPC端H5四合一APP源码&#xff0…...

全栈代码资源聚合库:开发者如何高效利用开源代码示例提升工程能力

1. 项目概述:一个面向开发者的全栈代码资源聚合库最近在GitHub上看到一个挺有意思的项目,叫wuwangzhang1216/claude-code-source-all-in-one。光看这个名字,你大概能猜到这是个什么——没错,这是一个围绕“代码”和“源代码”做文…...

【限时开放】建筑AI效果图「可信度认证」白皮书(含结构合理性AI校验算法、日照模拟误差阈值、施工图级细节识别SOP)

更多请点击: https://intelliparadigm.com 第一章:建筑AI效果图“可信度认证”白皮书发布背景与核心价值 近年来,AIGC技术在建筑设计领域爆发式应用,大量AI生成的效果图被用于方案汇报、客户沟通甚至报建材料。然而,…...

TarsCpp协程实现原理:从用户态上下文切换看高性能RPC框架设计

1. 从线程到协程:为什么TarsCpp要拥抱协程?在分布式微服务架构里,我们每天都在和RPC、网络IO、并发处理打交道。传统的多线程模型,一个请求一个线程,逻辑清晰,但线程创建、上下文切换的开销,以及…...

从3D打印到智能光效:制作可编程NeoPixel守护者之剑全流程

1. 项目概述:当数字建模遇见智能光效作为一名在创客领域摸爬滚打了十多年的老玩家,我经手过无数个将虚拟想法变为现实的项目。但每次看到那些融合了数字制造与智能交互的作品,比如一把能自己发光的游戏道具,依然会感到兴奋。这不仅…...

STL到STEP格式转换:技术选型与实施指南

STL到STEP格式转换:技术选型与实施指南 【免费下载链接】stltostp Convert stl files to STEP brep files 项目地址: https://gitcode.com/gh_mirrors/st/stltostp 在制造业数字化转型的背景下,3D数据格式互操作性已成为工程团队面临的核心挑战。…...

在OpenClaw中集成Taotoken实现多模型Agent工作流的详细步骤

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在OpenClaw中集成Taotoken实现多模型Agent工作流的详细步骤 对于使用OpenClaw构建AI Agent的开发者而言,能够灵活调用不…...

NoFences:如何用开源方案解决Windows桌面管理难题

NoFences:如何用开源方案解决Windows桌面管理难题 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences Windows桌面图标管理长期困扰着用户,NoFences作为开…...

网盘下载新革命:一劳永逸的直链解析方案

网盘下载新革命:一劳永逸的直链解析方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云…...

从数据云到ArcGIS:一站式掌握DEM影像的获取、拼接与裁剪实战

1. DEM影像基础与数据源选择 数字高程模型(DEM)是地理信息系统中描述地表形态的基础数据,广泛应用于地形分析、水文模拟、工程建设等领域。对于刚接触GIS的朋友来说,最常见的困惑就是:从哪里获取DEM数据?不…...

面试官最爱问的iOS底层三剑客:RunLoop、KVO、Runtime实战避坑指南

面试官最爱问的iOS底层三剑客:RunLoop、KVO、Runtime实战避坑指南 在iOS开发的中高级面试中,RunLoop、KVO和Runtime这三个底层机制几乎成为必考题。但很多开发者仅仅停留在概念背诵层面,当面试官深入追问实现原理或实战场景时往往语塞。本文将…...