【数据库的基础知识(2)】
🌹作者:云小逸
📝个人主页:云小逸的主页
📝Github:云小逸的Github
🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。==希望春天来之前,我们一起面朝大海,春暖花开!==🤟
👏专栏:C++👏 👏专栏:Java语言👏👏专栏:Linux学习👏
👏专栏:C语言初阶👏👏专栏:数据结构👏👏专栏:备战蓝桥杯👏
文章目录
- 前言
 - 
 
- 第二章关系数据库:
 - 关系数据结构及形式化定义:
 - 关系:
 - 从两个方面理解:
 - ◼ 单一的数据结构----关系
 - ◼ 逻辑结构----二维表
 
- 基础概念:
 - 域(Domain)
 - 笛卡尔积(Cartesian Product)
 - ◼ 元组(Tuple)
 - ◼ 分量(Component)
 - ◼ 基数(Cardinal number)
 - ◼ 笛卡尔积的表示方法
 
- 关系(Relation)
 - 关系:
 - 元组
 - 单元关系与二元关系
 - 关系的表示
 - 属性
 - 码
 - 候选码(Candidate key)
 - 全码(All-key)
 - 主码
 - 主属性
 
- 基本关系的性质
 
- 关系模式:
 - 关系模式通常可以简记为
 - 关系模式与关系
 - 关系数据库
 
- 关系操作:
 - 常用的关系操作
 - 关系操作的特点
 
- 关系的完整性:
 - 关系的三类完整性约束:
 - 实体完整性
 - 规则2.1 实体完整性规则(Entity Integrity)
 
- 参照完整性:
 - 用户定义的完整性:
 
- 总结:
 - 
 
- 最后
 - 
 - 
 
前言
今天接着上一篇文章【【数据库系统概论】基础知识总结】继续接着写,码字不易,请多多支持!
 ——————————————————————————————
首先先写上几句话:献给坚持创作的我和点开这篇文章希望进步的你
 1.没人会等你,风生水起靠自己。
2.你考的不是试,是前途和暮年的欢喜,你桌面上的书本,是将来做选择的意气,和拒绝时的底气。
3.“今天所有的混乱与芜杂,努力与精进,都将在进步中变得更加清晰。”
 ——新京报报道
4.我偏爱自己骨子里那份温柔与干净,但也有生性的冷淡与孤傲,生命几许,遵从自己。
5.向自己保证,让自己变得强大,让任何外物都无法打破你内心的宁静与平和。
 ——《小王子》
 
第二章关系数据库:
关系数据结构及形式化定义:
关系:
从两个方面理解:
◼ 单一的数据结构----关系
现实世界的实体以及实体间的各种联系均用关系来表示
◼ 逻辑结构----二维表
从用户角度,关系模型中数据的逻辑结构是一张二维表
 ◼ 建立在集合代数的基础上
基础概念:
域(Domain)
域是一组具有相同数据类型的值的集合。例:
 ➢ 整数
 ➢ 实数
 ➢ 介于某个取值范围的整数
 ➢ 长度指定长度的字符串集合
 ➢ {‘男’,‘女’}
 ➢ ………………
笛卡尔积(Cartesian Product)
给定一组域D1,D2,…,Dn,这些域中可以有相同的。
 D1,D2,…,Dn的笛卡尔积为:
 D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}
 ◼ 所有域的所有取值的一个组合
 ◼ 不能重复
 D1={1,2,3},D2={M,F},D3={1,2}
 D1×D2×D3=?
◼ 元组(Tuple)
◼ 笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n
 元组(n-tuple)或简称元组(Tuple)
 ◼ (张清玫,计算机专业,李勇)、(张清玫,计算机专业,
 刘晨)等都是元组
◼ 分量(Component)
◼ 笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫
 作一个分量
 ◼ 张清玫、计算机专业、李勇、刘晨等都是分量
◼ 基数(Cardinal number)
◼ 若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,
 2,…,n),则D1×D2×…×Dn的基数M为:
◼ 笛卡尔积的表示方法
◼ 笛卡尔积可表示为一个二维表
 ◼ 表中的每行对应一个元组,表中的每列对应一个域
关系(Relation)
关系:
D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)
 ◼ R:关系名
 ◼ n:关系的目或度(Degree)
