【数据库系统概论】第2章-关系数据库

news2024/11/26 21:31:08

复习记录

    • 2.1 关系数据结构及形式化定义
      • 2.1.1 关系
      • 2.1.2 关系模式
      • 2.1.3 关系数据库
    • 2.2 关系操作
    • 2.3 关系的完整性
    • 2.4 关系代数
    • 2.5 题目

2.1 关系数据结构及形式化定义

2.1.1 关系

一些概念

  1. 关系
    R ( D 1 , D 2 , . . . , D n ) R(D_1,D_2,...,D_n) R(D1,D2,...,Dn)
    D i D_i Di:域
    R R R:关系名
    n n n:关系的度
    一个关系对应关系数据库中的一张表
  2. 元组
    ( d 1 , d 2 , . . . , d i d_1,d_2,...,d_i d1,d2,...,di),对应关系数据库中的一条记录
  3. 属性
    关系中的列
  • 候选码
    能唯一标识一个元组的某一属性组,可有多个
  • 主码
    选一个候选码作为主码
  • 全码
    所有属性组合到一起构成一个码
  1. 主属性
    候选码中包含的属性
    非主/码属性:所有属性 - 主属性
  2. 基本关系的性质
    在这里插入图片描述
    其中6保证了1NF

2.1.2 关系模式

  1. 概念
    关系模式是“型”,关系是值。一个是模子,一个是烧饼。对应一张表的表头。
  2. 形式化表示
    R ( U , D , D O M , F ) R(U,D,DOM,F) R(U,D,DOM,F)
    U U U:属性名的集合
    D D D:U中属性所来自的域
    D O M DOM DOM:属性向域的映像集合
    F F F:属性间数据依赖关系的集合
    简记为:
    R ( U ) R(U) R(U) R ( A 1 , A 2 , . . . , A n ) R(A_1,A_2,...,A_n) R(A1,A2,...,An)
    A i A_i Ai:属性名
    D、DOM常直接说明为类型,长度
  3. 关系模式与关系的关系
    型与值的关系。关系模式是静态的,关系是动态的。

2.1.3 关系数据库

在一个给定的应用领域中,所有关系的集合构成一个关系数据库

2.2 关系操作

  1. 5种基本操作:选择,投影,并,差,笛卡尔积
  2. 特点:操作的对象与结果都是集合

2.3 关系的完整性

  1. 实体完整性
    主属性不能重复且非空,作为唯一性标识

  2. 参照完整性
    类似外键约束
    假设有关系:
    R ( A ‾ , B , C ) R(\underline A,B,C) R(A,B,C)
    S ( D ‾ , E , F ) S(\underline D,E,F) S(D,E,F)
    C属性组的取值参照S中的D(即NULL,或D中的值),被参照的属性组必须是主码。

  3. 用户定义的完整性
    用户自定义约束:唯一,非空…

2.4 关系代数

  1. 定义
    关系代数是一种抽象的查询语言,它用对关系的运算来表达查询。运算对象是关系,运算结果也是关系。包含传统的集合运算符和专门的关系运算符。

在这里插入图片描述

  1. 记号
    R , t , t [ A i ] , 象集 Z x R,t,t[A_i],象集Z_x R,t,t[Ai],象集Zx
    t:tuple,R中的一个元组
    t [ A i ] t[A_i] t[Ai]:该元组在属性 A i A_i Ai上的分量
    R(X, Z):
    Z x Z_x Zx= { t [ Z ] ∣ t ∈ R , t [ X ] = x t[Z]| t {\in} R, t[X] = x t[Z]tR,t[X]=x}
    在这里插入图片描述
  2. 专门的关系运算
  • 选择
    σ F ( R ) = { t ∣ t ∈ R , F ( t ) = T r u e } \sigma_{F}(R) = \{t | t \in R ,F(t) = True\} σF(R)={ttR,F(t)=True}
    相当于where
    在这里插入图片描述
  • 投影
    π A ( R ) = { t [ A ] ∣ t ∈ R } \pi_A(R) = \{t[A] | t \in R\} πA(R)={t[A]tR}
    因为是集合操作,所以自动去重。
    从列的角度进行运算
    在这里插入图片描述
  • 连接
    在这里插入图片描述
    等值连接:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    自然连接:
    在这里插入图片描述
    U为R,S所有的属性组,B为R,S共有的属性组。既筛选了重复行又取消了重复列。
    在这里插入图片描述
  • 悬浮元组
    两个关系R和S在做自然连接时,关系R中某些元组可能在S中不存在公共属性上值相等的元组,从而造成R中这些元组操作时被舍弃了,这些被舍弃的元组称为悬浮元祖。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.5 题目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
”同时“考虑除法
在这里插入图片描述

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

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

相关文章

Python----静态Web服务器-返回指定页面数据

1. 静态Web服务器的问题 目前的Web服务器,不管用户访问什么页面,返回的都是固定页面的数据,接下来需要根据用户的请求返回指定页面的数据 返回指定页面数据的实现步骤: 获取用户请求资源的路径根据请求资源的路径,读取指定文件…

Vue3数据交互axios

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 本…

【C++】function包装器全解(代码演示,例题演示)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的《Linux》…

【LearnOpenGL基础入门——6】纹理

目录 一.前言 二.纹理环绕方式 三.纹理过滤 四.多级渐远纹理 五.加载与创建纹理 六.生成纹理 七.应用纹理 八.纹理单元 一.前言 我们可以为每个顶点添加颜色来增加图形的细节,从而创建出有趣的图像。但是,如果想让图形看起来更真实,我…

vue3(六)-基础入门之自定义组件

