INSY Abschlussprüfung 2025 (Fragen: 0.1 - 6.72)

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

0.1 - Was ist eine Datenbank?

Eine Datenbank ist ein elektronisches Verwaltungssystem, das den effizienten Zugriff und die sichere Speicherung von Daten ermöglicht. Teilmengen von Daten können zusammengestellt und angezeigt werden

0.3 - Wo werden Datenbanken verwendet?

Controlling & Rechnungswesen • Daten erfassen und erstellen, • Rechnungen und Mahnungen • Formulare digital erstellen, ausfüllen, analysieren Warenwirtschaftssysteme (WWS) • alle Artikel eines Verkaufsbestandes erfassen und in Datenbank verwalten • der aktuelle Lagerbestand ist jederzeit abrufbar Enterprise Resource Planning (ERP) • realisieren den Datenaustausch zwischen unterschiedlichen Datenbanken • arbeiten vollkommen autark, ohne direkten Benutzereingriff Content Management Systeme (CMS) • zur einfachen Verwaltung von Internetseiten • Anwender benötigen keine Programmierkenntnisse • virtuelle Oberfläche Backend zur Verwaltung für Admin und Kunden Customer Relationship Management (CRM) • sämtliche Daten von Kunden und Zwischengruppen können verwaltet werden • unterschiedliche Eingabe- und Auswertungsmöglichkeiten Datenbanken bei Banken, Versicherungen, Gas- und Stromlieferanten • Gas- und Stromlieferanten nutzen CMS-Systeme für Zählerstände und Stromabnehmer

0.2 - Wie ist ein Datenbanksystem aufgebaut?

Ein Datenbanksystem besteht aus einem Datenbankmanagementsystem DBMS – die Verwaltung und der Datenbank – Speicherung in Datensätzen

0.4 - Was ist ein Datenbankmanagementsystem (DBMS)?

<p>Ein DBMS ist eine Software zur Verwaltung der Datenbank. Ssie bildet die Grundlage der Datenbank – das Datenbankmodell</p> Signup and view all the answers

0.5 - Nach welchen Kriterien muss ein DBMS ausgewählt werden?

<p>• Anzahl der Benutzer • Art und Menge der Daten • Sicherheit</p> Signup and view all the answers

0.6 - Wie lauten die drei Hauptpunkte der Sicherheit in Datenbanken?

<p>Schutz vor • Datenverlust • unbefugten Zugriff und • unbefugter Datenänderung Zugriffs- und Rechteverwaltung • Vergabe von Datenbankrollen</p> Signup and view all the answers

0.14 - Was bedeuten in Datenbanken die Begriffe „Integrität“ und „Konsistenz“?

<p>„Integrität“ bedeutet Vollständigkeit, Unversehrtheit Datenintegrität – Vollständige Daten • wird in einem DBMS durch Regeln (Constraints) geregelt. Constraints sind Regeln • sie bestimmen wie Daten in einer Datenbank verändert werden dürfen referentielle Integrität • Enthält ein Datensatz einen Fremdschlüssel (Foreign Key), so muss dieser in der referenzierten Tabelle einmalig existieren, um den Datensatz speichern zu können. Existiert er nicht, kann der Datensatz nicht gespeichert werden. Datenbank-Konsistenz • Datenspeicherung frei von Widersprüchen: keine Anomalien oder Redundanzen Eine Datenbank ist konsistent, wenn sie keine Anomalien oder Redundanzen enthält.</p> Signup and view all the answers

0.17 - Was bedeutet „referentielle Integrität“ in relationalen Datenbanken?

<p>Enthält ein Datensatz einen Fremdschlüssel (Foreign Key), so muss dieser in der referenzierten Tabelle einmalig existieren, um den Datensatz speichern zu können. Existiert er nicht, kann der Datensatz nicht gespeichert werden. Kurze Antwort: Datensatz hat einen Fremdschlüssel? JA -&gt; Fremdschlüssel muss in der referenzierten Tabelle existieren JA / NEIN JA -&gt; Datensatz kann gespeichert werden! Nein -&gt; Datensatz kann nicht gespeichert werden!</p> Signup and view all the answers

0.18 - Wofür wird die „referentielle Integrität“ benötigt?

<p>Um einen konsistenten Zustand der Datenbank zu gewährleisten. Die referentielle Integrität sichert die Konsistenz der Datenbank. Diese wird durch Integritätsbedingungen ermöglicht. Sind diese erfüllt? Dann ist die Datenbank konsistent!</p> Signup and view all the answers

0.19 - Welche möglichen Faktoren für einen inkonsistenten Zustand gibt es?

<p>keine Normalisierung, starke Redundanzen, Anomalien - Verfälschung oder Löschung von Informationen. Man spricht von: •Einfüge-Anomalie - unvollständige Eingabe von Daten •Änderungs-Anomalie – nicht alle Vorkommen werden zugleich geändert • Lösch-Anomalie – unerwünschte Löschung von Daten; Keine referentielle Integrität: Referenzierte Daten können beliebig erstellt oder gelöscht werden &gt; Inkonsistenz Die Normalisierung beseitigt Redundanzen und Anomalien</p> Signup and view all the answers

0.20 - Welche Arten von Datenbanksprachen gibt es im relationalen Datenbankmodell?

<p>Data Manipulation Language (DML) ⇒ SQL-Befehle für das Ändern, Einfügen, Löschen und Abfragen von Daten o SQL: SELECT, INSERT, UPDATE, DELETE Data Definition Language (DDL) ⇒ SQL-Befehle für die Definition von Datenbankschemas (DDL) o SQL: CREATE, DROP, ALTER, TRUNCATE, COMMENT, RENAME Data Control Language (DCL) ⇒ SQL-Befehle für die Verwaltung von Rechten und die Kontrolle von Transaktionen o SQL: GRANT, REVOKE,.</p> Signup and view all the answers

0.21 - Was ist SQL und wozu dient es?

<p>• SQL – Structured Query Language ist eine Datenbanksprache für relationale Datenbanken: ⇒ Speicherung von Informationen in verschiedenen Tabellen, die ⇒ untereinander in Beziehungen (Relationen) verknüpft werden. o basiert auf der relationalen Algebra o Syntax ist recht einfach ⇒ semantisch an die englische Umgangssprache angelehnt; dient zur Erstellung von Datenbankstrukturen: Tabellen, Beziehungen, Integritätsbedingungen; womit Daten eingefügt (insert), verändert (update), abgefragt (query) und gelöscht (delete) werden können. SQL ist der Standard, um Abfragen auf relationalen Datenbanken auszuführen.</p> Signup and view all the answers

0.31 - Was ist ein Datenbank-Backup?

<p>Ein Datenbank-Backup ist ein aktuelles Abbild (Snapshot) einer Datenbank zu einem fest definierten Zeitpunkt. Ein Backup einer Datenbank kann archiviert und für spätere Zwecke wiederverwendet werden.</p> Signup and view all the answers

0.32 - Wann sollte ein Backup durchgeführt werden?

<p>Ein Backup einer Datenbank ist sinnvoll, wenn die Zukunft der Datenbestände ungewiss ist. • Gründe für ein Backup: Tägliche Sicherung für das Archiv, Sicherung vor einer Datenbankänderung, Backup bei großen Datenbeständen, tägliche Sicherung, inklusive Transaktionsprotokoll (sehr wichtig, um kleine Veränderungen am Datenbestand rückgängig machen zu können) Ein Backup für eine Datenbank kann als vollständige bzw. inkrementelle Datenbanksicherung durchgeführt werden.</p> Signup and view all the answers

0.33 - Welche Datenbank Backup-Methoden kennen Sie?

<p>• Vollständiges Datenbank Backup: ein komplettes Abbild der aktuellen Datenbank wird erstellt und in eine Datei exportiert. Vorherige Version wird überschrieben • Inkrementelles Datenbank Backup: als Grundlage wird ein vollständiges Backup verwendet und um die jeweiligen Teil-Backups ergänzt. Veränderte Teile werden ergänzt.</p> Signup and view all the answers

0.34 - Wann werden Datenbanken eingesetzt?

<p>• Eine Datenbank ist ein elektronisches Verwaltungssystem und ermöglicht die dauerhafte, effiziente und sichere Speicherung von Daten und kann diese eigenständig verwalten. Datenbanken sind in der IT nicht mehr wegzudenken. Wo auch immer Software-Applikationen auf eine gemeinsame Datenbasis zugreifen, spielen Datenbanken eine wesentliche Rolle</p> Signup and view all the answers

0.35 - Beschreiben Sie die Unterschiede zwischen Relationalen- und NoSQL Datenbanken!

<p>• NoSQL Datenbanken: Im Gegensatz zu relationalen Datenbanken werden Daten in einer weniger oder unstrukturierten Form abgelegt ⇒ nicht normalisiert! Objekte mit ihren Attributen speichern, die beliebig befüllt sein können. Große Datenmengen schnell zu speichern und auszuwerten. • Relationale Datenbanken sind nicht geeignet für schnelle Speicherung großer Datenmengen da Integritätsprüfungen und Normalisierung (Aufteilung der Informationen in verschiedene Tabellen) viel Zeit bei der Verarbeitung beanspruchen. Dafür eignen sich NoSQL Datenbanken besser und werden auch genau dafür eingesetzt. Relationale Datenbanken sind nicht wegzudenken. Und sind überall notwendig wo es auf Genauigkeit, Integrität, Aktualität und Nachvollziehbarkeit ankommt, wie beispielsweise bei Transaktionssystemen NoSQL Datenbanken = weniger strukturierte Form als relationale Datenbanken</p> Signup and view all the answers

0.36 - Welche Vorteile bieten Datenbanksysteme allgemein?