元组
关系中的每个元素是关系中的元组,通常用t表示。
单元关系与二元关系
当n=1时,称该关系为单元关系(Unary relation)
 或一元关系
 当n=2时,称该关系为二元关系(Binary relation)
关系的表示
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域

属性
◼ 关系中不同列可以对应相同的域
 ◼ 为了加以区分,必须对每列起一个名字,称为属性(Attribute)
 ◼ n目关系必有n个属性
码
候选码(Candidate key)
若关系中的某一属性组的值能唯一地标识一个元组,而其子
 集不能,则称该属性组为候选码
 简单的情况:候选码只包含一个属性
全码(All-key)
最极端的情况:关系模式的所有属性组是这个关系模式的候
 选码,称为全码(All-key)
主码
若一个关系有多个候选码,则选定其中一个为主码(Primary key)
主属性
候选码的诸属性称为主属性(Prime attribute)
 不包含在任何侯选码中的属性称为非主属性( NonPrime attribute)或非码属性(Non-key attribute)
基本关系的性质
① 列是同质的(Homogeneous)
 ② 不同的列可出自同一个域
 ◼ 其中的每一列称为一个属性
 ◼ 不同的属性要给予不同的属性名
 ③ 列的顺序无所谓,列的次序可以任意交换
 ④ 任意两个元组的候选码不能相同
 ⑤ 行的顺序无所谓,行的次序可以任意交换
 ⑥ 分量必须取原子值
 这是规范条件中最基本的一条
 
关系模式:
关系模式可以形式化地表示为:
R(U,D,DOM,F)
R 关系名
U 组成该关系的属性名集合
D 属性组U中属性所来自的域
DOM 属性向域的映象集合
F 属性间的数据依赖关系集合
关系模式通常可以简记为
R (U) 或 R (A1,A2,…,An)
 ◼ R: 关系名
 ◼ A1,A2,…,An
 : 属性名
 注:域名及属性向域的映象常常直接说明为属性的类型、长度
关系模式与关系
◼ 关系模式
 ◼ 对关系的描述
 ◼ 静态的、稳定的
 ◼ 关系
 ◼ 关系模式在某一时刻的状态或内容
 ◼ 动态的、随时间不断变化的
 ◼ 关系模式和关系往往统称为关系
 通过上下文加以区别
关系数据库
◼ 在一个给定的应用领域中,所有关系的集合构成一
 个关系数据库
关系操作:
常用的关系操作
◼ 查询:选择、投影、连接、除、并、交、差
 ◼ 数据更新:插入、删除、修改
 ◼ 查询的表达能力是其中最主要的部分
 ◼ 选择、投影、并、差、笛卡尔积是5种基本操作
关系操作的特点
◼ 集合操作方式:操作的对象和结果都是集合,一次一集
 合的方式
关系的完整性:
关系的三类完整性约束:
◼ 实体完整性和参照完整性:
 关系模型必须满足的完整性约束条件
 称为关系的两个不变性,应该由关系系统自动支持
 ◼ 用户定义的完整性:
 应用领域需要遵循的约束条件,体现了具体领域中的语义约束
实体完整性
规则2.1 实体完整性规则(Entity Integrity)
若属性A是基本关系R的主属性,则属性A不能取空值
 例:
 SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
 POSTGRADUATE:
 主码(假设研究生不会重名)
 不能取空值
参照完整性:
-  
关系间的引用:
在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。

 -  
外码:
◼ 设F是基本关系R的一个或一组属性,但不是关系R的码。
如果F与基本关系S的主码Ks相对应,则称F是基本关系R
的外码
◼ 基本关系R称为参照关系(Referencing Relation)
◼ 基本关系S称为被参照关系(Referenced Relation)
或目标关系(Target Relation)

 

 
 ◼ 关系R和S不一定是不同的关系
 ◼ 目标关系S的主码Ks 和参照关系的外码F必须定义在同一个
 (或一组)域上
 ◼ 外码并不一定要与相应的主码同名
 当外码与相应的主码属于不同关系时,往往取相同的名
 字,以便于识别
