【数据库】关系模型介绍+形式化关系查询语言

目录

第2章 关系模型介绍

2.1 关系数据库的结构

关系

2.2 数据库模式

2.3 码

2.4 模式图

大学数据库的模式图!!!

大学数据库关系模式!!!

2.5 关系查询语言

2.6 关系运算

2. 7 总结

第6章 形式化关系查询语言

1. Relational Algebra关系代数

a. 选择(Select Operation)

b. 投影(Project Operation)

组合

c. 集合并(Union Operation)

d. 集合差(Set Difference Operation)

e. 笛卡尔积(Cartesian-Product Operation)

 f. 更名(Rename Operation)

2. Tuple Relational Calculus

3. Domain Relational Calculus


第2章 关系模型介绍

2.1 关系数据库的结构

关系

  • 属性(attributes):表中每一列数据。A1, A2, …, An
  • 元组(tuples):表中每一行数据
  • 关系(relation):关系是无序
    • 关系实例(relation instance):表
    • 关系模式(relation schema): R = (A1, A2, …, An )。例如: instructor = (ID, name, dept_name, salary)

2.2 数据库模式

2.3 码

  • 超码(superkey):一个或一组属性,可以使我们在一个关系中唯一地标识一个元组。

                例如 {ID, name}{ID}

  • 候选码(candidate key):最小(包含属性个数最少)超码。例如 {ID}

  • 主码(primary key):候选码中挑出一个作为主码,任何关系只能有一个主码

    • 主码的选择必须慎重。正如我们所注意到的那样,人名显然是不足以作主码的,因为可能有多个 人重名。

    • 主码应该选择那些值从不或极少变化的属性

  • 外码(foreign key):一个表中某一列的所有值一定出现在另一张表的某一列,且在另一张表中为主码

2.4 模式图

大学数据库的模式图!!!

        一个含有主码和外码依赖的数据库模式可以用模式图(schema diagram)来表示。如下为大学数据库的模式图:

大学数据库关系模式!!!

department(dept_name,building,budget);
instructor(ID, name,dept_name,salary);
course(course_id,title,dept_name,credits);
section(course_id,sec_id,semester,year,building,room_number,time_slot_id);
teaches(ID,course_id,section_id,semester,year);
student(ID,name,dept_name,tot_cred);
prereq(course_id,prereq_id);
Advisor(s_id,i_id)
takes(ID,course_id,sec_id,semester,year,grade)
classroom(building,room_number,capacity)
time_slot(time_slot_id,day,start_time,end_time)

2.5 关系查询语言

2.6 关系运算

2. 7 总结

  • 关系数据模型(relational data model)建立在表的集合的基础上。数据库系统的用户可以对这些表进行 査询,可以插入新元组、删除元组以及更新(修改)元组。表达这些操作的语言有几种.
  • 关系的模式(schema)是指它的逻辑设计,而关系的实例(instance)是指它在特定时刻的内容。数据库 的模式和实例的定义是类似的。关系的模式包括它的属性,还可能包括属性类型和关系上的约束, 比如主码和外码约束。
  • 关系的超码(superkey)是一个或多个属性的集合,这些属性上的取值保证可以唯一识别岀关系中的元 组。候选码是一个最小的超码,也就是说,它是一组构成超码的属性集,但这组属性的任意子集都 不是超码。关系的一个候选码被选作主码(primary key) 
  • 在参照关系中的外码(foreign key)是这样的一个属性集合:对于参照关系中的每个元组来说,它在外 码属性上的取值肯定等于被参照关系中某个元组在主码上的取值。 
  • 模式图(schema diagram)是数据库中模式的图形化表示,它显示了数据库中的关系,关系的属性、主码和外码。
  • 关系查询语言(relational query language)定义了一组运算集,这些运算可作用于表上,并输岀表作为 结果。这些运算可以组合成表达式,表达所需的查询。 
  • 关系代数(relational algebra)提供了一组运算.它们以一个或多个关系为输入,返回一个关系作为输 出。诸如SQL这样的实际查询语言是基于关系代数的•但增加了一些有用的句法特征。

第6章 形式化关系查询语言