<p>• Der Einsatz von relationalen Datenbanken verhindert Inkonsistenzen in den Daten, verhindert Redundanzen (mehrfache Speicherung gleicher Informationen), verhindert Anomalien (Probleme bei der Aktualisierung mehrfach gespeicherter Datensätze), Programm-Daten-Abhängigkeit und Inflexibilität wird aufgelöst da alle Programme eine zentrale Datenbasis verwenden. • Datenbankmanagementsysteme DBMS besitzen eine Vielzahl von Datenanalyse-Methoden zur Auswertung von Informationen. Die mächtige Skriptsprache SQL stellt Funktionen zur, Berechnungen Aggregationen und Sortierungen der Daten zur Verfügung. DBMS sind Abfrage-optimiert und können Daten in einem Bruchteil der Zeit auslesen, die andere Dateiformate (z.B. Excel, CSV) benötigen.</p> Signup and view all the answers

1.1 - Was ist ein Datenbankmodell?

<p>Ein Datenbankmodell ist die theoretische Grundlage für eine Datenbank. Sie legt fest, auf welche Art und Weise die Daten im Datenbanksystem gespeichert und bearbeitet werden können.</p> Signup and view all the answers

1.8 - Erläutern Sie die Eigenschaften des NoSQL Datenbankmodells!

<p>Eigenschaften vom NoSQL – Datenbankmodell • Vorteil: Skalierbarkeit, hohe Performance, Eignung für verteilte und horizontale Skalierung • Nachteil: Keine Normalisierung – keine Garantie für Konsistenz der Daten, kein ACID sondern BASE als Konsistenzmodell, Transaktionen werden nur eingeschränkt oder überhaupt nicht genutzt • NoSQL Datenbanken lassen sich grob in vier Kategorien einteilen: Key-Value-Datenbanken, Dokumentenorientierte Datenbanken, Wide-Column-Stores, Graph-Datenbanken • Projekte für die NoSQL ideal ist: Datenanforderungen sind noch nicht klar, Einfache/lockerere Projektziele; Möglichkeit sofort mit der Programmierung zu starten – einfache API, Geschwindigkeit und Skalierbarkeit ist zwingend erforderlich. NoSQL ist keine relationale Datenbank. Im Gegensatz zu den Tabellen in SQL werden Daten in NoSQL als JSON-ähnliche Key-Value Paare in einer Datei gespeichert.</p> Signup and view all the answers

1.9 - Was ist das relationale Datenbankmodell?

<p>• Das relationale Datenbankmodell ist die Speicherung von Informationen in verschiedenen Tabellen, die untereinander in Beziehungen verknüpft werden. Sie besteht aus: Tabellen - bestehen aus Zeilen und Spalten, Zeilen – Datensätze (auch Tupel genannt), Spalten – Eigenschaften / Attribute, Beziehungen. Theoretische Grundlage: Ist die relationale Algebra. • Vorteile: Relationale Datenbanken sind einfach und flexibel zu erstellen, sie garantieren Datenkonsistenz durch Normalisierung und Integritätsprüfungen Das relationale Datenbankmodell ist das am weitesten verbreitete Datenbankmodell</p> Signup and view all the answers

1.10 - Aus welchen Bausteinen besteht das relationale Datenbankmodell?

<p>• Tabellen ⇒ bestehen aus Zeilen (Tupel = ein Datensatz) und Spalten (Attribute); • Attributen ⇒ Eigenschaften - Spalten in einer Tabelle; • Tupel ⇒ Datensätze - Zeilen in einer Tabelle; • Beziehungen ⇒ Verknüpfungen zwischen Tabellen;</p> Signup and view all the answers

1.12 - Was legt ein Relationsschema fest?

<p>Ein Relationsschema legt die Anzahl und den Typ der Attribute (Eigenschaften, Spalten) für eine Tabelle fest. Ein Relationsschema definiert Anzahl und Typ von Attributen</p> Signup and view all the answers

1.13 - Wie werden Beziehungen in relationalen Datenbanken hergestellt?

<p>Beziehungen in relationalen Datenbanken werden über Primär- und Fremdschlüsseln hergestellt. Ein Fremdschlüssel ist ein Primärschlüssel einer referenzierten Tabelle. Mithilfe von Primär- und Fremdschlüsseln können Attribute aus verknüpften Tabellen abgefragt werden</p> Signup and view all the answers

1.14 Welche Vor- und Nachteile haben relationale Datenbanken?

<p>• Vorteile: Sehr einfaches Datenmodell, Garantierte Datenkonsistenz durch Normalisierung - Datenintegrität, komplizierte Abfragen auf große Datenmengen sind möglich; • Nachteile: Langsame Datenverarbeitung wegen Integritätsprüfungen, Normalisierung erfordert bei der Suche nach Daten mehr Performance; Relationale Datenbanken unterscheiden sich grundsätzlich von hierarchischen und netzwerkorientierten Datenbanken.</p> Signup and view all the answers

1.15 - Wie lauten die Grundbegriffe der relationalen Datenbank?

<p>• Tabellen: Daten werden in mehreren Tabellen (Relationen) gespeichert, die wiederum aus Spalten (Attributen) und Zeilen (Datensatz = Tupel) bestehen. Ein anderer Begriff für Zeile (Datensatz) ist Tupel. Ein Relationsschema legt die Anzahl und den Typ der Attribute (Spalten) für eine Tabelle fest. • Attribute: Die Spalten der Tabelle werden als Attribute bezeichnet. Jedes Attribut der Tabelle kann einen definierten Wertebereich annehmen. In jedem Tupel (Zeile) sind je nach Anzahl der Spalten bestimmte Attributwerte gespeichert. • Beziehungen: Beziehungen werden durch sogenannte Primär- und Fremdschlüssel hergestellt. Schlüssel dürfen sich in einer konsistenten Datenbank nicht ändern und beziehen sich immer auf Datensätze. Jeder Datensatz muss eindeutig identifizierbar sein, hierfür sind ein oder mehrere Schlüssel definiert. Durch den Primärschlüssel wird der Datensatz eindeutig identifizierbar. Ein Grundprinzip relationaler Datenbanken ist, dass diese stets konsistent und redundanzfrei sein müssen.</p> Signup and view all the answers

1.17 - Welche Probleme haben relationale Datenbanken im Big-Data-Umfeld?

<p>• Relationale Datenbanken im Big-Data-Umfeld nicht beliebig skalierbar, Schwächen bei der Verarbeitung besonders großer Datenmengen, schlecht geeignet für unstrukturierte Daten – wie Bilder oder Dokumente • Nachteile: Langsame Datenverarbeitung wegen Integritätsprüfungen, Normalisierung erfordert bei der Suche nach Daten mehr Rechenleistung</p> Signup and view all the answers

1.18 - Wann ist die Verwendung einer relationalen Datenbank sinnvoll?

<p>• Wenn es auf Genauigkeit, Integrität, Aktualität und Nachvollziehbarkeit ankommt, wie beispielsweise bei Transaktionssystemen • Projekte für die SQL ideal ist: Logisch ähnliche diskrete Datenanforderungen die im Vorhinein identifiziert werden können, wenn Datenintegrität wichtig ist oder wenn standard-basierte bewährte Technologien mit gutem Support verwendet werden sollen</p> Signup and view all the answers

1.19 - Wann ist die Verwendung einer NoSQL Datenbank sinnvoll?

<p>• NoSQL Datenbanken: NoSQL ist keine relationale Datenbank, Daten werden nicht normalisiert, Auf ein starres Datenbankschema wird verzichtet; • Vorteile: Skalierbarkeit, hohe Performance • Nachteile: Konsistenz der Daten kann teilweise nicht garantiert werden, Transaktionen werden nur eingeschränkt oder überhaupt nicht genutzt • NoSQL Datenbanken lassen sich grob in vier Kategorien einteilen: Key-Value-Datenbanken, Dokumentenorientierte Datenbanken speichern Daten in einem gekapselten oft unstrukturiertem Dokument, Suchen bzw. Abfragen sind auf Basis von Dokumentinhalten möglich, Wide-Column-Stores, Graph-Datenbanken • Projekte für die NoSQL ideal ist: Datenanforderungen sind noch nicht klar, Einfache/lockerere Projektziele, Möglichkeit sofort mit der Programmierung zu starten, Geschwindigkeit und Skalierbarkeit ist zwingend erforderlich</p> Signup and view all the answers

3.26 - Was ist das Kreuzprodukt?

<p>• Kreuzprodukt: Symbol: X; Anwendung: Alle Tupel-Kombinationen aus zwei Relationen; Basisoperator: JA ist eine Grundoperation &gt; ist NICHT ableitbar; Operator: binär = zwei Eingangsmengen; Selektionsprädikat: -; Vereinigungskonformität: Schema soll (aus Gründen der Klarheit) nicht gleich sein, falls Attribute den gleichen Namen haben, werden diese umbenannt; Als Frage: Was bekomme ich, wenn ich alle Tupel zweier Relationen miteinander verbinde? In einem Satz: die Menge aller Kombinationen der Tupel aus zwei Relationen; Besonderheiten: Die Anzahl der Zeilen der beiden Tabellen werden multipliziert, Doppelte Tupel können in der Ergebnismenge nicht auftreten</p> Signup and view all the answers

3.27 - Was ist eine Join-Operation?

<p>Ein Join (zu deutsch Verbund) bezeichnet die beiden hintereinander ausgeführten Operationen; Kartesisches Produkt + Selektion = Join</p> Signup and view all the answers

3.31 - Was bedeutet NULL in Datenbanken?

