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

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

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

相关文章

游戏盒子推广全攻略:从用户洞察到策略实施

在移动互联网时代,游戏盒子的推广已经成为众多游戏代理商和开发者的重要课题。面对激烈的市场竞争,如何高效吸引并留住玩家,成为游戏盒子推广的关键。本文将结合Xinstall这一专业App推广工具,探讨游戏盒子推广的有效策略。 一、市…

爱心曲线公式大全

local r a*((math.sin(angle) * math.sqrt(math.abs(math.cos(angle)))) / (math.sin(angle) 1.4142) - 2 * math.sin(angle) 2) local x r * math.cos(angle) -- 计算对应的x值 local z r * math.sin(angle) 1.5*a - --曲线公式绘画 local function generateParabola()…

VMware Tools 安装和配置

1. 使用 ISO 映射文件,并且选择.iso文件 2. 启动虚拟机,如果 VMware Tools 是灰色的,那么卸载 open-vm-tools(不要重装),重新启动虚拟机。卸载可以参考:重装 open-vm-tools-CSDN博客 3. 拷贝挂载…

关于mac下的nvm设置淘宝镜像源

1. 进入配置文件修改镜像源 vim ~/.bash_profile增加下面内容 export NVM_NODEJS_ORG_MIRRORhttps://npmmirror.com/mirrors/node/2. 查看远程node镜像 nvm ls-remote3. 下载镜像 nvm install 14.17.64. 使用镜像 nvm use 14.17.6

Vue入门-指令学习-v-show和v-if

v-show: 作用:控制元素的显示隐藏 语法:v-show"表达式" 表达式值true显示,false隐藏 v-if 作用:控制元素的显示隐藏(条件渲染) 语法: vif"表达式" 表达式tr…

No.8 笔记 | SQL 查询语句:数据探索的钥匙

2024/10/7 心记 - 致在路上默默奋斗的你 在当今数字化的时代,网络安全已成为我们生活中不可或缺的一部分。它如同守护数字世界的隐形盾牌,保护着我们的隐私、数据和整个社会的稳定运行。 学习网络安全,是踏上一段充满挑战与机遇的征程。 每一…

leetcode C++特性 AIDL的一些细节

leetcode细节 C的一些特性 【C基础】std::move用法介绍-CSDN博客 c thread的join和joinable的区别_thread joinable-CSDN博客 C线程介绍_std::thread 头文件-CSDN博客 https://blog.csdn.net/weixin_46645965/article/details/136259902 【C】—— 观察者模式-CSDN博客 C 迭…

知识图谱入门——5:Neo4j Desktop安装和使用手册(小白向:Cypher 查询语言:逐步教程!Neo4j 优缺点分析)

Neo4j简介 Neo4j 是一个基于图结构的 NoSQL 数据库,专门用于存储、查询和管理图形数据。它的核心思想是使用节点、关系和属性来描述数据。图数据库非常适合那些需要处理复杂关系的数据集,如社交网络、推荐系统、知识图谱等领域。 与传统的关系型数据库…

erlang学习:Linux命令学习9

sed命令介绍 sed全称是:Stream EDitor(流编辑器) Linux sed 命令是利用脚本来处理文本文件,sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等 sed 的运行…

Windows环境下使用Docker配置MySQL数据库

用Docker配置数据库,无论是做开发,还是做生产部署,都非常的方便 它不需要单独安装数据库,也不用担心出现各种环境的配置问题。 本文将分享用Docker配置数据库的步骤,这里用MySQL举例。 其他的数据库如MSSQL&#xf…

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

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

12.3 Linux_进程间通信_信号机制

概述 什么是信号: 信号是在软件层次上对中断机制的模拟(软中断),是一种异步通信方式。 进程对信号的响应方式: 缺省方式:根据默认行为响应信号忽略信号:不响应信号捕捉信号:根据…

SpringBoot系列 启动流程

文章目录 SpringApplicationSpringApplication#run 启动流程BootstrapContextSpringApplicationRunListenersprepareEnvironmentconfigureEnvironmentconfigurePropertySourcesconfigureProfiles 上下文初始化prepareContextrefreshContextprepareRefreshobtainFreshBeanFactor…

MISC - 第13天(python脚本 重命名文件,拼接二维码,cloacked-pixel工具,中文电码,五笔编码)

前言 各位师傅大家好,我是qmx_07,今天继续讲解MISC的相关知识 [安洵杯 2019]吹着贝斯扫二维码 附件信息: 使用APCHPR暴力破解工具,flag.zip 破解失败可能线索在其他文件,放到hxd查看 在hxd中,发现该文件头JFIF 是j…

晶体规格书及匹配测试

一、晶体参数介绍 晶体的电气规格相对比较简单,如下: 我们逐一看看每个参数, FL就是晶体的振动频率,这个晶体是24.576MHz的。 CL就是负载电容,决定了晶体频率是否准确,包括外接的实际电容、芯片的等效电容以及PCB走线的寄生电容等,核心参数。 Frequency Tolerance是…

matlab碳交易机制下考虑需求响应的综合能源系统优化运行

目录 1 主要内容 架构模型: 需求响应模型: 目标函数: 对比算例设计: 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序复现文献《碳交易机制下考虑需求响应的综合能源系统优化运行》,解决碳交易机制下考虑…

工业缺陷检测深度学习方法

工业缺陷检测深度学习方法 基于深度学习的工业缺陷检测方法可以降低传统人工质检的成本, 提升检测的准确性与效率, 因而在智能制造中扮演重要角色, 并逐渐成为计算机视觉领域新兴的研究热点之一. 其被广泛地应用 于无人质检、智能巡检、质量控制等各种生产与运维场景中. 本综述…

Spring Boot驱动的足球青训俱乐部管理解决方案

1 绪论 1.1研究背景 随着科技的发展,计算机的应用,人们的生活方方面面都和互联网密不可分。计算机的普及使得人们的生活更加方便快捷,网络也遍及到我们生活的每个角落,二十一世纪信息化时代的到来,随着社会科技的不断…

241007深度学习之LeNet

目录 1.LeNet介绍2.组成3.代码实现 1.LeNet介绍 LeNet是最早发布的卷积神经网络之一,他是由AT&T贝尔实验室的研究员Yann LeCun在1989年提出的(并且以其命名),目的是识别图像中手写数字.当时,Yann LeCun发表了第一篇通过反向传播成功训练卷积神经网络的研究论文,这项工作代…

关于CSS Grid布局

关于CSS Grid布局 实际效果参考 参考代码 <template><view class"baseInfo"><up-image class"cover" height"160rpx" width"120rpx" :src"bookInfo.cover"><template #error><view style"…