From 6b993df19c97b533dd50f366dcf76b291beebdd6 Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Thu, 15 Oct 2020 19:34:35 +0200 Subject: [PATCH 1/3] Flashcards zum Lernen --- ... Sprachen und Komplexität - Flashcards.pdf | Bin 0 -> 93511 bytes ... Sprachen und Komplexität - Flashcards.tex | 91 ++++++++++++++++++ Automaten, Sprachen und Komplexität.md | 4 +- README.md | 1 + 4 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 Automaten, Sprachen und Komplexität - Flashcards.pdf create mode 100644 Automaten, Sprachen und Komplexität - Flashcards.tex diff --git a/Automaten, Sprachen und Komplexität - Flashcards.pdf b/Automaten, Sprachen und Komplexität - Flashcards.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e38d32cf611c5e576dec5a6b5cefddda03b8b906 GIT binary patch literal 93511 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 f`>nsPV!;aVf+ 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 literal 0 HcmV?d00001 diff --git a/Automaten, Sprachen und Komplexität - Flashcards.tex b/Automaten, Sprachen und Komplexität - Flashcards.tex new file mode 100644 index 0000000..0f50c3a --- /dev/null +++ b/Automaten, Sprachen und Komplexität - Flashcards.tex @@ -0,0 +1,91 @@ +% +% +% das Paket "flashcards" erzeugt Karteikarten zum lernen +% auf der Vorderseite steht das Buzzword oder die Frage +% auf der Rückseite steht die Antwort +% beim ausdrucken auf doppelseitiges Drucken achten +% +% + +\documentclass[avery5371]{flashcards} + +\cardfrontstyle{headings} + + +\begin{document} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{flashcard}[Definition]{Alphabet} +Ein Alphabet ist eine endliche nichtleere Menge. + +Üblicherweise heißen Alphabete hier $\sum, \Gamma, \Delta$. Ist $\sum$ Alphabet, so nennen wir die Elemente oft Buchstaben. Ist $\sum$ ein Alphabet, so heißen die Elemente von $\sum*$ auch Wörter über $\sum$ (auch String/Zeichenkette). +\end{flashcard} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{flashcard}[Definition]{Menge der endlichen Folgen} + Für eine Menge X ist X* die Menge der endlichen Folgen über X. +\end{flashcard} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{flashcard}[Definition]{Wort} +Sind $u=(a_1, a_2, ...a_n)$ und $v=(b_1, b_2,...,b_n)$ Wörter, so ist $u*v$ das Wort $(a_1,a_2,...a_n,b_1,b_2,...,b_n)$; es wird als Verkettung/Konkatenation von u und v bezeichnet. +An Stelle von $u*v$ schreibt man auch $uv$. +\end{flashcard} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{flashcard}[Definition]{Sprachen} +f: Menge der mögl Eingaben $\rightarrow$ Menge der mögl Ausgaben + +Spezialfall $A={0,1}$ heißt Entscheidungsproblem. Sie ist gegeben durch die Menge der Eingaben. +\end{flashcard} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{flashcard}[Definition]{Präfix} +Seien y,w Wörter über $\sum$. Dann heißt Präfix/Anfangsstück von w, wenn es $z\in\sum*$ gibt mit $yz=w$. +\end{flashcard} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{flashcard}[Definition]{Infix} +Seien y,w Wörter über $\sum$. Dann heißt Infix/Faktor von w, wenn es $x,z \in \sum*$ gibt mit $xyz=w$. +\end{flashcard} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{flashcard}[Definition]{Suffix} +Seien y,w Wörter über $\sum$. Dann heißt Suffix/Endstück von w, wenn es $x\in \sum*$ gibt mit $xy=w$. +\end{flashcard} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{flashcard}[Definition]{formale Sprachen} +Sei $\sum$ ein Alphabet. Teilmengen von $\sum*$ werden formale Sprachen über $\sum$ genannt. + +Eine Menge L ist eine formale Sprache wenn es ein Alphabet $\sum$ gibt, so dass L formale Sprache über $\sum$ ist (d.h. $L\subseteq \sum*$). +\end{flashcard} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{flashcard}[Definition]{Kleene Abschluss} + Sei L eine Sprache. Dann ist $L*=\bigcup_{n\geq 0} L^n$ der Kleene-Abschluss oder die Kleene-Iteration von L. Weiter ist $L+ = \bigcup_{n\geq 0} L^n$ +\end{flashcard} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{flashcard}[Definition]{Prioritätsregeln für Operationen auf Sprachen} + \begin{itemize} + \item Potenz/Iteration binden stärker als Konkatenation + \item Konkatenation stärker als Vereinigung/Durchschnitt/Differenz + \end{itemize} +\end{flashcard} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\end{document} \ No newline at end of file diff --git a/Automaten, Sprachen und Komplexität.md b/Automaten, Sprachen und Komplexität.md index afca358..9851efb 100644 --- a/Automaten, Sprachen und Komplexität.md +++ b/Automaten, Sprachen und Komplexität.md @@ -34,8 +34,8 @@ Natürliche Zahlen $\N = {0,1,2,3,...}$ > Definition: Ein Alphabet ist eine endliche nichtleere Menge. -üblicherweise heißen Alphabete hier: $\Sum, \Gamma, \Delta$ -Ist $\Sum$ Alphabet, so nennen wir die Elemente oftBuchstaben. +üblicherweise heißen Alphabete hier: $\sum, \Gamma, \Delta$ +Ist $\Sum$ Alphabet, so nennen wir die Elemente oft Buchstaben. Ist $\Sum$ ein Alphabet, so heißen die Elemente von $\Sum*$ auch Wörter über $\Sum$ (auch String/Zeichenkette) Beispiele: diff --git a/README.md b/README.md index 47ecd7f..b49109a 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ Unterlagen zu Informatik Vorlesungen der TU Ilmenau bisher: - [Algorithmen und Datenstrukturen](Algorithmen%20und%20Datenstrukturen.md) - [Automaten, Sprachen und Komplexität](Automaten,%20Sprachen%20und%20Komplexität.md) (ongoing) + - [Flashcards - Karteikarten für Definitionen](Automaten,%20Sprachen%20und%20Komplexität%20-%20Flashcards.pdf) (ongoing) - [Einführung in die Medizinische Informatik](Einführung%20in%20die%20Medizinische%20Informatik.md) - [Grundlagen und diskrete Strukturen](Grundlagen%20und%20Diskrete%20Strukturen.md) - [GudS - Cheatsheet](Grundlagen%20und%20Diskrete%20Strukturen%20-%20Cheatsheet.pdf) From 94234cddb8e337a06749c41995e65ae8e6126f1b Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Thu, 22 Oct 2020 18:11:28 +0200 Subject: [PATCH 2/3] DBS Kapitel 2, 3.1 und 3.2 --- Datenbanksysteme.md | 263 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) diff --git a/Datenbanksysteme.md b/Datenbanksysteme.md index 803bee4..a65f52c 100644 --- a/Datenbanksysteme.md +++ b/Datenbanksysteme.md @@ -46,14 +46,277 @@ die neun Codd'schen Regeln 8. Synchronisation: parallele Transaktionen koordinieren 9. Datensicherung: Wiederherstellung von Daten nach Systemfehlern +Ziele: +- Trennung von Modellierungssicht und interner Speicherung +- Portierbarkeit +- Tuning vereinfachen +- standardisierte Schnittstellen + +Schemata: +- Konzeptuelles Schema (Ergebnis der Dateidefinition) +- Internes Schema (Festlegung der Dateiorganisation und Zugriffspfade = Index) +- Externes Schema (Ergebnis der Sichtdefinition) +- Anwendungsprogramm (Ergebnis der Anwendungsprogrammierung) + +- Trennung Schema-Instanz + - Schema: Metadaten, Datenbeschreibung + - Instanz: Anwenderdaten, Datenbankzustand + +Datenunabhängigkeit: +- Stabilität der Benutzerschnittstelle gegen Änderungen +- physisch: Änderung der Dateiorganisation und Zugriffspfade haben keinen Einfluss auf das konzeptuelle Schema +- logisch: Änderung am konzeptuellen und gewissen externen Schemata haben keine Auswirkungen auf andere externe Schemata und Anwendungsprogramme + +Aufteilung der Funktionalitäten einer Anwendung +- Präsentation und Benutzerinteraktion +- Anwendungslogik („Business“-Logik) +- Datenmanagementfunktionen (Speichern, Anfragen, ...). + +Architektur von Datenbankanwendungen typischerweise auf Basis des Client-Server-Modells (Server=Datenbanksystem). + +### 3 Schichten Architektur (ANSI-SPARC-Architektur) +Klassifizierung der Komponenten +- Definitionskomponenten: Datendefinition, Dateiorganisation, Sichtdefinition +- Programmierkomponenten: DB-Programmierung mit eingebetteten DB-Operationen +- Benutzerkomponenten: Anwendungsprogramme, Anfrage und Update interaktiv +- Transformationskomponenten: Optimierer, Auswertung, Plattenzugriffssteuerung +- Data Dictionary (Datenwörterbuch): Aufnahme der Daten aus Definitionskomponenten, Versorgung der anderen Komponenten + +### 5 Schichten Architektur +Verfeinerung der Transformation +- Datensystem: Übersetzung, Zugriffspfadwahl +- Zugriffssystem: Logische Zugriffspfade, Schemakatalog, Sortierung, Transaktionsverwaltung +- Speichersystem Speicherungsstrukturen, Zugriffspfadverwaltung, Sperrverwaltung, Logging, Recovery +- Pufferverwaltung: Systempufferverwaltung, Seitenersetzung, Seitenzuordnung +- Betriebssystem: Externspeicherverwaltung, Speicherzuordnung + ## Einsatzgebiete +- Klassische Einsatzgebiete: + - viele Objekte (15000 Bücher, 300 Benutzer, 100 Ausleihvorgänge pro Woche, ...) + - wenige Objekttypen (BUCH, BENUTZER, AUSLEIHUNG) + - etwa Buchhaltungssysteme, Auftragserfassungssysteme, Bibliothekssysteme, ... +- Aktuelle Anwendungen: E-Commerce, entscheidungsunterstützende Systeme (Data Warehouses, OLAP), NASA’s Earth Observation System (Petabyte-Datenbanken), Data Mining + +Datenbankgrößen: +- eBay Data Warehouse: 10PB + - Teradata DBMS, 72 Knoten, 10.000 Nutzer, + - mehrere Millionen Anfragen/Tag +- WalMart Data Warehouse: 2,5PB + - Teradata DBMS, NCR MPP-Hardware; + - Produktinfos (Verkäufe etc.) von 2.900 Märkten; + - 50.000 Anfragen/Woche +- Facebook: 400TB + - x.000 MySQL-Server + - Hadoop/Hive, 610 Knoten, 15 TB/Tag +- US Library of Congress 10-20TB + - nicht digitalisiert ## Historisches +- Wissensbanksysteme + - Daten in Tabellenstrukturen + - Stark deklarative DML, integrierte Datenbankprogrammiersprache +- Objektorientierte Datenbanksysteme + - Daten in komplexeren Objektstrukturen (Trennung Objekt und seine Daten) + - Deklarative oder navigierende DML + - Oft integrierte Datenbankprogrammiersprache + - Oft keine vollständige Ebenentrennung + +- Neue Hardwarearchitekturen + - Multicore-Prozessoren, Hauptspeicher im TB-Bereich: In-Memory-Datenbanksysteme (z.B. SAP HANA) +- Unterstützung für spezielle Anwendungen + - Cloud-Datenbanken: Hosting von Datenbanken, Skalierbare Datenmanagementlösungen (Amazon RDS, Microsoft Azure) +• Datenstromverarbeitung: Online-Verarbeitung von Live-Daten, z.B. Börseninfos, Sensordaten, RFID-Daten, ...(StreamBase, MS StreamInsight, IBM Infosphere Streams) + - Big Data: Umgang mit Datenmengen im PB-Bereich durch hochskalierbare, parallele Verarbeitung, Datenanalyse (Hadoop, Hive, Google Spanner & F1, ...) +- NoSQL-Datenbanken („Not only SQL“): + - nicht-relationale Datenbanken, flexibles Schema (dokumentenzentriert) + - „leichtgewichtig“ durch Weglassen von SQL-Funktionalitäten wie Transaktionen, mächtige deklarative Anfragesprachen mit Verbunden etc. + - Beispiele: CouchDB, MongoDB, Cassandra, ... + # Relationale Datenbanken - Daten als Tabellen +## Relationen für tabellarische Daten +Konzeptuell: Datenbank = Menge von Tabellen (= Relationen) + +- „Tabellenkopf“: Relationenschema +- Eine Zeile der Tabelle: Tupel; Menge aller Einträge: Relation +- Eine Spaltenüberschrift: Attribut +- Ein Eintrag: Attributwert + +Integritätsbedingungen: Schlüssel +- Attribute einer Spalte identifizieren eindeutig gespeicherte Tupel: Schlüsseleigenschaft +- auch Attributkombinationen können Schlüssel sein! +- Schlüssel können durch Unterstreichen gekennzeichnet werden +- Schlüssel einer Tabelle können in einer anderen (oder derselben!) Tabelle als eindeutige Verweise genutzt werden: + - Fremdschlüssel, referenzielle Integrität +- ein Fremdschlüssel ist ein Schlüssel in einer „fremden“ Tabelle + +## SQL-Datendefinition +### CREATE table +Wirkung dieses Kommandos ist sowohl +- die Ablage des Relationenschemas im Data Dictionary, als auch +- die Vorbereitung einer „leeren Basisrelation“ in der Datenbank + +### DROP table +komplettes Löschen einer Tabelle (Inhalt und Eintrag im Data +Dictionary) + +### Mögliche Wertebereiche in SQL +- integer (oder auch integer4, int), +- smallint (oder auch integer2), +- float(p) (oder auch kurz float), +- decimal(p,q) und numeric(p,q) mit jeweils q Nachkommastellen, +- character(n) (oder kurz char(n), bei n = 1 auch char) für Zeichenketten (Strings) fester Länge n, +- character varying(n) (oder kurz varchar(n) für Strings variabler Länge bis zur Maximallänge n, +- bit(n) oder bit varying(n) analog für Bitfolgen, und +- date, time bzw. datetime für Datums-, Zeit- und kombinierte Datums-Zeit-Angaben + +Beispiel: +```sql +create table WEINE ( + WeinID int, + Name varchar(20) not null, + Farbe varchar(10), + Jahrgang int, + Weingut varchar(20), + primary key(WeinID), + foreign key(Weingut) references ERZEUGER(Weingut)) +``` +- primary key kennzeichnet Spalte als Schlüsselattribut +- foreign key kennzeichnet Spalte als Fremdschlüssel +- not null schließt in bestimmten Spalten Nullwerte als Attributwerte aus +- null repräsentiert die Bedeutung „Wert unbekannt“, „Wert nicht anwendbar“ oder „Wert existiert nicht“, gehört aber zu keinem Wertebereich +- null kann in allen Spalten auftauchen, außer in Schlüsselattributen und den mit not null gekennzeichneten + + +## Grundoperationen: Die Relationenalgebra +- Anfrageoperationen auf Tabellen + - Basisoperationen auf Tabellen, die die Berechnung von neuen Ergebnistabellen aus gespeicherten Datenbanktabellen erlauben + - Operationen werden zur sogenannten Relationenalgebra zusammengefasst + - Mathematik: Algebra ist definiert durch Wertebereich sowie darauf definierten Operationen + - für Datenbankanfragen entsprechen die Inhalte der Datenbank den Werten, Operationen sind dagegen Funktionen zum Berechnen der Anfrageergebnisse + - Anfrageoperationen sind beliebig kombinierbar und bilden eine Algebra zum „Rechnen mit Tabellen“ – die Relationenalgebra + +- Selektion $\sigma$: Auswahl von Zeilen einer Tabelle anhand eines Selektionsprädikats +- Projektion $\pi$: Auswahl von Spalten durch Angabe einer Attributliste + - Die Projektion entfernt doppelte Tupel +- Verbund $\bowtie$ (engl. join): verknüpft Tabellen über gleichbenannte Spalten, indem er jeweils zwei Tupel verschmilzt, falls sie dort gleiche Werte aufweisen + - Tupel, die keinen Partner finden (dangling tuples), werden eliminiert +- Umbenennung $\beta$: Anpassung von Attributnamen mittels Umbenennung +- Vereinigung $r_1 \cup r_2$ von zwei Relationen $r_1$ und $r_2$: + - Gesamtheit der beiden Tupelmengen + - Attributmengen beider Relationen müssen identisch sein +- Differenz $r_1 − r_2$ eliminiert die Tupel aus der ersten Relation, die auch in der zweiten Relation vorkommen +- Durchschnitt $r_1 \cap r_2$: ergibt die Tupel, die in beiden Relationen gemeinsam vorkommen + + +## SQL als Anfragesprache +```sql +SELECT farbe FROM weine WHERE Jahrgang = 2002 +``` +- SQL hat Multimengensemantik — Duplikate in Tabellen werden in SQL nicht automatisch unterdrückt! + - Mengensemantik durch distinct +- Verknüpfung von Tabellen + - Kreuzprodukt: `` select * from Weine, Erzeuger`` + - Verbund: `` select * from Weine natural join Erzeuger`` + - Verbund mit Bedingung: `` select * from Weine, Erzeuger where Weine.Weingut = Erzeuger.Weingut`` +- Kombination von Bedingungen +- Vereinigung in SQL explizit mit union + +## Änderungsoperationen in SQL +- insert: Einfügen eines oder mehrerer Tupel in eine Basisrelation oder Sicht + - `` INSERT INTO table (attribut) VALUE (ausdruck) `` + - optionale Attributliste ermöglicht das Einfügen von unvollständigen Tupeln + - nicht alle Attribute angegeben ⇝ Wert des fehlenden Attribut Land wird null +- update: Ändern von einem oder mehreren Tupel in einer Basisrelation oder Sicht + - `` UPDATE relation SET attribut=ausdruck `` +- delete: Löschen eines oder mehrerer Tupel aus einer Basisrelation oder Sicht + - `` DELETE FROM table WHERE id=123 `` + - Löschoperationen können zur Verletzung von Integritätsbedingungen führen! + +Lokale und globale Integritätsbedingungen müssen bei Änderungsoperationen automatisch vom System überprüft werden # Datenbankentwurf im ER-Modell +## Datenbankmodelle +> **Datenbankmodell**: Ein Datenbankmodell ist ein System von Konzepten zur Beschreibung von Datenbanken. Es legt Syntax und Semantik von Datenbankbeschreibungen für ein Datenbanksystem fest. + +Datenbankbeschreibungen = Datenbankschemata + +1. statische Eigenschaften + 1. Objekte + 2. Beziehungen + - inklusive der Standard-Datentypen, die Daten über die Beziehungen und Objekte darstellen können, +2. dynamische Eigenschaften wie + 1. Operationen + 2. Beziehungen zwischen Operationen, +1. Integritätsbedingungen an + 1. Objekte + 2. Operationen + +Datenbankmodelle im Überblick +- HM: hierarchisches Modell, NWM: Netzwerkmodell, RM: Relationenmodell +- NF 2 : Modell der geschachtelten (Non-First-Normal-Form = NF 2 ) Relationen, eNF 2 : erweitertes NF 2 -Modell +- ER: Entity-Relationship-Modell, SDM: semantische Datenmodelle +- OODM / C++: objektorientierte Datenmodelle auf Basis objektorientierter Programmiersprachen wie C++, + - OEM: objektorientierte Entwurfsmodelle (etwa UML), + - ORDM: objektrelationale Datenmodelle + +## ER Modell +- **Entity**: Objekt der realen oder der Vorstellungswelt, über das Informationen zu speichern sind, z.B. Produkte (Wein, Katalog), Winzer oder Kritiker; aber auch Informationen über Ereignisse, wie z.B. Bestellungen +- **Relationship**: beschreibt eine Beziehung zwischen Entities, z.B. ein Kunde bestellt einen Wein oder ein Wein wird von einem Winzer angeboten +- **Attribut**: repräsentiert eine Eigenschaft von Entities oder Beziehungen, z.B. Name eines Kunden, Farbe eines Weines oder Datum einer Bestellung + - Attribute modellieren Eigenschaften von Entities oder auch Beziehungen + - alle Entities eines Entity-Typs haben dieselben Arten von Eigenschaften; Attribute werden somit für Entity-Typen deklariert +- **Werte**: primitive Datenelemente, die direkt darstellbar sind + - Wertemengen sind beschrieben durch Datentypen, die neben einer Wertemenge auch die Grundoperationen auf diesen Werten charakterisieren + - ER-Modell: vorgegebene Standard-Datentypen, etwa die ganzen Zahlen int, die Zeichenketten string, Datumswerte date etc. + - jeder Datentyp stellt Wertebereich mit Operationen und Prädikaten dar +- **Entities** sind die in einer Datenbank zu repräsentierenden Informationseinheiten + - im Gegensatz zu Werten nicht direkt darstellbar, sondern nur über ihre Eigenschaften beobachtbar + - Entities sind eingeteilt in Entity-Typen, etwa $E_1 , E_2,...$ +- **Schlüsselattribute**: Teilmenge der gesamten Attribute eines Entity-Typs $E(A_1,... , A_m)$ + - in jedem Datenbankzustand identifizieren die aktuellen Werte der Schlüsselattribute eindeutig Instanzen des Entity-Typs E + - bei mehreren möglichen Schlüsselkandidaten: Auswahl eines Primärschlüssels +- **Beziehungstypen**: Beziehungen zwischen Entities werden zu Beziehungstypen zusammengefasst + - Beziehungen können ebenfalls Attribute besitzen + + +Merkmale von Beziehungen +- Stelligkeit oder Grad: + - Anzahl der beteiligten Entity-Typen + - häufig: binär + - Beispiel: Lieferant liefert Produkt +- Kardinalität oder Funktionalität: + - Anzahl der eingehenden Instanzen eines Entity-Typs + - Formen: 1:1, 1:n, m:n + - stellt Integritätsbedingung dar + - Beispiel: maximal 5 Produkte pro Bestellung + +- 1:1 Beziehung + - jedem Entity $e_1$ vom Entity-Typ $E_1$ ist maximal ein Entity $e_2$ aus $E_2$ zugeordnet und umgekehrt + - Bsp: Prospekt *beschreibt* Produkt +- 1:N Beziehung + - jedem Entity $e_1$ aus $E_1$ sind beliebig viele Entities $E_2$ zugeordnet, aber zu jedem Entity $e_2$ gibt es maximal ein $e_1$ aus $E_1$ + - Bsp: Lieferant *liefert* Produkte, Mutter *hat* Kinder +- N:1 Beziehung + - invers zu 1:N, auf funktionale Beziehung +- M:N Bezeihung + - keine Restriktionen + - Bsp: Bestellung *umfasst* Produkte + +[min,max]-Notation +- schränkt die möglichen Teilnahmen von Instanzen der beteiligten Entity-Typen an der Beziehung ein, indem ein minimaler und ein maximaler Wert vorgegeben wird +- Spezielle Wertangabe für $max_i$ ist ∗ + +Kardinalitätsangaben +- [0, ∗] legt keine Einschränkung fest (default) +- $R(E_1 [0, 1], E_2 )$ entspricht einer (partiellen) funktionalen Beziehung $R : E_1 \rightarrow E_2$ , da jede Instanz aus $E_1$ maximal einer Instanz aus $E_2$ zugeordnet ist +- totale funktionale Beziehung wird durch $R(E_1 [1, 1], E_2 )$ modelliert +- Beispiele: + - partielle funktionale Beziehung: $lagert_in(Produkt[0,1],Fach[0,3])$ + - totale funktionale Beziehung: $liefert(Lieferant[0,*],Produkt[1,1])$ + +## Weitere Konzepte im ER Modell # Relationaler DB-Entwurf From 2d1d9058040d7f813b080017e2c99ee6836743d4 Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Thu, 22 Oct 2020 18:15:05 +0200 Subject: [PATCH 3/3] updated list --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index ca29c3b..accd4bf 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,9 @@ bisher: - [Algorithmen und Datenstrukturen](Algorithmen%20und%20Datenstrukturen.md) - [Automaten, Sprachen und Komplexität](Automaten,%20Sprachen%20und%20Komplexität.md) (ongoing) - [Flashcards - Karteikarten für Definitionen](Automaten,%20Sprachen%20und%20Komplexität%20-%20Flashcards.pdf) (ongoing) +- [Betriebssysteme](Betriebssysteme.md) (ongoing) +- [Computergrafik](Computergrafik.md) (ongoing) +- [Datenbanksysteme](Datenbanksysteme.md) (ongoing) - [Einführung in die Medizinische Informatik](Einführung%20in%20die%20Medizinische%20Informatik.md) - [Grundlagen und diskrete Strukturen](Grundlagen%20und%20Diskrete%20Strukturen.md) - [GudS - Cheatsheet](Grundlagen%20und%20Diskrete%20Strukturen%20-%20Cheatsheet.pdf) @@ -14,6 +17,8 @@ bisher: - [Neuroinformatik](Neuroinformatik.md) (letzte 2 Kapitel fehlen) - [Programmierparadigmen](Programmierparadigmen.md) - [Rechnerarchitekturen 1](Rechnerarchitekturen%201.md) +- [Rechnerarchitekturen 2](Rechnerarchitekturen%202.md) (ongoing) +- [Softwaretechnik](Softwaretechnik%201.md) (ongoing) - [Stochastik](Stochastik.md) (ongoing) - [Telematik 1](Telematik%201.md) - [Telematik Cheatsheet](Telematik1-cheatsheet.pdf)