<p>• Der NULL-Wert zeigt das Fehlen eines Datensatzes, zeigt nicht warum ein Wert fehlt, sondern nur Stellen, für die es keinen Wert gibt. Die häufigste Anwendung: optionale Attribute ohne zusätzliche Tabelle umsetzen • Vergleiche mit NULL: UNKNOWN tritt dann auf, wenn eine leere Spalte oder Variable, die NULL ist, mit einem anderen Wert verglichen wird. Diese Aussage gilt für alle Operatoren von Suchbedingungen mit Ausnahme von &quot;IS NULL&quot; und &quot;EXISTS&quot;. Die dreiwertige Logik ist unter anderem bei SQL, Oracle und PL/SQL zu finden. • Fehlerbehandlung mit NULL: Anders als in Programmiersprachen verursacht die Verarbeitung von NULL-Werten in SQL keinen Fehler oder Abbruch. Null-Werte breiten sich durch Ausdrücke einfach hindurch. • NULL durch Ausdrücke: NULL breitet sich durch Ausdrücke durch. Ausdrücke und Funktionen, die einen Null-Wert verarbeiten, liefern grundsätzlich Null als Ergebnis – bis auf zwei Ausnahmen: Null und false = false, Null oder true = true</p> Signup and view all the answers

3.32 - Beschreiben Sie jede Join-Variante!

• Natural-Join = • Outer-Join = • Left-Outer-Join = • Right-Outer-Join = • Full-Outer-Join =

(Kopieren Sie die Punkte Natural-Join bis Full-Outer-Join in das Antworfeld!) Bsp.: • Theta-Join = Kreuzprodukt + Selektion

<p>• Natural-Join = Kreuzprodukt + Selektion (nur mit “=“) + Projektion • Outer-Join = Tupel die keinen Join-Partner im Natural-Join finden werden trotzdem aufgenommen • Left-Outer-Join = Natural-Join + Tupel der linken Tabelle ohne Join-Partner • Right-Outer-Join = Natural-Join + Tupel der rechten Tabelle ohne Join-Partner • Full-Outer-Join = Kombination aus Left- und Right-Outer-Join • Full-Outer-Join = Natural-Join + alle Tupel (links + rechts) die keinen Join-Partner finden</p> Signup and view all the answers

4.1 - Was ist ein Datenbankdesign?

<p>Ein Datenbankdesign ist das Planen und Erstellen einer Datenbank. Hier werden alle kritischen Faktoren geklärt: Datenumfang – Speicherplatzbedarf, Datensicherung – Totalausfall – Zeit der Wiederherstellung, Ausfallsicherheit - Qualität des Speichermediums – RAID, Kosten – Software-Lizenzen und Hardwarekosten. Ein Datenbankdesign zeichnet sich durch eine saubere Trennung von Datenbankschicht und Anwendungsschicht aus</p> Signup and view all the answers

5.1 - Was sind die Ziele einer guten Datenmodellierung?

<p>Redundanzfreie Datenspeicherung: Wenn jede Information in einer Datenbank nur einmal vorkommt. Hohe Datenkonsistenz: Daten müssen eindeutige Informationen darstellen -&gt; keine Redundanzen, keine Anomalien.</p> Signup and view all the answers

5.2 - Wie lauten die Grundbegriffe der Datenmodellierung? (6 Grundbegriffe)

<p>• Entität – Ein eindeutig zu bestimmendes Objekt – konkret oder abstrakt; • Entitätsmenge - Alle Datensätze in einer Entität (Zeilen in einer Tabelle); • Relation – beschreibt ein eindeutiges Objekt – durch Entitätsnamen, Attribute und Tupel; • Attribute – ist die Eigenschaft einer Entität – eines eindeutig definierten Objekts; • Attributwerte – Der Wert den ein Attribut in einem Tupel annehmen kann; • Datenbank-Index – dient der Abfrageoptimierung – eine Vorsortierung von Daten;</p> Signup and view all the answers

5.3 - Was ist eine Entität? Nennen Sie auch einige Beispiel!

<p>Eine Entität (Tabellenname) ist ein eindeutig zu bestimmendes Objekt, über das Informationen gespeichert oder verarbeitet werden sollen. Das Objekt kann materiell oder immateriell, konkret oder abstrakt sein. Beispiele: Ein Fahrzeug, ein Konto, eine Person, ein Zustand.</p> Signup and view all the answers

5.4 - Was ist eine Entitätsmenge?

<p>Eine Entitätsmenge repräsentiert alle Datensätze, die zu einer Entität gehören -&gt; Alle Datensätze in einer Entität (Zeilen in einer Tabelle)</p> Signup and view all the answers

5.5 - Was ist eine Relation?

<p>Eine Relation ist eine Verknüpfung von Zeilen (Tupel) und Spalten (Attribute). Eine komplette Relation besteht aus einer Entitätsbezeichnung (Tabellenname), deren Attributen (Spaltennamen) und Tupeln (Datensätzen – Zeilen in einer Tabelle). Je nach Anschauung ändern sich die Begriffe: logische Schicht - eine Entität - Entitätsbezeichnung, Attribute und Tupel, physische Schicht - eine Tabelle - Tabellenname, Spalten und Zeilen. Unterschied zwischen Relation und Tabelle: Relationen (Mengen im mathematischen Sinne) haben keine Ordnung, keine Reihenfolge und keine Duplikate. Tabellen haben eine Ordnung, eine Reihenfolge und können Duplikate enthalten.</p> Signup and view all the answers

5.6 - Was sind Attribute? Nennen Sie auch ein Beispiel!

<p>Ein Attribut (Spaltenname): beschreibt genau ein Merkmal/Eigenschaft eines Tupels in einer Entitätsmenge, zum Beispiel den Namen eines Kunden. Ein Attribut ist die Eigenschaft einer Entität – eines eindeutig definierten Objekts. Beispiel: Das Objekt Haus hat die Eigenschaften Höhe, Größe, Bauart.</p> Signup and view all the answers

5.7 - Was sind Attributwerte?

<p>Der Attributwert repräsentiert den Wert, den ein Attribut in einem Tupel annehmen kann, zum Beispiel: Attribut -&gt; Name = „Meier“ &lt;-Attributwert</p> Signup and view all the answers

5.12 - Was ist ein Primärschlüssel (PK, Primary Key)?

<p>Ein Primärschlüssel wird zur eindeutigen Identifizierung eines Datensatzes verwendet. Der Wert eines Primärschlüssels muss in einer Tabelle einmalig sein, da er jeden Datensatz eindeutig kennzeichnet. In einer normalisierten Datenbank besitzen alle Tabellen einen Primärschlüssel. Des Weiteren wird er häufig als Datenbank-Index verwendet, um die Daten auf der Festplatte in dessen Sortierreihenfolge abzulegen.</p> Signup and view all the answers

5.13 - Welche Arten von Primärschlüsseln (PK, Primary Key) gibt es? (3 Arten)

<p>• Eindeutiger Primärschlüssel, eindeutiger Schlüssel in einer Spalte der Tabelle • zusammengesetzter Primärschlüssel, Datensatz mit einem Attribut nicht eindeutig identifizierbar besteht aus einer Kombination aus mehreren Attributen • künstlicher Primärschlüssel gibt es keine eindeutigen Spalten oder Kombinationen aus Spalten, kann ein künstlicher Primärschlüssel verwendet werden. Eine fortlaufende Ganzzahlenfolge (Autoincrement) automatisch hochzählen</p> Signup and view all the answers

5.14 - Was ist ein Fremdschlüssel (FK, Foreign Key)?

<p>Ein Fremdschlüssel ist ein Primärschlüssel einer referenzierten Tabelle, die auf einen Primärschlüssel einer anderen oder aber derselben Tabelle verweist. Aufgrund der referentiellen Integrität kann der Fremdschlüssel nur Werte annehmen, die in der Referenztabelle vorhanden sind. Zudem kann eine beliebige Anzahl von Datensätzen den gleichen Fremdschlüsselwert aufweisen.</p> Signup and view all the answers

5.15 - Welche Fremdschlüsselarten (FK, Foreign Key) gibt es? (2 Arten)

<p>Einfacher Fremdschlüssel, Zusammengesetzter Fremdschlüssel -&gt; ist abhängig vom Aufbau des Primärschlüssels der referenzierten Tabelle</p> Signup and view all the answers

5.17 - Welche Arten von Beziehungen gibt es in relationalen Datenbanken? (3 Arten)

<p>▪ 1:1-Beziehungen: Jeder Datensatz in Tabelle A hat genau einen in Tabelle B und umgekehrt. Diese sollten vermieden werden, da die Informationen in einer Tabelle zusammengeführt werden können. Sie werden nur genutzt, um Komplexität zu reduzieren oder Zugriffsrechte zu isolieren.</p> <p>▪ 1:n-Beziehungen: Ein Datensatz in Tabelle A kann mehreren in Tabelle B zugeordnet sein, aber nicht umgekehrt. Dies ist der häufigste Beziehungstyp in Datenbanken (z. B. Kunde -&gt; 1:n &lt;- Bestellungen).</p> <p>▪ m:n-Beziehungen: Mehrere Datensätze in A können mehreren in B zugeordnet sein. Sie werden durch eine Verbindungstabelle C realisiert, die nur die Fremdschlüssel der beiden Tabellen enthält. In Wahrheit bestehen m:n-Beziehungen aus zwei 1:n-Beziehungen.</p> Signup and view all the answers

5.18 - Wie funktioniert eine 1:n Beziehung in relationalen Datenbanken?