- 参照完整性规则:
规则2.2 参照完整性规则
若属性(或属性组)F是基本关系R的外码它与基本关系S
的主码Ks相对应(基本关系R和S不一定是不同的关系),
则对于R中每个元组在F上的值必须为:
◼ 或者取空值(F的每个属性值均为空值)
◼ 或者等于S中某个元组的主码值


 
用户定义的完整性:
◼ 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求
 ◼ 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能
总结:
1、关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
 2、关系操作︰查询操作和插入、删除、修改操作两大部分。查询操作又可分为选择、投影、连接、除、并、差、交、笛卡尔积等。
 3、实体完整性:主属性不能为空;参照完整性:关系与关系间的引用(一般为两张表,或者一张表内部也存在)﹔用户自定义的完整性。
最后
十分感谢你可以耐着性子把它读完和我可以坚持写到这里,送几句话,对你,也对我:
1.你勤奋充电,你努力工作,你保持身材,你对人微笑,这些都不是为了取悦他人,
 而是为了扮靓自己,告诉自己:我是一股独立向上的力量。
2.岂能尽如人意,但求无愧与我心。
3.将来的我比现在好,这一点,我已经有了把握。
 ——王小波
4.我多绕了一点路却没有得到更好的结果。一定是一件让人沮丧的事情吧。
 那不是代表你做的不够好,可能日子希望你能走的更远一些,去遇到那个更好的人,拥抱那个更值得的自己,还没走到最后,请你不要轻易否定努力过的自己。
5.找不到答案的时候,就找自己。
 
最后如果觉得我写的还不错,请不要忘记点赞✌,收藏✌,加关注✌哦(。・ω・。)
愿我们一起加油,奔向更美好的未来,愿我们从懵懵懂懂的一枚菜鸟逐渐成为大佬。加油,为自己点赞!
 
