当前位置: 首页 > news >正文

三、计算机理论-关系数据库-数据模型与数据视图;关系代数、关系演算及关系模型

数据模型

具体事物-抽象化-->概念模型-数据化-->数据模型

概念模型也称信息模型,在数据库设计阶段,由设计者按照用户的观点对数据和信息建模,实现对现实世界的概念抽象;

数据模型主要包括网状模型、层次模型、关系模型、面向对象数据模型,由设计者按照计算机系统的观点对数据建模,实现概念模型到适应具体数据库管理系统的数据模型的转换;数据模型通常由数据结构、数据操作和完整性约束三个要素组成

E-R模型(实体-联系模型)

是用E-R图来描述现实世界的概念数据模型(概念模型)

实体用矩形、属性用椭圆、联系用菱形

数据视图

视图是一个虚表

建立视图、删除视图、查询视图、更新视图

CREATE、DROP、SELECT、UPDATE

视图是虚表,本身不存放数据,对视图的更新都是通过对基本表的更新来进行的

优点:简单、安全、一定程度的逻辑独立性、视图可以使不同的用户以不同的方式看待同一数据

缺点:性能差、更新限制严重

关系数据结构

:是一组具有相同数据类型的值的集合

笛卡尔积:也称为直积,可表示为一张二维表,表中的每一行对应一个元组,表中的每一列的值来自一个域

关系

候选码:若关系中的某个属性的值能唯一标识一个元组,且又不含有多余的属性,则该属性成为该关系的候选码,简称码

主码:若关系中有多个候选码,则选取其中一个为主码

主属性:候选码的属性

非主属性:不包含在候选码中的属性

注意:不能出现两个完全相同的元组;每一个分量都是不可分的数据项

关系操作

关系操作包括

查询、插入、删除、修改

查询细分

选择、投影、并、差、笛卡尔积 (连接、除、交可通过前五种定义)

关系完整性约束

实体完整性

若属性A是关系R的主属性,则A不能取空值

参照完整性

也称引用完整性,若F是基本关系R的属性,但不是R的码,且F与基本关系S的主码Ks相对应,则称F是R的外码,并称R是参照关系,S是被参照关系

若属性F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中的每个元组在F上的值必须取空值或者等于S中某个元组的主码值

用户自定义完整性

用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用程序所涉及的数据必须满足的语义要求

关系代数

关系代数是一种抽象的查询语言,作为研究关系数据语言的数据工具,用对关系的运算来表达查询。关系代数的运算对象是关系,产生的结果也是关系

传统的集合运算

并、差、交、广义笛卡尔积

专门的关系运算

选择

从行的角度进行的运算

投影

从列的角度进行的运算

连接

分为等值连接和自然连接,自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性列去掉

从行和列的角度进行的运算

关系演算

元组关系演算语言ALPHA

域关系演算语言QBE

相关文章:

三、计算机理论-关系数据库-数据模型与数据视图;关系代数、关系演算及关系模型

数据模型 具体事物-抽象化-->概念模型-数据化-->数据模型 概念模型也称信息模型,在数据库设计阶段,由设计者按照用户的观点对数据和信息建模,实现对现实世界的概念抽象; 数据模型主要包括网状模型、层次模型、关系模型、面向…...

解读 $mash 通证 “Fair Launch” 规则(Staking 玩法解读篇)

Solmash 是 Solana 生态中由社区主导的铭文资产 LaunchPad 平台,该平台旨在为 Solana 原生铭文项目,以及通过其合作伙伴 SoBit 跨链桥桥接到 Solana 的 Bitcoin 生态铭文项目提供更广泛的启动机会。...

【C语言】关于C11的一些新特性

相比于VC 6.0使用的ANSI C标准,VS2022使用的C11标准与上一代有很多不同,相比之前的 C 标准(如 C89/C90 和 C99),引入了一些新的功能、特性和改进。以下是 C11 标准相对于之前版本的一些主要变化和新增内容:…...

牛的速记(c++题解)

题目描述 奶牛们误解了速记的含义。他们是这样理解的: 给出一个少于255个字母的小写字母串。 找到一个出现次数最多的字母,将该字母从字母串中统统删去,如果出现次数最多的字母不止一个,就删去在字母表中靠前的一个,即…...

使用ffmpeg+flv.js + websokect播放rtsp格式视频流

对于rtsp的视频流网上有很多种的解决方案,但是大的趋势还是利用ffmpeg的工具进行rtsp的视频解析进行一个推流,我最终选择bilibili开源的flv.js,代码十分的简单全部都在底层封装好了。实现的方式也比较容易理解,ffmpeg进行rtsp的视…...