一、全局组件 html: <div id"app"><mytemplace></mytemplace> </div>javascript: <script>const { createApp } Vueconst app createApp({})app.component(mytemplace, {template: <div><button>返回</button>…

智慧楼宇整体解决方案:PPT全文50页,附下载

关键词&#xff1a;智慧楼宇建设方案&#xff0c;智慧建筑建设方案&#xff0c;智慧楼宇控制系统&#xff0c;智慧楼宇解决方案&#xff0c;智慧建筑与建造&#xff0c;智慧建筑的定义 一、智慧楼宇背景分析 1、城市化进程加速&#xff1a;随着全球城市化率的提高&#xff0c…

敏捷开发 - 知识普及

敏捷开发- Scrum 前言 知乎有一篇文章描写Scrum,我觉得比较好:https://zhuanlan.zhihu.com/p/631459977 简单科普下PM和PMO 原文来源:https://zhuanlan.zhihu.com/p/546820914 PM - 项目经理(Project Manager) ​ 需要具备以下能力 ​ 1.号召力 2.影响力 3.交流能力 4.应…

三菱人机交互GT Designer的安装

今天&#xff0c;与小编一起来学习三菱的GT Designer软件&#xff0c;下面就是小编记录的软件查找&#xff0c;安装的全过程&#xff0c;希望对你学习三菱有帮助。 目录 安装 选择官网下载安装包 解压安装包进行安装 创建一个工程 安装 选择官网下载安装包 三菱&#xff08;中…

像素级调整,高效转换——轻松提升你的图片处理体验!

探索更高级的图片处理体验&#xff0c;我们为你带来像素级调整与高效转换的完美结合&#xff01;借助我们的专业工具&#xff0c;轻松调整图片像素&#xff0c;让你在细节处展现无限创意&#xff0c;提升作品质感。 第一步&#xff0c;进入首助编辑高手主页面&#xff0c;可以看…

电子学会C/C++编程等级考试2023年03月(六级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:波兰表达式 波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的波兰表示法为+ 2 3。波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的波兰表示法为* + 2 3 4。本…

互联网上门洗衣洗鞋小程序优势有哪些?

互联网洗鞋店小程序相较于传统洗鞋方式&#xff0c;具有以下优势&#xff1b; 1. 便捷性&#xff1a;用户只需通过手机即可随时随地下单并查询&#xff0c;省去了许多不必要的时间和精力。学生们无需走出宿舍或校园&#xff0c;就能轻松预约洗鞋并取件。 2. 精准定位&#xff1…

1859_续流二极管是什么以及其作用

Grey 全部学习内容汇总&#xff1a; GitHub - GreyZhang/g_hardware_basic: You should learn some hardware design knowledge in case hardware engineer would ask you to prove your software is right when their hardware design is wrong! 1859_续流二极管是什么以及其…

飞天使-k8s知识点5-kubernetes基础名词扫盲

文章目录 deploymentspodNodeserviceskubectl 实现应用伸缩kubectl 实现滚动更新kubernetes架构 deployments 中文文档 http://docs.kubernetes.org.cn/251.htmldeployment是用来创建和更新应用的&#xff0c;master 会负责将创建好的应用实例调度到集群中的各个节点 应用实例…

SSTI模板注入基础(Flask+Jinja2)

文章目录 一、前置知识1.1 模板引擎1.2 渲染 二、SSTI模板注入2.1 原理2.2 沙箱逃逸沙箱逃逸payload讲解其他重要payload 2.3 过滤绕过点.被过滤下划线_被过滤单双引号 "被过滤中括号[]被过滤关键字被过滤 三、PasecaCTF-2019-Web-Flask SSTI参考文献 一、前置知识 1.1 模…

合并两个有序链表算法(leetcode第21题)

题目描述&#xff1a; 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a;输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4] 示例 2&#xff1a;输入&#xff1a;l1 [], l2 [] 输…

Python~列表/元组快速上手

一 列表/元组的概念 二 列表的创建和下标访问 创建列表 列表的下标访问/索引 内建函数len 负数下标[-len,len-1] 三 列表的切片 切片操作 begin:end 也适用于字符串和元组 左闭右开前后边界 效率(不拷贝) 指定步长 range内建函数也可以指定步长 负数步长 切片不会出现越界异…

2分钟教会你NFS文件服务器及客户端挂载

NFS简介 什么是 NFS? NFS&#xff08;Network File System&#xff09;网络文件系统目标&#xff1a;实现计算机之间通过网络共享资源将NFS主机分享的目录&#xff0c;挂载到自己电脑&#xff0c;我们就可以用自己电脑使用NFS的硬盘存储资源大白话说&#xff0c;就像百度云盘…

三秦通ETC续航改造

前些天开车时ETC每隔2分钟滴滴响一下&#xff0c;重插卡提示电池电压低 2.8V。看来应该是电池不行了。去银行更换ETC应该是需要费用的。还有一种办法是注销掉&#xff0c;然后去别的银行办一个。不过我想自己更换电池试一下。 首先拆下ETC&#xff0c;我使用的办法是开水烫。烧…

SysTick 定时器

SysTick定时器定义&#xff1a; SysTick 是一个 24 位的倒计数定时器&#xff0c;当计到 0 时&#xff0c;将从 RELOAD 寄存器中自动重装载定时初值。只要不把它在 SysTick 控制及状态寄存器中的使能位清除&#xff0c;就永不停息。 SysTick定时器分类&#xff1a; SysTic…

推荐几个开源H5小程序低代码工具

移动APP、H5、小程序曾风靡一时&#xff0c;结合当前无代码/低代码开发技术&#xff0c;有哪些免费开源的移动端H5/小程序软件&#xff0c;不用写代码即可发布H5页面&#xff0c;笔者对市场上主流的开源H5低代码/无代码工具/框架/组件进行了研究和验证&#xff0c;找到了几款比…