<p>Erklärung: Für jedes X gibt es mehrere Y aber NICHT umgekehrt. In einer 1:n-Beziehung können einem Datensatz in Tabelle A mehrere passende Datensätze in Tabelle B zugeordnet sein, aber einem Datensatz in Tabelle B ist nie mehr als ein Datensatz in Tabelle A zugeordnet. = NICHT umgekehrt. Praxis: Eine „eins zu viele“-Beziehung ist der häufigste Beziehungstyp in einer Datenbank. Anwendung: Kunden -&gt; 1:n &lt;- Bestellungen, Personalnummer -&gt; 1:n &lt;- Haustiere,.</p> Signup and view all the answers

5.19 - Wie funktioniert eine m:n Beziehung in relationalen Datenbanken?

<p>Erklärung: Für mehrere X gibt es mehrere Y. Bei „viele zu viele“-Beziehungen können jedem Datensatz in Tabelle A mehrere passende Datensätze in Tabelle B zugeordnet sein und umgekehrt. Diese Beziehungen können nur über eine dritte Tabelle, eine Verbindungstabelle C, realisiert werden. Praxis: Die Verbindungstabelle C enthält in der Regel nur die Fremdschlüssel der beiden anderen Tabellen (A/B). Anwendung: Der Primärschlüssel der Verbindungstabelle wird aus diesen beiden Fremdschlüsseln gebildet. Daraus folgt, dass eine m:n Beziehung in Wirklichkeit zwei 1:n Beziehungen sind.</p> Signup and view all the answers

5.20 - Was bedeutet der Begriff „Kardinalität“ in relationalen Datenbanken?

<p>Die Kardinalität beschreibt die Art der Beziehung: 1:1 – Eins zu Eins, 1:n - Eins zu Viele (zwei Tabellen), n:m – Viele zu Viele (zur Realisierung wird eine zusätzliche Tabelle erstellt, die die Primärschlüssel beider Tabellen als Fremdschlüssel enthält)</p> Signup and view all the answers

5.21 - Was ist das Entity Relationship Modell (ER-Modell /ERM)?

<p>Das ER-Modell ist der logische Datenbankentwurf. Es werden Entitäten (Tabellen), Attribute (Spalten) und die Beziehungen untereinander definiert.</p> Signup and view all the answers

5.22 - Warum wird ein Entity Relationship Modell überhaupt erstellt? (Ableitend von Frage 5.21: "Was ist das Entity Relationship Modell?")

<p>Das ER-Modell ist ein gängiger Standard für die Datenmodellierung. Mithilfe des Entity Relationship Modells soll eine Typisierung von Objekten (Entitäten), ihrer relationalen Beziehungen untereinander und der zu überführenden Attribute (Eigenschaften), stattfinden.</p> Signup and view all the answers

5.23 - Was ist der Unterschied zwischen logischer und physischer Datenbankplanung?

<p>• Logische Datenbankplanung: Wie die Daten logisch Zusammenhängen. Definition von Entitäten – ein eindeutig zu bestimmendes Objekt, Attribute – die Eigenschaften des Objekts, Art der Beziehungen (Kardinalitäten) untereinander. Hier findet die Normalisierung statt! • Physische Datenbankplanung: Wie die Daten physisch auf dem Datenträger gespeichert werden. Definition von Datentypen, Wertebereiche, Tabellen, Zugriffsverfahren. Hier wird die Datenbank wirklich physisch erstellt!</p> Signup and view all the answers

5.24 - Was versteht man unter Normalisierung?

<p>Unter Normalisierung von relationalen Datenbanken versteht man die Aufteilung von Attributen in mehrere Relationen (Tabellen), sodass keine vermeidbaren Redundanzen mehr vorhanden sind und keine Anomalien entstehen</p> Signup and view all the answers

5.25 - Was sind Redundanzen?

<p>Redundanzen sind Informationen, die (unnötigerweise) mehrfach in einer Datenbank gespeichert werden und sind ein Zeichen für ein schlechtes Datenbankdesign.</p> Signup and view all the answers

5.26 - Wie können Redundanzen vermieden werden?

<p>Redundanzen können mittels der Normalisierung entfernt werden. Die Normalisierung entfernt doppelte Informationen, ohne dass ein Informationsverlust in anderen Relationen stattfindet</p> Signup and view all the answers

5.27 - Wann werden Redundanzen erlaubt?

<p>Redundanzen können manchmal von großem Vorteil sein, wenn es um die Performance in einer Datenbank geht -&gt; Schnellere Abfragen von Daten.</p> Signup and view all the answers

5.28 - Was sind Anomalien in einer Datenbank? Nennen Sie auch 3 Arten von Anomalien!

<p>Anomalien treten bei nicht-existierender oder fehlerhafter Normalisierung auf. Dadurch entstehen Redundanzen und unvollständige Daten, die dann zu Problemen führen! Arten von Datenbank-Anomalien: Einfüge-Anomalie (Insert-Anomalie) - Unvollständige Eingabe von Daten! Änderungs-Anomalie (Update-Anomalie) - Bei Änderungen von Daten wird ein Datensatzvergessen! Lösch-Anomalie (Delete-Anomalie) - unerwünschte Löschung von Daten</p> Signup and view all the answers

5.39 - Was sind die Ziele der Datenbank-Normalisierung?

<p>• Datenbankkonsistenz: Beseitigung von Redundanzen, Vermeidung von Anomalien; • Erstellung eines klar strukturierten Datenbankmodells;</p> <p>Ziel: Konsistenzerhöhung durch Redundanzvermeidung</p> Signup and view all the answers

5.40 - Beschreiben Sie die (inoffizielle) Nullte Normalform (0NF)!

<p>Definition: Ein Relationstyp(Tabelle) befindet sich in der nullten Normalform, wenn alle Datenelemente der realen Welt in einer Tabelle zusammengefasst und aufgelistet sind. Kurz gesagt: Ich sammle alle relevanten Informationen einfach unstrukturiert und unsortiert in einer Tabelle. Die Tabelle ist in der Nullten Normalform NICHT-normalisiert. Praxis: Die Nullte Normalform kommt bei der Anforderungsanalyse einer Datenbank und Beim Sammeln von unstrukturierten und unsortierten Informationen aus den verschiedenen Fachbereichen vor.</p> Signup and view all the answers

5.41 - Beschreiben Sie die erste Normalform (1NF)!

<p>Definition: Ein Relationstyp(Tabelle) befindet sich in der ersten Normalform, wenn die Wertebereiche der Attribute des Relationstypen atomar sind. Die erste Normalform ist dann gegeben, wenn alle Informationen in einer Tabelle atomar vorliegen. Einfacher erklärt bedeutet dieser Satz, dass jede Information innerhalb einer Tabelle eine eigene Tabellenspalte bekommt und zusammenhängende Informationen, wie z.B. Postleitzahl und Ort, nicht in einer Tabellenspalte vorliegen dürfen. Informationen, die vorher unstrukturiert und unsortiert vorlagen, werden nun einheitlich und klar strukturiert.</p> Signup and view all the answers

5.42 - Beschreiben Sie die zweite Normalform (2NF)!

<p>Definition: Ein Relationstyp befindet sich genau dann in der zweiten Normalform (2NF), wenn er sich in der ersten Normalform (1NF) befindet und jedes Nicht-Schlüsselattribut von jedem Schlüsselkandidaten voll funktional abhängig ist. Nicht-Schlüsselattribute sind Attribute, die keine Kandidatenschlüssel sind, also alle anderen Attribute, die einen Datensatz NICHT eindeutig identifizieren. Volle funktionale Abhängigkeit kann nur dann auftreten, wenn der Primärschlüssel aus zusammengesetzten Attributen besteht. Wenn das Nicht-Schlüsselattribut nicht nur von einem Teil der Attribute eines zusammengesetzten Schlüsselkandidaten funktional abhängig ist, sondern von ALLEN Teilen eines Relationstyps. Die vollständige funktionale Abhängigkeit wird mit der 2. Normalform (2NF) erreicht.</p> Signup and view all the answers

5.43 - Beschreiben Sie die dritte Normalform (3NF)!

<p>Definition: Ein Relationstyp befindet sich genau dann in der dritten Normalform (3NF), wenn er sich in der zweiten Normalform (2NF) befindet und kein NichtSchlüsselattribut transitiv von einem Kandidatenschlüssel abhängt. Was ist ein NICHT-Schlüsselattribut? Attribute, die keine Kandidatenschlüssel sind, also alle anderen Attribute, die einen Datensatz NICHT eindeutig identifizieren. Transitive Abhängigkeit liegt dann vor, wenn Y von X und Z von Y funktional abhängig ist, so ist Z von X funktional abhängig. Umgangssprachlich formuliert: Z und X kennen sich über Y. Beispiel: Der Mann (Z) kennt die Schwiegermutter (X) über seine Frau (Y). Die dritte Normalform (3NF) ist das Ziel einer erfolgreichen Normalisierung in einem relationalen Datenbankmodell. Sie verhindert einerseits Anomalien, Redundanzen in Datensätzen und andererseits bietet sie genügend Performance für SQL-Abfragen.</p> Signup and view all the answers

5.44 - Was bedeutet der Begriff „transitive Abhängigkeit“?

<p>Transitive Abhängigkeit liegt dann vor, wenn Y von X und Z von Y funktional abhängig ist, so ist Z von X funktional abhängig. Umgangssprachlich formuliert: Z und X kennen sich über Y. Beispiel: Der Mann (Z) kennt die Schwiegermutter (X) über seine Frau (Y).</p> Signup and view all the answers

5.45 - Was ist das Ziel einer erfolgreichen Normalisierung?

<p>Die dritte Normalform (3NF) ist das Ziel einer erfolgreichen Normalisierung in einem relationalen Datenbankmodell. Sie verhindert einerseits Anomalien, Redundanzen in Datensätzen und andererseits bietet sie genügend Performance für SQL-Abfragen. Ziel: Konsistenzerhöhung durch Redundanzvermeidung</p> Signup and view all the answers