1. Relational Algebra关系代数

        关系代数是一种过程化查询语言。它包括一个运算的集合,这些运算以一个或两个关系为输入, 产生一个新的关系作为结果。关系代数基本运算有:选择、投影、并、集合差、笛卡儿积和更名。在 基本运算以外,还有一些其他运算,即集合交、自然连接和赋值。我们将用基本运算来定义这些运算。

        选择、投影和更名运算称为一元运算,因为它们对一个关系进行运算,另外三个运算对两个关系 进行运算.因而称为二元运算。

a. 选择(Select Operation)

       选择(selelct)运算选出满足给定谓词的元组,用符号σ表示:

b. 投影(Project Operation)

组合

c. 集合并(Union Operation)

     

        1. 关系r和s必须是同元的,即它们的属性数目必须相同

        2. 对所有的i,r的第i个属性的域必须和s的第i个属性的域相同

请注意r和s可以是数据库关系或者作为关系代数表达式结果的临时关系。

d. 集合差(Set Difference Operation)

        用—表示的集合差(set-difference)运算使得我们可以找出在一个关系中而不在另一个关系中的那些元组。表达式r-s的结果即一个包含所有在r中而不在s中的元组的关系。

e. 笛卡尔积(Cartesian-Product Operation)

 f. 更名(Rename Operation)

待完善

2. Tuple Relational Calculus

3. Domain Relational Calculus

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

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

相关文章

uniapp中mixins的使用

mixins 是一个 js 对象,它可以包含我们组件中JS部分的任意功能选项,如:data、components、methods、created、computed 等等。我们只要将公用的功能以对象的方式传入 mixins 选项中,当组件使用 mixins 对象时所有 mixins 对象都将…

哪个视觉语言模型更优?InstructBLIP、MiniGPT-4?全面评估基准LVLM-eHub告诉你

夕小瑶科技说 原创 作者 | 王思若 LLaMA、GPT-3等大型语言模型实现了对自然语言强大的理解和推理能力,为AI社区构筑了强大的语言基座模型。进而,继续迭代的GPT-4,更是赋予了模型处理图像的视觉能力。 如今,构建强大的多模态模型…

python conda实践 sanic框架gitee webhook实践

import subprocess import hmac import hashlib import base64 from sanic.response import text from sanic import Blueprint from git import Repo# 路由蓝图 hook_blue Blueprint(hook_blue)hook_blue.route(/hook/kaifa, methods["POST"]) async def kaifa(req…

LSTM Word 语言模型上的(实验)动态量化

LSTM Word 语言模型上的(实验)动态量化 介绍 量化涉及将模型的权重和激活从 float 转换为 int,这可能会导致模型尺寸更小,推断速度更快,而对准确性的影响很小。 在本教程中,我们将最简单的量化形式-动态量化应用于基…

【Unity3D】UI Toolkit容器

