Inhaltsverzeichnis
关系代数的由来
五种基本的关系代数
1、并
2、差(Difference)
3、笛卡儿积(Cartesian Product)
4、投影(Projection)
连接
扩充的代数操作
θ连接
等值连接
自然连接

关系代数

Jun 07, 2016 pm 03:56 PM
einmal 代数 关系 首先

关系代数的由来 首先从宏观上来认识一下关系演算这个概念,换句话讲也就是什么是关系代数,这也是我在接触一些东西的首要工作。大家都知道对于关系型数据库的数据库操作语言分为查询和更新两类。而查询语言这块,又分为关系代数语言与关系演算语言。这里讲的

关系代数的由来

首先从宏观上来认识一下关系演算这个概念,换句话讲也就是什么是关系代数,这也是我在接触一些东西的首要工作。大家都知道对于关系型数据库的数据库操作语言分为查询和更新两类。而查询语言这块,又分为关系代数语言与关系演算语言。这里讲的就是关系代数。所以可以这样定义,关系代数就是为数据库操作语言进行查询的集合操作。

关系代数中的操作可分为两类

(1)传统的集合操作:并、差、交、笛卡儿积、除法。

(2)扩充的关系操作:投影、选择、连接、。

常见符号

\

五种基本的关系代数

1、并

设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为R∪S。形式定义如下:喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+UqHIU6HUe3Qg" t∈R ∨ t∈S},t是元组变量,R和S的元数相

\

2、差(Difference)

设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。形式定义如下:

R-S≡{ t " t∈R ∧ t∈S},R和S的元数相同。

计算机生成了可选文字:关系s1SnoSnameSlleptN00001M田yISN00(X)3CandyISN00004J日匡TlIS关系脸SnoSnameSdeptNo0001M田yISN00008KattefISN00021TOlllIS51一52SnoSnameSllePtN00003气CandyISNo0004Ja匡11ISleseseseseseseseseseses卜

3、笛卡儿积(Cartesian Product)

设关系R和S的元数分别为r和s,定义R和S的笛卡儿积是一个(r+s)元的元组集合,每个元组的前r个分量(属性值)来自R的一个元组,后s个分量来自S的一个元组,记为R×S。

\

4、投影(Projection)

这个操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。

表示符号 π

计算机生成了可选文字:关系黝Sno气snameSdeptNo0001MaryISN00003Can即ISN00004J日以11IS关系s2SnoSnameSlleptN00001MalyISN00008KattCrISNo0021TomIS汀。。,。~(51)SnoSnameN00001MaryN00003CandyN00004J81n

5、连接

这个操作是根据某些条件,对既定的集合进行条件选择。

σ为选择运算符

计算机生成了可选文字:关系s1SnoSname昌几e阵N00001从2卿IS时00003Can即ISN00004J日以nIS关系s2SnoSnameSdePtN00001MaryISN00008KatteYISN00021TOlllIS几彻一*。。。3(51)SnoSnameSdeptN00003CandyIS

对于基本的关系代数操作,可以发现。之前的三种针对的都是两个或者两个至上的集合操作,而后两种操作的都为一个集合。

扩充的代数操作

这个操作就是从两个集合内找出既属于R有属于S集合的元素的集合。符号:∩

如图

计算机生成了可选文字:关系s1SnoSnattteSdcptN00001MalyISN00003CandylSN00004J出nIS关系徽SnoSnameSlleptN00001MaryISN00008KatteYISN00021TomIS51门52SllameSlleptIS0n幻口』气N00001Mary

图中两个集合相同的部分为第一行元素。

除的操作要求进行操作的两个关系集合需要有重叠的属性。

实例图表

计算机生成了可选文字:系,

结果

计算机生成了可选文字:一鱿B一b一R于SAa

连接

所有的连接操作都是在进行笛卡尔积的基础上进行一些相应的条件操作。所以根据条件不同,分为等值连接、自然连接、θ连接。

θ连接

\begin{matrix} R\ \bowtie\ S \\ a\ \theta\ b\end{matrix}

表示从RS中分别选取R的第i列和S的第j列进行连接操作。

等值连接

等值连接就是当θ的值为等于号时的连接。

自然连接

自然连接是一种比较特殊的连接,要求两个连接的关系中必须要有相同的属性。如

计算机生成了可选文字:关系s1SnoSnameSdeptNo0001MalyISNo0003CandyISN00004JalnIS关系s2SttoAgeN00的l23N0000821N00021,,曰7l51)(昌25110SnameSllept叱eN00001、,____气M田甲IS23

如图,两个集合存在相同的属性Sno这样将这两个不同集合中相同属性的一行连接,得到结果。

如上就是关系代数的一些基本操作和扩展操作,更多的需要从实际的例子来理解定义这样会便于理解。对于基本的操作,并、差、笛卡尔积针对的都是两个不同的集合的操作;而投影和连接针对既定集合的操作。扩展中的运算主要是连接,连接根据θ的值的不同来区分到底是自然连接和等值连接;等值连接和自然连接都是θ值在不同情况下的特殊状态。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1663
14
PHP-Tutorial
1266
29
C#-Tutorial
1239
24
Entdecken Sie die Beziehung zwischen dem Android-System und dem Linux-Kernel Entdecken Sie die Beziehung zwischen dem Android-System und dem Linux-Kernel Mar 14, 2024 pm 12:48 PM

Das Android-System und der Linux-Kernel sind zwei eng verwandte Einheiten, und die Beziehung zwischen ihnen ist eng und komplex. Im Android-System spielt der Linux-Kernel eine wichtige Rolle, da er zugrunde liegende Hardwaretreiber und Systemaufrufunterstützung für das Android-System bereitstellt. In diesem Artikel wird die Beziehung zwischen dem Android-System und dem Linux-Kernel untersucht, wie sie interagieren und zusammenarbeiten, und einige spezifische Codebeispiele bereitstellen. Android ist ein mobiles Betriebssystem, das auf Basis des Linux-Kernels entwickelt wurde und hauptsächlich für mobile Geräte wie Smartphones und Tablets verwendet wird. L

Forschung zur Beziehung zwischen dem Huawei Hongmeng-System und Android Forschung zur Beziehung zwischen dem Huawei Hongmeng-System und Android Mar 23, 2024 am 11:54 AM

Forschung zur Beziehung zwischen Huawei Hongmeng-System und Android Mit der kontinuierlichen Weiterentwicklung der Technologie sind Smartphones zu einem unverzichtbaren Bestandteil des Lebens der Menschen geworden. Als einer der weltweit führenden Mobiltelefonhersteller arbeitet Huawei ständig an Innovationen und ist bestrebt, bessere mobile Betriebssysteme und Benutzererlebnisse bereitzustellen. In den letzten Jahren begann Huawei mit der Unterdrückung von Huawei durch die USA, die Entwicklung seines eigenen Betriebssystems zu beschleunigen, und HarmonyOS entstand. In diesem Zusammenhang haben die Menschen begonnen, der Beziehung zwischen dem Hongmeng-System und Android Aufmerksamkeit zu schenken. Zuerst müssen wir verstehen

Die Beziehung und Verwendung der Methode equal(Object) und der Methode hashCode() in Java Die Beziehung und Verwendung der Methode equal(Object) und der Methode hashCode() in Java Jan 11, 2024 am 10:59 AM

Die Methode equal(Object) und die Methode hashCode() in Java sind zwei wichtige Methoden zum Vergleich von Objekten auf Gleichheit. Zwischen ihnen besteht eine enge Beziehung und gegenseitige Abhängigkeit, und sie spielen eine wichtige Rolle in der tatsächlichen Entwicklung. Lassen Sie uns zunächst die Rolle der Methode equal(Object) analysieren. Die Methode equal(Object) ist eine in der Object-Klasse definierte Methode, und alle Java-Klassen erben von der Object-Klasse. gleich(Obje

Die Beziehung zwischen Standard-Gateway und IP-Adresse Die Beziehung zwischen Standard-Gateway und IP-Adresse Feb 20, 2024 am 11:45 AM

Die Beziehung zwischen Standard-Gateway und IP-Adresse Mit der Entwicklung von Computernetzwerken nutzen wir zunehmend das Internet, um verschiedene Aktivitäten auszuführen, wie zum Beispiel im Internet zu surfen, E-Mails zu senden, Online-Transaktionen durchzuführen usw. In diesem Prozess hören wir häufig einige Netzwerkbegriffe wie IP-Adresse und Standard-Gateway. Welche Beziehung besteht also zwischen IP-Adresse und Standard-Gateway? In diesem Artikel wird dieses Problem im Detail analysiert. Zuerst müssen wir das Konzept der IP-Adresse verstehen. Eine IP-Adresse ist eine Adresse, die ein Gerät im Internet eindeutig identifiziert. Es besteht aus 32 Bit

Einführung in die PHP-Funktion – array_values(): Gibt ein Array aller Elemente im Array zurück Einführung in die PHP-Funktion – array_values(): Gibt ein Array aller Elemente im Array zurück Jul 26, 2023 pm 04:13 PM

Einführung in die PHP-Funktion – array_values(): Gibt ein Array aller Elemente im Array zurück. In der PHP-Entwicklung ist Array eine sehr häufig verwendete Datenstruktur. PHP bietet eine Fülle von Array-Verarbeitungsfunktionen, die es uns ermöglichen, Arrays bequemer zu bedienen und zu verarbeiten. In diesem Artikel wird die sehr praktische Array-Funktion array_values() vorgestellt, die ein neues Array zurückgeben kann, das alle Elemente im Array enthält. Die Funktion von array_values() besteht darin, alle Elemente im Array zurückzugeben

Tutorial zum CentOS 7-Kernel-Upgrade. Tutorial zum CentOS 7-Kernel-Upgrade. Feb 18, 2024 pm 05:33 PM

Das Upgrade des Kernels auf CentOS7 erfordert die folgenden Schritte: Überprüfen Sie die aktuelle Kernel-Version: Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus: uname -r Add ELRepo source: Führen Sie den folgenden Befehl aus, um die ELRepo-Quelle hinzuzufügen: rpm --import Neuen Kernel installieren: Führen Sie den folgenden Befehl aus, um den neuesten stabilen Kernel zu installieren: yum --enablerepo=elrepo-kernelinstallkernel-ml Boot-Manager-Konfiguration (GRUB) aktualisieren: Führen Sie den folgenden Befehl aus, um die GRUB-Konfigurationsdatei zu aktualisieren: grub2-mkconfig -o/boot/grub2/grub .cfg Starten Sie das System neu: Führen Sie den folgenden Befehl aus, um das System neu zu starten: Überprüfung des Neustarts

Leitfaden zur Klärung der komplexen Beziehung zwischen Göttern und Göttinnen in „Unexpected Duck' Leitfaden zur Klärung der komplexen Beziehung zwischen Göttern und Göttinnen in „Unexpected Duck' Jan 23, 2024 pm 12:30 PM

Unerwarteterweise ist Duck Game in letzter Zeit ein beliebtes Gelegenheits-Puzzlespiel auf Douyin. Rufen Sie die Douyin-App auf, suchen Sie das Spiel in der Suche in der oberen rechten Ecke und klicken Sie auf „Spielen“, um das Spiel zu betreten und jedes Level zu erleben! Das Spiel ist in mehrere Abschnitte unterteilt. Eine der Ebenen im ausgewählten Abschnitt von Chefredakteur Duck befasst sich mit der Frage, wie man die komplexe Beziehung zwischen Göttern und Göttinnen vermittelt. Heute präsentiert Ihnen der Herausgeber dieser Website eine Anleitung zum Bewältigen des Levels „Unexpected Duck“ Fairy Complex Relationship. Wer nicht weiß, wie man dieses Level bewältigt, schaut sich bitte die Bild- und Textfreigabe unten an! „Unexpected Duck“ Fairy Complex Relationship Clearance Guide Ziel: Vervollständigen Sie das Beziehungsdiagramm 1. Fairy Complex Relationship In diesem Level müssen wir die folgenden Charaktere an die richtige Position ziehen. 2. Der Schwierigkeitsgrad ist zu hoch Es wird empfohlen, aufzugeben. Hahahaha 3. Die Antwort ist wie unten gezeigt

Vertiefendes Verständnis der Beziehung zwischen CSS-Framework und JS Vertiefendes Verständnis der Beziehung zwischen CSS-Framework und JS Jan 03, 2024 pm 12:13 PM

Vertiefendes Verständnis der Beziehung zwischen CSS-Framework und JS In der modernen Webentwicklung sind CSS-Framework und JavaScript (JS) zwei häufig verwendete Tools. CSS-Frameworks können uns dabei helfen, schnell schöne Webseiten zu erstellen, indem sie eine Reihe von Stil- und Layoutoptionen bereitstellen. JS bietet eine leistungsstarke Skriptsprache, die Webseiten interaktive und dynamische Effekte hinzufügen kann. Dieser Artikel befasst sich mit der Beziehung zwischen CSS-Frameworks und JS und veranschaulicht anhand spezifischer Codebeispiele, wie sie zusammenarbeiten. Das muss zunächst einmal klar sein

See all articles