5.55 - Beschreiben Sie jede Normalform in einem Satz! (0NF, 1NF, 1NF - 2NF, 2NF - 3 NF;) (Bonuspunkte: 3NF - BCNF, BCNF - 4NF, 4NF - 5NF;)

<p>0NF: Ich sammle alle Informationen unstrukturiert und unsortiert in einer Tabelle; 1NF: Jede Information muss in einer Tabelle atomar vorliegen; 1NF - 2NF: JEDES Nicht-Schlüsselattribut muss von jedem Schlüsselkandidaten voll funktional abhängig sein; 2NF – 3NF: KEIN Nichtschlüsselattribut darf transitiv von einem Kandidatenschlüssel abhängen; 3NF – BCNF: wenn jede Determinante vom Relationstyp ein Kandidatenschlüssel ist; BCNF – 4NF: alle voneinander thematisch/inhaltlich unabhängigen MWAs werden aufgelöst; 4NF – 5NF: alle voneinander abhängigen MWAs werden in triviale MWAs aufgelöst;</p> Signup and view all the answers

5.56 - Beschreiben Sie jede Normalform in einem ganz kurzen Satz! (0NF, 1NF, 1NF - 2NF, 2NF - 3 NF;) (Bonuspunkte: 3NF - BCNF, BCNF - 4NF, 4NF - 5NF;)

<p>0NF: Alle Informationen sammeln; 1NF: Jede Information bekommt eine eigene Spalte; 1NF - 2NF: volle funktionale Abhängigkeit vom Schlüsselkandidaten; 2NF – 3NF: keine transitive Abhängigkeit vom Schlüsselkandidaten; 3NF – BCNF: verhindert funktionale Abhängigkeiten zwischen Kandidatenschlüsseln; BCNF – 4CNF: alle MWAs MÜSSEN voneinander thematisch/inhaltlich abhängig sein; 4NF – 5NF: alle MWAs werden in triviale MWAs aufgelöst;</p> Signup and view all the answers

5.57 - Was entfernt jede einzelne Normalform? (0NF, 1NF, 2NF, 3 NF;) (Bonuspunkte: BCNF, 4NF, 5NF;)

<p>0NF: Ich sammle alle Informationen unstrukturiert und unsortiert in einer Tabelle; 1NF: Alle Informationen müssen atomar vorliegen; 2NF: werden Teil-Abhängigkeiten entfernt; 3NF: werden transitive Abhängigkeiten entfernt; BCNF: werden Abhängigkeiten zwischen Schlüsselkandidaten entfernt; 4NF: werden alle NICHT voneinander abhängigen mehrwertigen Abhängigkeiten entfernt; 5NF: werden alle voneinander abhängigen mehrwertigen Abhängigkeiten entfernt;</p> Signup and view all the answers

5.58 - Wie lauten die drei Merkregeln der Normalisierung?

<p>Ist die Relation in 1. Normalform und besteht der Primärschlüssel aus nur einem Attribut, so liegt automatisch die 2. Normalform vor. Ist eine Relation in 2. Normalform und besitzt sie außer dem Primärschlüssel höchstens ein weiteres Attribut, so liegt die Tabelle in 3. Normalform vor. Die 3. Normalform ist die letzte und muss die 1. und 2. Bedingungen erledigen.</p> Signup and view all the answers

6.1 - Was ist SQL und wozu dient es?

<p>SQL – Structured Query Language ist eine Datenbanksprache für relationale Datenbanken: Speicherung von Informationen in verschiedenen Tabellen, die untereinander in Beziehungen (Relationen) verknüpft werden. Basiert auf der relationalen Algebra. Syntax ist recht einfach und semantisch an die englische Umgangssprache angelehnt. SQL dient zur Erstellung von Datenbankstrukturen: Tabellen, Beziehungen, Integritätsbedingungen, etc. womit Daten eingefügt (insert), verändert (update), abgefragt (query) und gelöscht (delete) werden können.</p> Signup and view all the answers

6.3 - Schreiben Sie ein SQL-Statement, das SELECT, FROM und WHERE enthält und erklären Sie was bei jedem Schritt passiert!

<p>SELECT * FROM personen WHERE vorname = ‘Peter‘; Abarbeitung des SQL-Befehls: 1. FROM -&gt; Zuerst wird das Kreuzprodukt χ gebildet, hier sind noch alle Zeilen des Kreuzproduktes vorhanden. 2. WHERE -&gt; als nächstes werden die Zeilen gefiltert. 3. SELECT -&gt; und anschließend die Ausgabespalten gewählt. Kurz gesagt: 1. FROM – χ Kreuzprodukt – Alle mit allen -&gt; 2. WHERE – σ(sigma) Selektion – Filtern von Zeilen -&gt; 3. SELECT – π(pi) Projektion – Auswahl von Spalten</p> Signup and view all the answers

6.4 - Welches Ergebnis liefert die SQL FROM-Klausel?

<p>SELECT * FROM personen, verkaeufer; • Bei FROM wird das Kreuzprodukt χ gebildet -&gt; Personen hat 8 Tupel, Verkäufer hat 2 Tupel -&gt; Ergebnis: (8<em>2) = 16 Tupel; Kreuzprodukt: Jedes Tupel aus der linken Eingabe wird mit jedem Tupel aus der rechten Eingabe verbunden. • SELECT * bedeutet, dass bei der Projektion nichts weggelassen wird. Was immer auch das Schema der Tabellen ist, es wird so übernommen. Beispiel für FROM: Mit 3 Tabellen SELECT * FROM personen, verkaeufer, kameras; • Bei FROM wird das Kreuzprodukt χ gebildet -&gt; (3 Tabellen – Alle mit Allen mit Allen) Personen hat 8 Tupel, Verkäufer hat 2 Tupel, Kameras hat 4 Tupel -&gt; Ergebnis: (8</em>2*4) = 64 Tupel</p> Signup and view all the answers

6.5 - Was liefert die SQL FROM-Klausel wenn diese nur eine Tabelle als Eingabe erhält?

<p>Die SQL FROM-Klausel liefert die Eingaberelation unverändert wieder zurück</p> Signup and view all the answers

6.6 - Beschreiben Sie die Funktionalität von SQL SELECT anhand eines Beispiels!

