MySQl基础入门⑥

上一章知识内容

1.数据类型的属性

在这里插入图片描述

2.MySql的约束

mysql的约束时指对数据表中数据的一种约束行为,约束主要完成对数据的检验,如果有互相依赖数据,保证该数据不被删除。它能够帮助数据库管理员更好地管理数据库,并且能够确保数据库表中数据的正确性和一致性。

mysql的约束主要包括主键约束、外键约束、非空约束和默认值约束。

(1).主键约束(primary key)

主键约束(primary key)。关系数据库依赖于主键,它是数据库物理模式的基石。主键在物理层面上只有两个用途;唯一标识一行和作为一个可以被外键有效引用的对象。通常在数据表中将一个字段或多个字段组合设置为各种不同的值,以便能唯一地标识数据表中的每一个字段或多个字段称为数据表的主键
它通过可以实现实体完整性,消除数据表冗余数据。一个数据表只能有一个主键约束(可以是复合主键),并且主键约束中的字段不能接受空值。由于主键约束可保证数据的唯一性,因此经常对标识字段定义这种约束。可以在创建数据表时定义主键约束,也可以修改现有数据表的主键约束。

(2).外键约束(foreign key)

外键约束(foreign key)。外键约束保证了数据库中各个数据表中数据的一致性和正确性。将一个数据表的一个字段或字段组合定义为引用其他数据表的主键字段,则引用该数据中的这个字段或字段组合久称为外键

被引用的数据表称为主键约束表,简称为主表,引用表称为外键约束表,简称从表。可以在定义数据表时直接创建外键约束,也可以对现有数据表中的某一个字段或字段组合添加外键约束。

(3).唯一约束(unique)

唯一约束(unique)。一个数据表只能有一个主键,如果有多个字段或多个字段组合需要实施数据唯一性,可以采用唯一约束。可以对一个数据表定义多个唯一约束,唯一约束允许为Null值,但每一个唯一约束字段只允许存在一个Null值。

(4).非空约束(not null)

非空约束(not null)。指定为Not null的字段则不能输入Null值,数据表中出现Null值通常表示值未知或定义,null值不同于零、空格或长度为零的字符串。在创建数据表时,默认情况下,如果在数据表中不指定非空约束,那么数据表中所有字段都可以为空。由于主键约束字段必须保证字段是不为空的。因此,要设置主键约束的字段一定要设置非空约束。

(5).默认值约束(default)

默认值约束(default),默认值约束用来约束当前数据表中的某个字段不输入值时,自动为其添加一个已经设置好的值。可以在创建数据表时为字段指定默认值,也可以在修改数据表时为字段指定默认值。

default约束定义的默认值仅在执行Insert操作(插入数据)时生效,一列最多有一个默认值,
其中包括null值。默认值约束通常用在已经设置了非空约束的字段上,这样能够防止数据表在输入数据时出现错误。

3.数据库设计的三大范式

数据库的范式是设计数据库时要遵循的规范,满足这些规范的数据库是简洁的,同时可以避免出现操作异常。

1. 第一范式:列原子性

第一范式指的是数据中的每一列都是原子的,不可拆分的

2. 第二范式:完全依赖主键

第二范式要求实体的属性完全依赖于主关键字,即数据库表中的每个实例(行)必须可以被唯一的区分,这个唯一的属性列被称为主键。

3. 第三范式: 属性直接依赖于主键

第三范式要求任意非主属性不依赖于其他的非主属性,属性必须直接依赖于主键。出现这种情况需要进行表拆分。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LCR 175. 计算二叉树的深度

一、题目描述 LCR 175. 计算二叉树的深度 二、思路 递归求左右子树的高度 三、解题思路 把大规模的问题拆分成小规模的问题1、要求根节点的二叉树深度 2、转换子问题:求左子树为根节点的二叉树深度 3、转换子问题:成求右子树为根节点的二叉树深度 4、最…

华为北向网管NCE开发教程(2)REST接口开发

华为北向网管NCE开发教程(1)闭坑选接口协议 华为北向网管NCE开发教程(2)REST接口开发 华为北向网管NCE开发教程(3)CORBA协议开发 假设你现在要开始华为北向接口REST协议之前,需要准备如环境 1准…

OpenHarmony教程指南-自定义通知推送

介绍 本示例主要展示了通知过滤回调管理的功能,使用ohos.notificationManager 接口,进行通知监听回调,决定应用通知是否发送。 效果预览 使用说明 1.在使用本应用时,需安装自定义通知角标应用; 2.在主界面&#xff…

Golang基于Redis bitmap实现布隆过滤器(完结版)

Golang基于Redis bitmap实现布隆过滤器(完结版) 为了防止黑客恶意刷接口(请求压根不存在的数据),目前通常有以下几种做法: 限制IP(限流)Redis缓存不存在的key布隆过滤器挡在Redis前 …

ChatGLM:CPU版本如何安装和部署使用