相关文章:
【数据库的基础知识(2)】
🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…...
Docker部署实战
文章目录Docker部署应用准备制作容器镜像启动容器上传镜像docker exec数据卷(Volume)声明原理实践Docker部署 应用准备 这一次,我们来用 Docker 部署一个用 Python 编写的 Web 应用。这个应用的代码部分(app.py)非常…...
RestTemplate 相关使用
RestTemplate介绍简单接口调用(getForObject)添加 Header 和 Cookie(exchange)介绍 在项目中,当我们需要远程调用一个 HTTP 接口时,我们经常会用到 RestTemplate 这个类。这个类是 Spring 框架提供的一个工…...
新手小白亚马逊注册最全教程在此
自从龙哥出了Walmart注册教程后,立刻看到私信有兄弟问这个亚马逊的注册。亚马逊是跨境电商的鼻祖,资源和流量是无容置疑的。作为一个重产品,轻店铺的平台,是比较看中客户体验的,要求卖家要有好的资源。而且亚马逊有强大…...
二分查找重复情况 找最左边或最右边的位置下标
目录二分找最左边二分找最右边综合应用(剑指offer)二分找最左边 核心思想: 先mid (lr)/2每次向左取整; 然后命中target的时候,右边界逼近到mid; 因为每次mid向左取整,mid命中target时l代替mid位置,则循环迭代最后会卡出重复数字最左侧的位置…...
智慧扫码点餐系统源码
智慧餐厅扫码点餐小程序系统源码 1. 开发语言:JAVA 2. 数据库:MySQL 3. 原生小程序 4. Saas 模式 5. 带调试部署视频 6、总后台管理端商家端门店端小程序用户端 智慧扫码点餐系统支持多店铺运营,单店铺运营以及连锁店铺运营。系统功能支…...
分布式环境并发场景下,如何操作抢红包(或者减少库存)
文章目录简介思考lua 对 redis 的原子操作其他解决方式一些问题简介 在分布式场景高并发环境中,无论是抢红包还是减库存,其实本质上都是如何处理高并发中共享资源的问题,保证高并发资源分配的安全性 相互学习,如有错误还请指正&…...
明星的孩子也在做的感统训练,真的有用吗?
林志颖曾经在社交网站晒过带他儿子“模拟过山车”的视频。孩子大脑前庭受到适当的刺激,可以有效地锻炼前庭平衡感。 除此之外,还能看见地上的感统教具:过河石、平衡桥,看来明星老爸在陪孩子做感统游戏的日常一点也不含糊。 其实在…...
守护进程与TCP通讯
目录 一.守护进程 1.1进程组与会画 1.2守护进程 二.创建守护进程 setsid函数: 三. TCP通讯流程 3.1三次握手: 3.2 数据传输的过程 3.3四次挥手 一.守护进程 1.1进程组与会画 进程组:进程组由一个进程或者多个进程组成,每…...
在线文本翻译能力新增14个直译模型,打造以中文为轴心语言的翻译系统
经济全球化的今天,人们在工作和生活中经常会与外语打交道。相较传播性较广的英语而言,其他语种的识别和阅读对大多数人来说是一件难事,此时就需要借助语言翻译软件来帮助理解。 华为 HMS Core 机器学习服务(ML Kit)翻…...
CVE-2022-42889 Apache Commons Text 漏洞
0x00 前言 所幸遇到,就简单看看,其中没有啥比较难的地方,仅做记录。10月13日的漏洞。 cve链接可以看下面这个: https://cve.mitre.org/cgi-bin/cvename.cgi?nameCVE-2022-42889 git地址: https://github.com/apache…...
20- widedeep及函数式构建模型 (TensorFlow系列) (深度学习)
知识要点 wide&deep: 模型构建中, 卷积后数据和原始数据结合进行输出.fetch_california_housing:加利福尼亚的房价数据,总计20640个样本,每个样本8个属性表示,以及房价作为target,所有属性值均为number࿰…...
大家一起做测试的,凭什么你现在拿20k,我却还只有10k?...
最近我发现一个神奇的事情,我一个97年的朋友居然已经当上了测试项目组长,据我所知他去年还是在深圳的一家创业公司做苦逼的测试狗,短短8个月,到底发生了什么? 于是我立刻私聊他八卦一番。 原来他所在的公司最近正在裁…...
>>数据管理:DAMA简介「考试和续期」
关于DAMA,这里就不再多做描述,可以参考以前写的一些简介或官方介绍。下面就考试再做一些详细介绍。 1 区别 CDGA:数据治理工程师(Certified Data Governance Associate),“DAMA中国”组织的数据治理方面的职业认证考试。 CDGP:数据治理专家(Certified Data Governa…...
React的生命周期详细讲解
什么是生命周期? 所谓的React生命周期,就是指组件从被创建出来,到被使用,最后被销毁的这么一个过程。而在这个过程中,React提供了我们会自动执行的不同的钩子函数,我们称之为生命周期函数。**组件的生命周期…...
蓝蓝算法二期工程day3,一万年太久,只争朝夕
思路: 最好想的是用hashmap,当然用c的话也可以用两个数组,一个数组用于存放字符串,自动对应ACSII码,一个将对应ACSII码的数字对应其下标,当然这也是用的映射的思想。 import java.util.*;public class Cac…...
程序代码的自动化生成方案设计
程序设计就能够适用这种代码自动化生成方法的前提是:PLC 程序代码具有高度重复性,执行的是相同数据处理或者逻辑判断,而相关变量组 是离 散 的,没 有规 律 可循 。以 I/O 变量和中间 变量的地 址 映 射 程序为例 ,程序代码为赋 值 语 句 ,高度重复;IO 变量和与 其 对应 的中间 …...
Go 稀疏数组学习与实现
仍然还是一个数组 基本介绍 一般就是指二维以上的数组 当一个数组中大部分元素是0 ,或者为同一个值的数组时,可以使用系数数组来保存该数组. 稀疏数组的处理方法: 记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程…...
MySQL 学习笔记(借鉴黑马程序员MySQL)
MySQL视频课链接 MySQL概述 数据库相关概念 数据库是存储数据的仓库,数据是有组织的进行存储(DataBase) 数据库管理系统是操纵和管理数据库的大型软件(DataBase Management System) SQL是操作关系型数据库的编程语…...
中级工程师职称申报到底需要参加答辩不?
获得中级工程师职称的方式有认定、评审、考试这几种形式。 甘建二老师先来简单说一下关于认定和考试这两种: 1.认定:中级职称认定一般是根据各地职称认定政策,如果你想走认定渠道,首先本人简历条件、业绩、奖项等非常优秀&#…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