<p>SELECT * FROM personen; Abarbeitung des SQL-Befehls: 1. FROM -&gt; Zuerst wird das Kreuzprodukt χ gebildet. Hier sind noch alle Zeilen des Kreuzproduktes vorhanden. In diesem Beispiel ist das Ergebnis nur die Tabelle &quot;personen&quot;. 2. SELECT -&gt; und anschließend werden die Ausgabespalten gewählt. SELECT * bedeutet – Nimm alle Spalten der Tabelle (Auswahl alles). Kurz gesagt:</p> <ol> <li>FROM – χ Kreuzprodukt – Alle mit allen -&gt; 2. SELECT – σ(sigma) Projektion – Auswahl von Spalten (SELECT 42 RA π(pi) Projektion FROM personen RA χ Kreuzprodukt -&gt; SELECT 42 AS name_der_Ausgabespalte RA π(pi) Projektion FROM personen RA χ Kreuzprodukt -&gt; SELECT 6*7, now() RA π(pi) Projektion FROM personen RA χ Kreuzprodukt -&gt; SELECT DISTINCT vorname RA π(pi) Projektion FROM personen RA χ Kreuzprodukt</li> </ol> Signup and view all the answers

6.7 - Beschreiben Sie die Funktionalität von SQL FROM anhand eines Beispiels!

<p>SELECT vorname FROM personen, mitarbeiter; Abarbeitung des SQL-Befehls: 1. FROM -&gt; Zuerst wird das Kreuzprodukt χ gebildet, hier sind noch alle Zeilen des Kreuzproduktes vorhanden. 2. SELECT -&gt; und anschließend die Ausgabespalten gewählt π(pi) Projektion.</p> Signup and view all the answers

6.8 - Beschreiben Sie die Funktionalität von SQL WHERE anhand eines Beispiels!

<p>SELECT * FROM personen WHERE vorname = ‘Peter‘; Abarbeitung des SQL-Befehls: 1. FROM -&gt; Zuerst wird das Kreuzprodukt χ gebildet, hier sind noch alle Zeilen des Kreuzproduktes vorhanden. 2. WHERE -&gt; als nächstes werden die Zeilen gefiltert. 3. SELECT -&gt; und anschließend die Ausgabespalten gewählt. Kurz gesagt:</p> <ol> <li>FROM – Kreuzprodukt – Alle mit allen -&gt; 2. WHERE – Selektion – Filtern von Zeilen -&gt; 3. SELECT – Projektion – Auswahl von Spalten; SELECT * RA π(pi) Projektion FROM personen RA χ Kreuzprodukt WHERE id = 6 RA σ(sigma) Selektion; SELECT * RA π(pi) Projektion FROM personen RA χ Kreuzprodukt WHERE vorname=‘Peter‘ AND RA σ(sigma) Selektion name=‘Mueller‘;</li> </ol> Signup and view all the answers

6.10 - Was bewirkt der SQL-Befehl „DISTINCT“?

<p>Relationale Algebra: In der Projektion der relationalen Algebra werden Duplikate entfernt. SQL: Im SQL SELECT werden Duplikate NICHT entfernt. Mit dem SQL Befehl DISTINCT können Duplikate aus einer Spalte entfernt werden. SELECT DISTINCT vorname FROM personen; Welcher Operation der Relationalen-Algebra entspricht die WHERE- Klausel in SQL? SELECT Spalte1, Spalte2 RA π(pi) Projektion FROM Tabellenname RA χ Kreuzprodukt WHERE Bedingung RA σ(sigma)Selektion;</p> <p>SQL WHERE = RA Selektion Filtern von Zeilen/Tupeln (aufgrund einer Bedingung)!</p> Signup and view all the answers

6.14 - Beschreiben Sie die Funktionalität von SQL „ORDER BY“, „OFFSET“ und „FETCH“!

<p>SELECT DISTINCT vorname FROM personen ORDER BY vorname OFFSET 3; OFFSET: Ab dem vierten (0-3) Tupel wird alles ausgegeben. Die ersten vier Tupel werden weggeschnitten beziehungsweise entfernt. SELECT DISTINCT vorname RA π(pi) Projektion FROM personen ORDER BY vorname OFFSET 3 FETCH FIRST 2 ROWS ONLY; FETCH: Gib mir von dem OFFSET (= ein bestimmtes Ergebnis) die ersten 2 Zeilen. Ausführungsreihenfolge des SQL-Statements: 1. FROM -&gt; Zuerst wird das (RA χ Kreuzprodukt) gebildet, hier sind noch alle Zeilen des Kreuzproduktes vorhanden. 2. SELECT -&gt; danach die Ausgabespalten gewählt (RA π(pi) Projektion). 3. DISTINCT -&gt; abschließend Duplikate in der ausgewählten Spalte werden entfernt. 4. ORDER BY -&gt; ordne mir die Tupel alphabetisch aufsteigend – Standard: ASC. 5. OFFSET -&gt; schneide die ersten 4 Zeilen (0-3) ab und gib mir den Rest. 6. FETCH -&gt; Gib mir von diesem OFFSET, die ersten 2 Zeilen</p> Signup and view all the answers

6.15 - Beschreiben Sie die Funktionalität des SQL-Operators „UNION“!

<p>SELECT personid FROM mitarbeiter UNION SELECT mitarbeiterid FROM fotographen; Unterschied zwischen SQL und Relationaler Algebra: Relationale Algebra ist strenger – Schema muss exakt gleich sein. SQL weniger streng – Datentypen müssen nur ineinander konvertierbar sein. UNION – Duplikate werden entfernt. UNION ALL - Duplikate werden übernommen. SELECT personid RA π(pi) Projektion FROM mitarbeiter UNION ALL SELECT mitarbeiterid FROM fotographen; Der SQL UNION Operator wird verwendet, um zwei oder mehrere Ergebnisse von SELECT- Befehlen zu kombinieren. Merkregeln: SQL UNION Operator – Was ist zu beachten? SELECT Spalten (Attribute): Selbe Anzahl, selber Datentyp, selbe Reihenfolge. Der UNION-Operator wählt nur DISTINCT-Werte aus. DISTINCT – Es werden keine Duplikate eines Wertes übernommen</p> Signup and view all the answers

6.17 - Was muss bei der Verwendung des UNION-Operators beachtet werden?

<p>Der SQL UNION Operator wird verwendet, um zwei oder mehrere Ergebnisse von SELECT- Befehlen zu kombinieren. Merkregeln: SQL UNION Operator – Was ist zu beachten? SELECT Spalten (Attribute): Selbe Anzahl, selber Datentyp, selbe Reihenfolge. Der UNION-Operator wählt nur DISTINCT-Werte aus. DISTINCT: Es werden keine Duplikate eines Wertes übernommen</p> Signup and view all the answers

6.19 - Welche Voraussetzungen müssen zwei Relationen erfüllen damit diese mit UNION vereinigt werden können? (3 Voraussetzungen)

<p>SELECT Spalten: selbe Anzahl, selber Datentyp, selbe Reihenfolge</p> Signup and view all the answers

6.23 - Erklären Sie die Funktionsweise von SQL LIKE!

<p>SELECT * FROM personen WHERE vorname =<code>Peter</code>; Die Stringsuche in SQL muss unter Hochkomma stehen und ist case-sensetive (Groß- und Kleinschreibung muss beachtet werden). SELECT * FROM personen WHERE vorname LIKE <code>%ter</code>; Präfix – Anfang des Strings &quot;%&quot;, am Anfang des Strings dürfen beliebig viele Zeichen stehen. Suffix – Ende des Strings, Die Endung des Strings muss immer <code>ter</code> sein. SELECT * FROM personen WHERE vorname LIKE ‘_eter’; <code>_eter</code> bedeutet ein beliebiges Zeichen. Am Anfang des Strings darf nur ein beliebiges Zeichen stehen.</p> Signup and view all the answers

6.24 - Wie funktioniert ein JOIN in SQL?

<p>JOIN – Relationale Algebra: Bilden des Kreuzproduktes von zwei Relationen – R x S, anschließend wird mit dem Selektionsprädikat (JOIN-Prädikat) gefiltert. SELECT * FROM mitarbeiter,senior WHERE personid = mitarbeiterid;</p> Signup and view all the answers

6.26 - Erklären Sie die Funktionsweise von SQL LEFT OUTER JOIN mit einem Beispiel!

<p>SQL LEFT OUTER JOIN: Ergebnis eines Natural-Join und alle dangling Tupel (Tupel ohne Join-Partner der linken Relation); SELECT * FROM mitarbeiter LEFT OUTER JOIN senior ON personid = mitarbeiterid; Zuerst wird ein Natural Join ausgeführt und anschließend alle Tupel aus der linken Tabelle, die keinen Join-Partner gefunden haben (dangling Tupel), werden ebenfalls übernommen.</p> Signup and view all the answers

6.27 - Erklären Sie die Funktionsweise von SQL RIGHT OUTER JOIN mit einem Beispiel!

<p>SQL RIGHT OUTER JOIN: Ergebnis eines Natural-Join und alle dangling Tupel (Tupel ohne Join-Partner der rechten Relation); SELECT * FROM mitarbeiter RIGHT OUTER JOIN senior ON personid = mitarbeiterid; Zuerst wird ein Natural Join ausgeführt und anschließend alle Tupel aus der rechten Tabelle, die keinen Join-Partner gefunden haben (dangling Tupel), werden ebenfalls übernommen.</p> Signup and view all the answers

6.29 - Was ist der Unterschied zwischen des SQL FROM-Befehls und einem Natural JOIN?

<p>SQL FROM: Bildet das Kreuzprodukt zweier Eingabe-Relationen. Natural Join: Bildet das Kreuzprodukt einer Selektion mit (=) Projektion duplizierter Spalten.</p> Signup and view all the answers

6.30 - Was sind Aggregations-Funktionen und wozu dienen sie? Welche sind die 5 wichtigsten Aggregatfunktionen?

<p>Bezeichnung: Der Name ist abgeleitet vom englischen Verb „aggregate“, was auf deutsch anhäufen, vereinigen, zusammenballen, bedeutet. Definition: Aggregatfunktionen bilden genau einen Ergebniswert aus einer Vielzahl von Eingabewerten. Die fünf wichtigsten SQL-Aggregatfunktionen sind: COUNT – zählt die Anzahl der Zeilen (Elemente) in einer Spalte, SUM – liefert die Summer aller Zeilen einer numerischen Spalte, AVG – liefert den Durchschnitt (arithmetisches Mittel) einer numerischen Spalte, MAX – liefert den größten Wert einer numerischen Spalte, MIN – liefert den kleinsten Wert einer numerischen Spalte</p> Signup and view all the answers

6.31 - Erklären Sie die Verwendung von SQL LIKE und Wildcards anhand eines Beispiels!

<p>SQL Wildcard Characters:</p> <ul> <li>Ersetzen Zeichen in Strings: <ul> <li><code>*</code> = null oder mehrere Zeichen (<code>bl*</code> → bl, black, blue)</li> <li><code>?</code> = ein Zeichen (<code>h?t</code> → hot, hat, hit)</li> <li><code>[]</code> = ein bestimmtes Zeichen (<code>h[oat]t</code> → hot, hat, nicht hit)</li> <li><code>!</code> = alle außer bestimmte Zeichen (<code>h[!oa]t</code> → hit, nicht hat)</li> <li><code>-</code> = Zeichenbereich (<code>c[a-b]</code> → cat, cbt)</li> <li><code>#</code> = eine Ziffer (<code>2#5</code> → 205, 215, 225)</li> </ul> </li> </ul> <p>SQL LIKE:</p> <ul> <li>Suche nach Mustern in Strings (case-sensitive, unter Hochkomma)</li> <li>Platzhalter: <ul> <li><code>%</code> = null oder mehrere Zeichen (<code>a%</code> → beginnt mit „a“, <code>%a</code> → endet mit „a“)</li> <li><code>_</code> = ein Zeichen (<code>_r%</code> → „r“ an zweiter Stelle)</li> </ul> </li> <li>Beispiel: SELECT * FROM Customers WHERE City LIKE 'ber*';</li> </ul> Signup and view all the answers

6.32 - Erklären Sie die Funktionsweise von SQL GROUP BY anhand eines Beispiels!

<p>SQL GROUP BY:</p> <ul> <li>Gruppiert gleiche Werte einer Spalte und wird mit Aggregatsfunktionen (<code>SUM</code>, <code>AVG</code>, <code>COUNT</code>, etc.) genutzt.</li> <li>Nach allen Spalten außer der Aggregatsspalte kann gruppiert werden.</li> </ul> <p>Beispiel:<br /> Tabelle: Shop_Information, Shop_Name, Sales, Date SELECT Shop_Name, SUM(Sales) FROM Shop_Information GROUP BY Shop_Name;</p> <p>Weitere SQL-Konzepte:</p> <ul> <li>ORDER BY: Sortiert Ergebnisse (<code>ASC</code> = aufsteigend, <code>DESC</code> = absteigend).</li> <li>HAVING: Filtert Gruppenergebnisse (<code>WHERE</code> funktioniert hier nicht).</li> </ul> Signup and view all the answers

6.33 - Was ist der praktische Vorteil des SQL IN Operators?

<p>Der SQL IN Operator ist eine kurzschreibeweise für mehrfache OR Bedingungen in einer WHERE-Klausel. SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2,); SELECT column_name(s) FROM table_name WHERE column_name IN (SELECT STATEMENT); Der folgende SQL-Befehl selektiert alle Kunden, die in “Germany“, „“France“ und “UK“ wohnen. SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK'); Der folgende SQL-Befehl selektiert alle Kunden, die NICHT in “Germany“, „“France“ und “UK“ wohnen. SELECT * FROM Customers WHERE Country NOT IN ('Germany', 'France', 'UK'); Dieser SQL-Befehl selektiert alle Kunden, die in den selben Ländern sind wie die Lieferanten. SELECT * FROM Customers WHERE Country IN (SELECT Country FROM Suppliers); Kurz gesagt: SQL IN Operator: Mehrere Werte in WHERE, kurzschreibweise für mehrere OR-Verknüpfungen in einer WHERE-Klausel, IN (auch SELECT-Abfragen möglich)</p> Signup and view all the answers