前段时间想自己部署一个ChatGLM来训练相关的物料当做chatgpt使用,但是奈何没有gpu机器,只能使用cpu服务器尝试使用看看效果 我部署的 Chinese-LangChain 这个项目,使用的是LLM(ChatGLM)embedding(GanymedeNil/text2vec…

【活动】2024年AI辅助研发:深度变革与无限潜力

作为一名前端程序员,深入探讨2024年AI在软件研发领域的应用趋势及其影响,我们可以看到一场引人注目的转型正在发生。AI辅助研发对于前端开发而言,不仅意味着效率的飞跃,更是在用户体验设计、代码编写、性能优化、项目管理等诸多方…

什么是Java内存模型

当问到 Java 内存模型的时候,一定要注意,Java 内存模型(Java Memory Model,JMM)它和 JVM 内存布局(JVM 运行时数据区域)是不一样的,它们是两个完全不同的概念。 1.为什么要有 Java …

Windows按文件类型指定默认应用程序方法,.py文件设置默认打开程序实例演示

有两种方法可以设置按文件类型指定默认应用。 一个是系统的设置,但是部分类型里面是没有的,这种就要通过注册表来添加。 如果没有的话,通过 winR 打开运行,然后输入 regedit 打开注册表,在 计算机\HKEY_CLASSES_ROO…

防御保护--IPSEC VPPN实验

实验拓扑图 实验背景:FW1和FW2是双机热备的状态。 实验要求:在FW5和FW3之间建立一条IPSEC通道,保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 IPSEC VPPN实验配置(由于是双机热备状态,所以FW1和FW2只需要配置FW1…

实景三维逛景区,VR智慧景区打造云上旅游新体验

哈尔滨旅游的爆火,让其他地方的文旅景区宣传也纷纷发力。VR智慧景区将传统的旅游体验从线下拓展至线上,为游客带来不一样的旅行体验,人们可以提前在手机上沉浸式体验景区的真实环境,避免实地游玩踩雷,也为人们节省了旅…

COMSOL中使用自定义函数

目录 函数的用法 (1)解析函数 (2)插值函数 (3)分段函数 (4)高斯脉冲 (5)斜坡函数 (6)阶跃函数 (7)矩形…

JAVA实战开源项目:电子元器件管理系统(Vue+SpringBoot)

目录 一、摘要1.1 项目简介1.2 项目录屏 二、研究内容三、界面展示3.1 登录&注册&主页3.2 元器件单位模块3.3 元器件仓库模块3.4 元器件供应商模块3.5 元器件品类模块3.6 元器件明细模块3.7 元器件类型模块3.8 元器件采购模块3.9 元器件领用模块3.10 系统基础模块 四、…

BlackHole

BlackHole 文章目录 BlackHole一、关于 BlackHole功能描述 二、安装、卸载安装方式一:下载安装器方式二:使用 Homebrew 安装 卸载方式一:使用卸载器方式二:手动卸载 三、用户使用指南1、Logic Pro X2、GarageBand3、Reaper4、录制…

线程有几种状态,状态之间的流转是怎样的?

Java中线程的状态分为6种: 1.初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 2.运行(RUNNABLE):Java线程中将就绪(READY)和运行中(RUNNING)两种状态笼统的称为“运行”…

2024 批量下载公众号文章内容/阅读数/在看数/点赞数/留言数/粉丝数导出pdf文章备份(带留言):公众号爱在冰川近3000篇历史文章在线查看,找文章方便了

关于公众号文章批量下载,我之前写过很多文章: 视频更新版:批量下载公众号文章内容/话题/图片/封面/音频/视频,导出html,pdf,excel包含阅读数/点赞数/留言数 2021陶博士2006/caoz的梦呓/刘备我祖/六神读金…

自研cloud框架专题–web模块(三)

项目特点一:框架集成 1.引入核心依赖2.配置相关功能 二:功能介绍 1.swagger支持并提供swagger快速配置2.knife增强swagger支持3.全局请求参数校验(Validation)支持4.字段脱敏支持5.默认jackson序列化6.xss,cors支持7.访问日志支持8.全局异常处理,统一返回结果9.系统关键及常用信…

【Cesium for Supermap】S3MTiles图层box裁剪

效果图: 代码: let viewer new Cesium.Viewer(cesiumContainer);// 添加SuperMap iServer发布的S3M缓存服务let promise viewer.scene.addS3MTilesLayerByScp("http://www.supermapol.com/realspace/services/3D-BIMbuilding/rest/realspace/data…

操作系统体系结构(不是很重点)

目录 一. 大内核与微内核二. 分层结构, 模块化和外核2.1 分层结构2.2 模块化2.3 宏内核与微内核 三. 外核 \quad 一. 大内核与微内核 \quad 由于对系统资源进行管理的功能不会直接涉及硬件, 所以有的就没有把这个功能放在内核里面 注意: 考试的时候不要写变态, 要写CPU状态的转…

数据结构---复杂度(1)

1.时间复杂度 衡量算法的好坏,使用大写的o来表示时间复杂度,通俗的讲,就是一个算法执行的次数; 时间复杂度就是数学里面的函数表达式;本质上是一个函数; 下面举几个例子: (1)这里的执行次数是…

Redis 之七:穿透、击穿、雪崩

(本内容部分来自知乎网等网络) Redis 缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严…