1 前言 UI Toolkit简介 中介绍了 UI Builder、样式属性、UQuery,本文将介绍 UI Toolkit 中的容器,主要包含 VisualElement、ScrollView、ListView、UI Toolkit,官方介绍详见→UXML elements reference。 2 VisualElement(空容器&…

Gazebo仿真环境下的强化学习实现

Gazebo仿真环境下的强化学习实现 主体源码参照《Goal-Driven Autonomous Exploration Through Deep Reinforcement Learning》 文章目录 Gazebo仿真环境下的强化学习实现1. 源码拉取2. 强化学习实现2.1 环境2.2 动作空间2.3 状态空间2.4 奖励空间2.5 TD3训练 3. 总结 1. 源码…

简述SpringMVC

一、典型的Servlet JSP JavaBean UserServlet看作业务逻辑处理(Controller)User看作模型(Model)user.jsp看作渲染(View) 二、高级MVC 由DispatcherServlet对请求统一处理 三、SpringMVC MVC与Spr…

springboot实战(四)之整合mybatis-plus

目录 环境: 准备: 开始: 1.创建表t_user 2.项目添加依赖 3.配置 1.配置mysql链接信息 2.在启动类配置mapper扫描路径 4.创建实体类 5.创建mapper 6.测试 环境: jdk:1.8 springboot版本:2.7.15…

面试题-React(七):React组件通信

在React开发中,组件通信是一个核心概念,它使得不同组件能够协同工作,实现更复杂的交互和数据传递。常见的组件通信方式:父传子和子传父 一、父传子通信方式 父组件向子组件传递数据是React中最常见的一种通信方式。这种方式适用…

VMware tools的安装以及按钮灰色的解决方法

VMware tools的安装 ** 注意:** 新版本的 VMware 会自动安装的 VMware tools,如何测试 VMware tools 呢?在Windows 系统里复制一段话,能粘贴到 Ubuntu 系统里终端里,说明 VMware tools 已经安装了。 没有安装的请参考…

Quartz 动态添加、修改和删除定时任务

Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz框架包含了调度器监听、作业和触发器监听。你可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听。Quartz 允许开发人员根据时间间隔(或…

问道管理:暂停交易!港交所最新宣布,北向资金也受影响!大涨超180%

今日上午A股商场全体涨跌互现,煤炭板块涨幅居前。新股方面也体现较好,有一只新股盘中一度暴涨超越180%。 别的,飓风“苏拉”对股市也产生了影响。港交所最新公告称,因为八号飓风信号现正收效,今日(星期五&…

抢先体验|乐鑫推出 ESP32-S3-BOX-3 新一代开源 AIoT 开发套件

乐鑫科技 (688018.SH) 非常高兴地宣布其开发套件阵容的最新成员 ESP32-S3-BOX-3。这款完全开源的 AIoT 应用开发套件搭载乐鑫高性能 ESP32-S3 AI SoC,旨在突破传统开发板,成为新一代开发工具的引领者。 【乐鑫新品抢先体验】ESP32-S3-BOX-3 新一代开源 A…

代码随想录刷题笔记 (python版本) 持续更新.....

代码随想录刷题笔记总结: https://www.programmercarl.com/ 个人学习笔记 如有错误欢迎指正交流1. 数组 1.1 理论基础 详细介绍:https://www.programmercarl.com/%E6%95%B0%E7%BB%84%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 数组下标都是从0开始的。数组内存空间的地址是…

JavaScript安全性最佳实践:如何保护你的Web应用程序

在如今的数字时代,网页应用程序的安全性至关重要。恶意攻击者不断寻找机会来入侵你的应用程序。为了帮助你保护你的网页应用程序,我们将介绍一些关键的JS安全性知识点,并提供示例代码来演示如何实施它们。 1. 跨站点脚本 XSS攻击是一种常见…

jmeter单接口和多接口测试

最近接触到了多接口串联,接口串联的技术会在其他帖子有说明,其核心技术点就是通过正则表达式和变量来实现接口的关联。目前为止呢笔者用到的地方还只有一个,就是关于session保持的时候。但是看到很多资料都说测试过程中经常遇到b接口需要用a接…

github gitee go开发 热门开源项目

目录 高性能go开发建议组件字符串数据结构类型转换Jsonflagreflect日期时间Math异常开发工具包调试工具翻译对象复制验证验证码weChat支付ExcelWord图像PDF文件IOruntimeOSDevops工具 Web框架gin 微服务框架容器编排消息队列测试日志远程调用网络通信异步并发数据库 存储缓存鉴…

jvm 新生代的区域划分

虚拟机将内存分为一块较大的 Eden 空间和两块较小的 Survivor 空间,每次分配内存只使用 Eden 和其中一块 Survivor。发生垃圾收集时,将 Eden 和 Survivor 中仍然存活的对象一次性复制到另外一块 Survivor 空间上,然后直接清理掉 Eden 和已用过…

【1day】iRDM4000智慧站房管理员密码重置漏洞学习

目录 一、漏洞描述 二、资产测绘 三、漏洞复现 四、漏洞修复 一、漏洞描述 iRDM4000智慧站房是一种用于在线监管、诊断和配置子站的智能设备。它被广泛应用于电力、能源、交通等领域,用于实时监控和管理分布式站房设备。iRDM4000智慧站房在线监管、诊断与配置子站存在管理…

【学习笔记】计算机视觉对比学习综述

计算机视觉对比学习综述 前言百花齐放InstDiscInvaSpreadCPCCMC CV双雄MoCoSimCLRMoCo v2SimCLR v2SwAV 不用负样本BYOLSimSiam TransformerMoCo v3DINO 总结参考链接 前言 本篇对比学习综述内容来自于沐神对比学习串讲视频以及其中所提到的论文和博客,对应的链接详…