OAI openair3代码结构整理

openair3代码框架结构 OAI(OpenAirInterface)是一个开源的5G网络软件平台,用于研究和开发5G网络技术。OpenAir3是OAI项目中的一个子项目,专注于5G核心网络的功能实现。 一、OpenAir3的代码主要包括以下几个部分: NAS…...

Kubernets(K8S)启动和运行 01-01 Kubernetes简介

Kubernets(K8S)启动和运行 01-01 Kubernetes简介 Kubernetes is an open source orchestrator for deploying containerized applications. It was originally developed by Google, inspired by a decade of experience deploying scalable, reliable systems in containers …...

PHP特性知识点扫盲 - 下篇

概述 在实际的生产环境中遇到了实际需要解决的问题,需要把服务部署的方式梳理出来,在同一个服务器中部署多个PHP环境,架构图如下: 架构方案 在工作实践中遇到的很多问题的普遍性都是相通的,公司运行的可新项目都是版…...

HarmonyOS应用开发之DevEco Studio安装与初次使用

1、DevEco Studio介绍 DevEco Studio是基于IntelliJ IDEA Community开源版本打造,面向华为终端全场景多设备的一站式集成开发环境(IDE),为开发者提供工程模板创建、开发、编译、调试、发布等E2E的HarmonyOS应用/服务的开发工具。…...

记录第一次在GitHub上面提交Issue