6.34 - Erklären Sie die Funktionsweise von SQL BETWEEN anhand eines Beispiels!

<p>SQL BETWEEN wählt Werte innerhalb eines Bereichs (inklusive Start- und Endwert). Funktioniert mit Zahlen, Text und Datum. Beispiele: Zahlenbereich: SELECT * FROM Products WHERE Price BETWEEN 10 AND 20; Außerhalb eines Bereichs: SELECT * FROM Products WHERE Price NOT BETWEEN 10 AND 20; Zusätzlicher Ausschluss (<code>NOT IN</code>): SELECT * FROM Products WHERE (Price BETWEEN 10 AND 20) AND NOT CategoryID IN (1,2,3); Alphabetische Werte: SELECT * FROM Products WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni' ORDER BY ProductName; Datumsbereich: SELECT * FROM Orders WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';</p> Signup and view all the answers

6.35 - Warum wird beim SQL JOIN „ON“ statt „WHERE“ verwendet?

<p>Gründe: Das Join-Prädikat wird in SQL gesondert mit „ON“ geschrieben, um diese beiden Filter-Methoden bewusst zu trennen. WHERE wird unabhängig vom Join danach ausgeführt. Das DBMS kann mit der Join „ON“ Syntax die Operation effizienter ausführen. Es wird eine Join-Operation durchgeführt und anschließend kann die Ergebnismenge noch einmal mit WHERE gefiltert werden.</p> Signup and view all the answers

6.36 - Wofür werden Primärschlüssel und Fremdschlüssel-Beziehungen überhaupt benötigt?

<p>Ein Primärschlüssel wird zur eindeutigen Identifizierung eines Datensatzes verwendet. Der Wert eines Primärschlüssels muss in einer Tabelle einmalig sein, da er jeden Datensatz eindeutig kennzeichnet. In einer normalisierten Datenbank besitzen alle Tabellen einen Primärschlüssel. Des Weiteren wird er häufig als Datenbank-Index verwendet, um die Daten auf der Festplatte in dessen Sortierreihenfolge abzulegen. Ein Primärschlüssel dient der eindeutigen Identifizierung eines Datensatzes! Ein Fremdschlüssel ist eine Schlüsselspalte, die auf einen Primärschlüssel einer anderen oder aber derselben Tabelle verweist. Aufgrund der referentiellen Integrität kann der Fremdschlüssel nur Werte annehmen, die in der Referenztabelle vorhanden sind. Zudem kann eine beliebige Anzahl von Datensätzen den gleichen Fremdschlüsselwert aufweisen. Der Hauptgrund für Primär- und Fremdschlüssel-Beziehungen ist es Daten- Konsistenz durch referentielle Integrität zu schaffen.</p> Signup and view all the answers

6.37 - Welche Anforderungen müssen zwei Tabellen erfüllen, um überhaupt verbunden (gejoint) werden zu können?

<p>Jede Tabelle benötigt eine Spalte vom selben Typ, eines in jeder Tabelle, um diese Joinen zu können! Das bedeutet: Für das Joinen selbst, ist es irrelevant, ob die Tabelle einen Primär- oder Fremdschlüssel besitzt. Zum Joinen ist es völlig gleichgültig, welche Spalten das sind. Es müssen lediglich zwei Spalten vom selben Typ sein! Aufklärung: Aufgrund von Datenkonsistenz muss jede Tabelle einen Primärschlüssel besitzen. Zwei Tabellen können nur gejoint werden, wenn diese zwei Spalten vom gleichen Typ besitzen. Da bietet es sich praktischer Weise an für einen JOIN, Tabellen zu verwenden, die eine Primär-/ Freundschlüssel-Beziehung haben. Kurzgesagt: Tabellen die eine Primär-/ Fremdschlüsselbeziehung haben können gejoint werden, denn sie besitzen jeweils eine Spalte des gleichen Typen!</p> Signup and view all the answers

6.38 - Warum ist eine Primärschlüssel und Fremdschlüssel-Beziehung notwendig, wenn auch ohne diese eine JOIN-Operation durchgeführt werden kann?

<p>Erklärung: Aufgrund von Datenkonsistenz muss jede Tabelle einen Primärschlüssel besitzen. Zwei Tabellen können nur gejoint werden, wenn diese zwei Spalten vom gleichen Typ besitzen Da bietet es sich praktischer Weise an für einen JOIN, Tabellen zu verwenden, die eine Primär-/ Freundschlüssel-Beziehung haben. Kurzgesagt: Tabellen die eine Primärschlüsselbeziehung/Fremdschlüsselbeziehung haben können gejoint werden, denn sie besitzen jeweils eine Spalte des gleichen Typen!</p> Signup and view all the answers

6.39 - Was ist der Unterschied zwischen SQL GROUP BY, ORDER BY und HAVING?

<p>SQL GROUP BY ist das Zusammenführen gleicher Attributwerte. Sie wird verwendet, wenn mindestens ein arithmetischer Operator in der Select-Anweisung enthalten ist. In diesem Fall kann nach allen anderen Spalten gruppiert werden, das heißt, nach allen Spalten außer denjenigen, auf die sich der arithmetische Operator bezieht. Die Gruppierung muss mit einer arithmetischen Operation zusammenhängen. SQL ORDER BY: Wenn eine bestimmte Ordnung gewünscht ist, muss diese explizit gewählt werden, zum Beispiel mit „ORDER BY“. Hiermit wird die gewählte Spalte alphabetisch aufsteigend sortiert (Standard Einstellung: ASC). ASC - aufsteigend, DESC - absteigend. SQL HAVING filtert Ergebnisse von Aggregatsfunktionen. SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country HAVING COUNT(CustomerID) &gt; 5 ORDER BY COUNT(CustomerID) DESC; Ausführungsreihenfolge des SQL-Statements: 1. FROM -&gt; Zuerst wird das (RA χ Kreuzprodukt) gebildet. Hier sind noch alle Zeilen des Kreuzproduktes vorhanden. 2. SELECT -&gt; danach die Ausgabespalten gewählt (RA π(pi) Projektion). 3. GROUP BY -&gt; gruppiert Attributwerte – Zusammenführung von Attributwerten. 4. HAVING -&gt; filtert Ergebnisse von Aggregationsfunktionen. 5. ORDER BY -&gt; ordne mir die Tupel numerisch absteigend – DESC. HAVING - filtert Ergebnisse von Aggregatsfunktionen. Kurz gesagt: GROUP BY - ist das Zusammenführen von Tupeln. ORDER BY – eine bestimmte Ausgabereihenfolge (ASC / DESC). HAVING - filtert Ergebnisse von Aggregationsfunktionen.</p> Signup and view all the answers

6.64 - Was ist eine SQL Injection?

<p>SQL-Injection ist eine Code-Injektions-Technik, welche deine Datenbank zerstören kann. Sie ist die meist verbreitete Web-Hacking Technik. Das Platzieren von bösartigem Code in einem SQL-Befehl durch einen Daten-Input über eine Website. Beispiel: Eine Formulareingabe bei einem Login. Kurz gesagt: SQL-Injection ist eine Code-Injektions-Technik (Platzieren von bösartigem Code im SQL-Befehl)</p> Signup and view all the answers

6.65 - Wie funktioniert eine SQL Injection?

<p>SQL-Injection: platzieren von bösartigem SQL-Code im SQL-Befehl, durch Daten-Input. tatt Daten wird SQL-Code übergeben und unwissentlich auf deiner Datenbank ausgeführt Beispiel für eine SQL-Injection: txtUserId = getRequestString(“UserId”); txtSQL = “SELECT * FROM User WHERE UserId = “ + txtUserId; Der ursprüngliche Zweck des SQL-Befehls war es einen Benutzer mit einer ID auszuwählen. Wenn nichts den Benutzer daran hindert falsche Eingaben zu machen, so kann dieser eine intelligente Dateneingabe machen. Wie z.B: UserId: 105 OR 1=1 SELECT * FROM Users WHERE UserId = 105 OR 1=1; Der SQL-Befehl ist valide und liefert alle Zeilen von der Tabelle „Benutzer“ zurück, weil OR 1=1 immer „WAHR“ ist.</p> Signup and view all the answers

6.66 - Was ist die Gefahr einer SQL Injection?

<p>Ein Hacker bekommt leicht Zugang zu geschützten Daten wie zB.: Login-Daten, Benutzernamen und Passwörtern. Dies kann die Datenbank zerstören oder komplett löschen. Der SQL-Befehl könnte so aussehen: SELECT UserId, Name, Password FROM Users WHERE UserId = 105 OR 1=1;</p> Signup and view all the answers

6.67 - Welche Arten von SQL Injection gibt es?

<p>SQL-Injection – based on “=“ always TRUE: txtUserId = getRequestString(“UserId“); txtSQL = “SELECT * FROM Users WHERE UserId = “ + txtUserId; SQL-Injection - based on Batched: SELECT * FROM Users; DROP TABLE Suppliers; Eine SQL-Batch ist eine Gruppe von zwei oder mehr SQL-Befehlen getrennt durch Semicolons. User id: 105; DROP TABLE Suppliers; Der valide SQL-Befehl würde folgendermaßen aussehen: SELECT * FROM Users WHERE UserId = 105; DROP TABLE Suppliers;</p> Signup and view all the answers

6.68 - Wie kann eine Datenbank vor SQL Injections geschützt werden?

<p>Durch die Verwendung von Prepared Statements. Eingabedaten und SQL-Abfrage werden voneinander getrennt – keine Missinterpretation. Eingaben werden parametrisiert – Platzhalter werden in die SQL-Abfrage eingefügt. Jede einzelne Dateneingabe durchläuft das Escaping: Speziellen Zeichen wird ein \ (backslash) vorangesetzt dadurch werden diese Zeichen als reine Zeichekette und nicht als syntaktisches Zeichen interpretiert. Anschließend werden die Werte über die Platzhalter in den SQL-Abfrage-String eingefügt und ausgeführt. $stmt = $dbh-&gt;prepare(&quot;INSERT INTO Customers(CustomerName,Address,City) VALUES (:nam, :add, :cit)&quot;); $stmt-&gt;bindParam(':nam', $txtNam); $stmt-&gt;bindParam(':add', $txtAdd); $stmt-&gt;bindParam(':cit', $txtCit); $stmt-&gt;execute(); Ausnahmslos ALLE Dateneingaben müssen durch Escaping so angepasst werden, dass sie nur als reine Daten-Strings und niemals als SQL Syntax interpretiert werden können.</p> Signup and view all the answers

6.69 - Was ist ein Datentyp in SQL wirklich und warum ist dieser so entscheidend?

<p>SQL-Datentypen: Jede Spalte in einer Datenbank-Tabelle muss einen Namen und einen Datentypen haben. Ein SQL-Entwickler muss entscheiden, was für ein Datentyp jede einzelne Spalte bei Erstellung haben muss. Der Datentyp ist für SQL eine Art Leit- oder Richtlinie. Dadurch versteht SQL welcher Typ von Daten für jede Spalte zu erwarten ist und identifiziert, wie SQL mit dieser Art von Daten umgehen soll. Datentypen können in verschiedenen Datenbanken unterschiedliche Namen haben. Und sollte der Name gleich sein, so können noch immer die Größe oder andere Details variieren.</p> Signup and view all the answers

6.70 - Nennen Sie min. drei Arten von Datenbank Datentypen und geben Sie pro Art mindestens drei Datentypen an!

<p>• Text Datentypen: CHAR(size) (Zeichenkette mit fester Länge 0 bis 255); VARCHAR(size) (Zeichenkette mit variabler Länge 0 bis 255); TEXT (Zeichenkette mit einer max. Länge von 65535 bytes); BLOB (Binary Large Objects mit bis zu 65535 bytes of data); • Nummerische Datentypen: TINYINT (Ganze Zahlen von 0 bis 255) SMALLINT (Ganze Zahlen von -32,768 und 32,767) MEDIUMINT(size) (Ganzzahlen von 0 bis 16.777.215 oder von -8.388.608 bis 8.388.607.) INT(size) (Ganzzahlen von -2 147 483 648 to 2 147 483 647) FLOAT(size,d) (Fließkommazahl - Eine kleine Nummer mit Dezimalstellen.) DOUBLE(size,d) (Fließkommazahl mit Dezimalstellen ca. 15 Ziffern Genaugkeit) DECIMAL(size,d) (Festkommazahl – max. P 1 bis 65, max. D 0 bis 30) NUMERIC(p,s) (Festkommazahl - p muss zwischen 1 und 38 liegen) • Datums Datentypen: DATE (Format: YYYY-MM-DD) DATETIME (Format: YYYY-MM-DD HH:MI:SS) TIMESTAMP (Format: YYYY-MM-DD HH:MI:SS) YEAR (Format: YYYY or YY)</p> Signup and view all the answers

6.71 - Welche Datentypen müssen für genaue Zahlen (Beispiel: Geldbeträge) verwendet werden?

<p>Ein Festkommazahl Datentyp: NUMERIC und DECIMAL werden zur Speicherung exakter numerischer Datenwerte verwendet. In MySQL ist NUMERIC als DECIMAL implementiert. Verwendung: Überall wo eine exakte Genauigkeit notwendig ist zum Beispiel bei Finanzberechnungen oder Geldbeträgen. Anwendung: Wenn Sie eine DECIMAL- oder NUMERIC-Spalte deklarieren, müssen Genauigkeit und Anzahl der Nachkommastellen angegeben werden. Beispiel: gehalt DECIMAL(5,2). In diesem Beispiel ist 5 die Genauigkeit und 2 die Anzahl der Nachkommastellen. Die Genauigkeit stellt die Anzahl der signifikanten Stellen dar, die für Werte gespeichert werden.</p> Signup and view all the answers

6.72 - Welche Datentypen dürfen für präzise Zahlen auf keinen Fall verwendet werden?

<p>FLOATING Point / Fließkommazahl NIEMALS für Geldbeträge verwenden. Stattdessen eine Festkommazahl verwenden. Das geht mit NUMERIC. Bei Fließkommazahlen ist es niemals garantiert wie viele Stellen hinter dem Komma präzise sind. Kurz gesagt: Datentyp für Finanzberechnungen oder Geldbeträge -&gt; immer eine Festkommazahl verwenden. NUMERIC(p,s) - Fließkommazahl mit höchster Präzision von 38 Dezimalstellen. DECIMAL(13,2) – bis zu amerikanische trillionen. DECIMAL(13, 4) - Generally Accepted Accounting Principles (GAAP) Fließkommazahlen wie FLOAT, DOUBLE dürfen auf keinen FALL für präzise Zahlen verwendet werden Grund: Die Genauigkeit dieser Datentypen ist beschränkt! – Rundungsfehler!!!</p> Signup and view all the answers

Flashcards

Was ist eine Datenbank?

Ein elektronisches Verwaltungssystem, das den effizienten Zugriff und die sichere Speicherung von Daten ermöglicht.

Aufbau eines Datenbanksystems

Ein Datenbanksystem besteht aus einem Datenbankmanagementsystem (DBMS) zur Verwaltung und der Datenbank zur Speicherung in Datensätzen.

Was ist ein DBMS?

Eine Software zur Verwaltung der Datenbank. Sie bildet die Grundlage der Datenbank – das Datenbankmodell.

DBMS Auswahlkriterien

Anzahl der Benutzer, Art und Menge der Daten, sowie Sicherheitsanforderungen.

Signup and view all the flashcards

Sicherheit in Datenbanken

Schutz vor Datenverlust, unbefugtem Zugriff und unbefugter Datenänderung. Sowie Zugriffs- und Rechteverwaltung.

Signup and view all the flashcards

Integrität in Datenbanken

Vollständigkeit und Unversehrtheit der Daten. Wird durch Regeln (Constraints) geregelt.

Signup and view all the flashcards

Datenbank-Konsistenz

Datenspeicherung frei von Widersprüchen, Anomalien oder Redundanzen.

Signup and view all the flashcards

Referentielle Integrität

Enthält ein Datensatz einen Fremdschlüssel, muss dieser in der referenzierten Tabelle existieren, um den Datensatz zu speichern.

Signup and view all the flashcards

Wofür referentielle Integrität?

Sichert die Konsistenz der Datenbank durch Integritätsbedingungen.

Signup and view all the flashcards

Inkonsistenter Zustand

Keine Normalisierung, Redundanzen, Anomalien (Einfüge-, Änderungs-, Lösch-Anomalie), fehlende referentielle Integrität.

Signup and view all the flashcards

Datenbanksprachen Arten

DML (Datenmanipulation), DDL (Datendefinition), DCL (Datenkontrolle).

Signup and view all the flashcards

Was ist SQL?

Datenbanksprache für relationale Datenbanken zur Erstellung von Strukturen und Manipulation von Daten.

Signup and view all the flashcards

Datenbank-Backup

Ein aktuelles Abbild einer Datenbank zu einem definierten Zeitpunkt.

Signup and view all the flashcards

Wann Backup durchführen?

Wenn die Zukunft der Datenbestände ungewiss ist. Täglich, vor Änderungen, bei großen Datenbeständen.

Signup and view all the flashcards

Backup-Methoden

Vollständig (komplettes Abbild) und inkrementell (Ergänzung zum vollständigen Backup).

Signup and view all the flashcards

Wann Datenbanken eingesetzt?

Elektronisches Verwaltungssystem zur dauerhaften, effizienten und sicheren Speicherung von Daten.

Signup and view all the flashcards

Relationale vs. NoSQL

NoSQL: Weniger/unstrukturierte Daten, nicht normalisiert. Relational: Integrität, Normalisierung, Genauigkeit.

Signup and view all the flashcards

Vorteile Datenbanksysteme

Vermeidung von Inkonsistenzen, Redundanzen und Anomalien. Datenanalyse-Methoden und Abfrage-Optimierung.

Signup and view all the flashcards

Use Quizgecko on...
Browser
Browser