第一次在GitHub上面提交Issue,记录一下。 对着源码调了好久才发现,问题并不在程序而在模型(虽然只是一个很小的问题,但是能够解决问题,并且做出了自己的一点小小贡献,还是很开心。嘻嘻,发博客记…...

【数据库设计和SQL基础语法】--用户权限管理--数据备份和恢复策略

一、引言 数据备份和恢复是数据库管理中至关重要的任务,对于确保数据安全性和业务连续性具有重大的意义。以下是一些关键的重要性方面: 防止数据丢失: 数据备份是防止因硬件故障、人为错误、恶意攻击或其他意外事件导致数据丢失的主要手段。…...

java数据结构与算法刷题-----LeetCode70. 爬楼梯

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难,但它就是固定套路而已。其实动态规划只…...

【Unity入门】UGUI之Slider(滑动条)

目录 一、什么是Slider?二、Slider属性与功能 一、什么是Slider? Slider控件允许用户可以通过鼠标来在预先确定的范围调节数值 我们可以在Hierarchy视图右键 -> UI ->Slider来创建滑动条 通过上图可以发现Unity内置的Slider主要有3部分&#x…...

MySQL中UNION和UNION ALL的区别有哪些?

在MySQL中如何想要对两个结果集进行合并操作,可以使用UNION和UNION ALL,如果只是想要去除掉重复的记录,属于UNION ALL 即可,但是如何想要除掉没有重复行数据,就要使用Union。本文详细向大家介绍MySQL中UNION和UNION AL…...

Android kotlin build.gradle.kts配置

1. 添加 maven 仓库 1. 1. settings配置 1. 1.1. settings.gradle repositories {maven {url https://maven.aliyun.com/repository/public/}mavenCentral() }1. 1.2. settings.gradle.kts repositories {maven {setUrl("https://maven.aliyun.com/repository/public/…...

css、js、vue常考部分面试题

css css盒子水平垂直居中方法 方法一:定位 .child{height: 100px;position: absolute;//父元素相对定位top:50%;left:50%;transform: translate(-50%,-50%); } 方法二:定位 .child{width: 100px;height: 100px;position: absolute;top:50%;left:50%…...

OpenAI ChatGPT-4开发笔记2024-03:Chat之Function Calling/Function/Tool/Tool_Choice

Updates on Function Calling were a major highlight at OpenAI DevDay. In another world,原来的function call都不再正常工作了,必须全部重写。 function和function call全部由tool和tool_choice取代。2023年11月之前关于function call的代码都准备翘翘。 干嘛…...

二叉搜索树与双向链表

解题思路一: /** public class TreeNode {int val 0;TreeNode left null;TreeNode right null;public TreeNode(int val) {this.val val;} } */ // 一定要用自己的理解真正弄出来才行,否则没有用! // 再次提醒,计算机这种工科…...

uniapp中组件库的Checkbox 复选框 的丰富使用方法

目录 #平台差异说明 #基本使用 #自定义形状 #禁用checkbox #自定义形状 #自定义颜色 #横向排列形式 #横向两端排列形式 API #Checkbox Props #CheckboxGroup Props #CheckboxGroup Event 复选框组件一般用于需要多个选择的场景,该组件功能完整&#xff…...

Spring Cloud + Vue前后端分离-第10章 基于阿里云OSS的文件上传

源代码在GitHub - 629y/course: Spring Cloud Vue前后端分离-在线课程 Spring Cloud Vue前后端分离-第10章 基于阿里云OSS的文件上传 前面介绍的文件上传是基于本地文件服务器的文件上传,但是自己搭文件服务器会有很多运维的问题,比如磁盘满了要扩容…...

百川2-13B-4bits量化实测:OpenClaw长文本处理会丢信息吗?

百川2-13B-4bits量化实测:OpenClaw长文本处理会丢信息吗? 1. 测试背景与动机 最近在尝试用OpenClaw搭建个人自动化工作流时,遇到一个实际问题:当处理长文档(比如几十页的PDF或网页文章)时,AI助…...

CodeSys WebVisu避坑指南:用three.js给机械臂做3D可视化,我踩过的8个坑

CodeSys WebVisu与three.js深度整合实战:机械臂3D可视化开发避坑手册 在工业自动化领域,机械臂的实时状态可视化一直是HMI开发中的难点与痛点。传统解决方案往往受限于渲染效果和交互灵活性,而基于WebGL的three.js技术栈恰好能弥补这些不足。…...

AMD显卡福音:实测ROCm7+PyTorch在Windows下跑ComfyUI,比WSL快了多少?

AMD显卡Windows原生AI绘图性能飞跃:ROCm 7与WSL实测对比 当AMD在2025年夏季悄然发布ROCm 7预览版时,很少有人预料到它会给Windows平台的AI绘图体验带来如此显著的改变。作为一名长期在WSL环境下使用AMD显卡进行Stable Diffusion工作的开发者,…...

Python实战:用LangGraph和MCP打造你的第一个AI代理(附完整代码)

Python实战:用LangGraph和MCP构建智能代理的完整指南 在当今快速发展的AI领域,构建能够理解和执行复杂任务的智能代理已成为开发者关注的焦点。本文将带您深入了解如何利用LangGraph框架和模型上下文协议(MCP)构建一个功能完备的AI代理,从基础…...

论文AIGC检测率多少算正常?超标后怎么高效降AI率达标?

论文AIGC检测率多少算正常?超标后怎么高效降AI率达标? “我的论文AIGC率31%,这算高吗?”“学校要求低于多少?”“超标了怎么办?”——最近这类问题在各大毕业论文群里出现的频率越来越高。说实话我去年也是…...

3步轻松读取Outlook邮件:免费跨平台MSG查看工具让你告别格式困扰

3步轻松读取Outlook邮件:免费跨平台MSG查看工具让你告别格式困扰 【免费下载链接】MsgViewer MsgViewer is email-viewer utility for .msg e-mail messages, implemented in pure Java. MsgViewer works on Windows/Linux/Mac Platforms. Also provides a java api…...

Pixel Mind Decoder 多模型协作:与Ollama本地模型联合作业

Pixel Mind Decoder 多模型协作:与Ollama本地模型联合作业 1. 引言:当AI模型开始团队合作 想象一下这样的场景:你手头有一份长达50页的市场调研报告,需要快速提炼核心观点并分析其中的情绪倾向。传统做法可能需要先人工阅读总结…...

自然界生物群体智能启发的**元启发式优化算法**,广泛应用于组合优化、函数优化、路径规划、调度问题等领域

蚁群算法(Ant Colony Optimization, ACO)、粒子群算法(Particle Swarm Optimization, PSO)和鱼群算法(Artificial Fish Swarm Algorithm, AFSA)均属于受自然界生物群体智能启发的元启发式优化算法&#xff…...

告别命令行恐惧:用RU.EXE快捷键玩转硬件诊断(附常用命令速查表)

告别命令行恐惧:用RU.EXE快捷键玩转硬件诊断(附常用命令速查表) 在工业计算机维护和硬件诊断领域,RU.EXE一直是资深工程师的秘密武器。但对于每天奔波在不同现场的技术支持人员来说,面对这个功能强大却界面复古的工具&…...

OpenClaw成本优化方案:ollama GLM-4.7-Flash自建模型接口实践

OpenClaw成本优化方案:ollama GLM-4.7-Flash自建模型接口实践 1. 为什么需要关注OpenClaw的token消耗问题 第一次用OpenClaw完成自动化周报任务时,我盯着账单倒吸一口凉气——生成三份周报竟然消耗了接近15万token。这让我意识到,如果不解决…...