Datenbanksystem
Welche Probleme entstehen bei dem DB-Entwurfsprozess?
- Datenredundanz - oder zu viele schmale Relationen, Entitäten u. Einheiten auseinandergebrochen
Beschreiben Sie den Lösungsansatz des erweiterbaren Hasing
- Verwendung von Verzeichnissen, das Index-Hash-Werte auf Pointer von Buckets abbildet. - Seitenüberlauf im Bucket: neuer Bucket und Verdoppelung des Verzeichnissess - Hash-Wert h(s) wird als Bit-Folge betrachtet
Was sind zusammengesetzte Attribute?
Attribute, die aus weiteren Attributen zusammengesetzt sind z.B.: Anschrift aus PLZ, Ort und Strasse
Beschreibung der DDL
DDL: Erzeugen von Schemata (Metadaten) - Relationenschemata und Attributen mit ihren Wertebereichen - Beziehungen zwischen Relationenschema - Integritätsbedingungen - Berechtigungen und Zugriff für Datenbankmanipulationen - Tranksaktionskontrolle
Wie liest man das Adressverzeichnis bei erweiterbarem Hasing?
Adressverzeichnis entspricht balancierteam Binärbaum: - Innere Knoten: 0-1-Abfrage. - Blatt: Pointer auf Bucket. - Zwei Kante je innerem Knoten mit 0 oder 1 bezeichnet. - Binärer Pfasd entlang Hash-Code für index-wert s. - Traversiere entlang Bit-Folge von h(s) ab führendem Bit zum Bucket-Pointer P. In diesem Bucket liest der Datensatz zum Index-Wert s.
Funktionale Abhängigkeit
Analogie: Eine Funktion erzeugt für gleiche Eingabewerte stets gleiche Ausgabenwerte
Was ist der Sinn von der internen Ebene in 3-Schicht_Architektur?
Beschreibung physiche Speicherstrukturen einer Datenbank
Beschreibung der DML
DML: Abfrage und Manipulation von Daten - C: Erzeugen neuer Datensätze / Tupel - R: Lesen (Abfragen) von Datensätzen - Query - U: Ändern von Datensätzen bzw. Attributwerten - D: Löschen von Datensätzen
Was sind Datenmodelle? Was sind die Datenmodelltypen?
Datenmodelle beschreiben Daten, deren Beziehung, Darstellungen, Bedeutung sowie Konsistenz- und Integritätsbedingen - Kopzeptionell - Logisch - Physisch
Was bedeutet Grad einer Beziehung?
Die Anzahl der an der Beziehung teinehmenden Entitätstypen - Grad 2: binäre Beziehung - Grad 3: ternäre Beziehung - Grad n: n-äre Beziehung
Eindeutige Attribute / unique Attribute
Es gibt nur genau eine Projektion des Tupels t der Menge X(A1,A2,...) in der Relation
Kandidatenschlüssel
Minimaler Superschlüssel
Relationenschema
N: Name des Relationenschemas (Kunde) string, int, ... : Domäne (Wertebereiche)
Beschreiben Sie die 2-Schichten-Systemarchitektur
Programmiersprachen: 4GL (häufig) - datenzentrische Anwendungen - leichte u. schneller Entwicklung - automatische Erstellung von UI auf Basis des Datenmodells
Was ist Relation aus Mengentheoretischer Sicht?
Teilmenge des kartesischen Produktes M1 x M2 x .... x Mr
Wie werden Tabellen im relationalen Modell definiert?
durch Relationenschea - ein Teil des Datenbankschemas
Was sind Datenbanken?
- Abbildung eines Teils der realen Welt - logisch zusammenhängend
Was ist JDBC
- JDBC-API befindet sich im java.sql - Java-Applikation und JDBC in Anwendungsschicht - Kommunikation mit DB durch JDBC-Treiber, die JDBC-API implementiert
Entity-Relationship-Modell
- Konzeptionelles Model - Semantisch - Bestände: Entitäten (physische o. abstrakt), Beziehungen, Attributen (Eigenschaften)
Daumenindex
- Logische Zuordnung zusammenhängender Inhalte den Abschnitten. - sortiert
Was ist Blockung Factor?
- Maximale Anzahl vollständiger Datensätze pro Block.
Wie wird eine Festplatte aufgebaut?
- Mehrere einzelne Magnetplatte. - Ein Zugriffsarm jür jede Platte. - Platten -> in Spuren unterteilt -> Sektoren oder Datenblöcke unterteilt (kleineste Zugriffseinheit). - Vertikal gestapelte Spuren heißen Zylinder.
Sachindex
- Zuordnund den Werten und der Adressen. - sortiert
Wie werden große Attributwerte gespeichert?
- Ausgelagert mit spezielle Datentypen, BLOB für Binärdaten, CLOB für Textdaten. - Nur eine Referenz (Pointer) im Feld gespeichert, die Daten aus der Seite ausgelagert.
Erkläung 1. Alternativ zur Speicherung in variabler Länge
- Zwischen Feldern variabler Länge ein spezielles Trennzeichen gesetzt. - Vorteil: Keine Speicherungplatzverschwendung und flexibel bezüglich Datengröße. - Nachteil: Langsamerer Zugriff als bei Fixlängern. Den ganzen Block muss durchgelesen werden bis zum gewünschten Trennzeichen.
Wie prüft man auf erste Normalform 2NF?
Attibut, das nicht zu einem Kandidatenschlüssel gehört, muss voll funktional abhängig von jedem Kandidatenschlüssel sein --> Test auf 2NF nur für Kandidatenschlüssel aus mehr als 1 Attribute
Besonderheiten von Equi Join
1. Es gibt einen entsprechenden Verbundpartner (Tupel) in der anderen Relation 2. die Verbungbedingung muss erfüllt werden
Wie werden Datensätze für Speicherungszweck klassifiziert?
1. Fixlängen-Speicherung: fixed length records 2. Speicherung in variabler Länge: Variable length records - belegen nur den tatsächlich verwendeten Speicher
Wie kann man die Reaktionen der Fremdschlüsselbeziehung auf Lösch- o. Update-Operationen festlegen?
Das Verhalten wird in jeder referenzierenden Fremdtabelle unabhängig gesetzt - ON DELETE - ON UPDATE
Was ist Index einer Relation?
Eine zusätzliche Datenstruktur, die einen effizienten Zugriff auf die Datensätze der Relation ermöglicht. - Bestandsteile: Index-Felder und Adress-Felder.
Technical Key/ Surrogate Key
Existiert kein natürlicher Schlüssel, muss ein künstliches Schlüsselattribut eingefügt werden z.B.: Index Nummer eines Eingangssignals bei Zeitreihen
Was sind die wichtigsten Objekte der JDBC-API?
DriverManager Connection Statement ResultSet PreparedStatement
Fremdschlüssel Eigenschaften
R: refenrenziertes Schema (Primärschema) S: referenzierendens Schema (Fremdschema)
Relationale Algebra: Vereinigung
Vorausgesetzt: Schema-Gleichheit (Anzahl u. Reihenfolge der Attribute eines Tupels sowie deren Domäne müssen übereinstimmen)
Relationale Algebra: Differenz
Voraussetzung: Schema-Gleichheit
Relationale Algebra: Schnitt
Voraussetzung: Schema-Gleichheit
Was liefert die WHERE-Bedingung zurück?
true, false oder unknown
Wann sind zwei Funktionen f,g gleich?
wenn f(x) = g(x) für jedes x in M1
Wie werden die logischen Tupel einer Relation im Speicher abgebildet?
- Als Datensatz. - Der Datensatz liegt in einer Seite und geht nicht über Seitengrenzen hinaus. - Eine oder mehrere Datensätze in einer Seite.
Statisches Hash-basierter Index: Was sind die Nachteile?
- Wächst die Datendatei, entstehen Überlaufkatte -> I/O-Kosten unvorhersehbat und teurer. - Schrumpft die Datendatei -> leeren Buckets. - Teure Index-Reorgnanisation
Was sind die Merkmale von Heap-Dateien?
- unsortierte, sequentielle Speicherung. - Neue Einträge ans Ende der Datei angehängt. - Die Adresse des letzten Blocks, der letzten Seite im Datei-Header angespeichert.
Business Key / Natural Key
Schlüssel, der in natürlicher Weise einer Entität zugeordnet werden kann z.B.: Kundennummern, Fahrgestellnummern, Seriennummern
Was sind DB-Dateien?
- Besteht aus Sequenzen von Datensätzen. - Datensätze innerhalb einer Datei sind normalerweise vom gleichem Relationentyp.
Was ist die Dateneinheit im Speicher?
- Seite: eine Seite umfasst mehrere Blöcke, die in der Regel in einer Spur liegen. - Jede Relation wird in mehreren Seiten im Speicher gespeichert.
Was sind Daten einer Datenbank?
Daten, die einem vordefinierten Schema entsprechen: - Objekte der realen Welt - Beziehungen zwischen den Objekten - Nebenbedingungen
Was sind Integritätsbedingungen?
- Bedingungen an die Daten, die durch ein Datenbankschema definiert werden - syntaktisch o. semantisch - die Überprüfung der Integritätsbedingungen durch das DB-System
Vom ER-Modell zum relationalen Modell 1:1 (Alternativ 1)
- Beide Entitäten werden in einem Relationenschema identifiziert - Primärschlüssel identifiziert eine der beiden Entitäten - non-null, unique Attribut identifiziert zweite Entität
Was sind Gründen für DBMS
- Benutzer und Anwendungen greifen auf Daten zu -> Abfrage-sprachen bzw. details sind zu verbergen - Datenhaltung austauschbar machen --> minimale Auswirkung auf Anwendung bei Umzug auf anderes (R)DBMS - zentrale Schnittstelle für Datenzugriff bilden
Wie werden Daten in Hauptspeicher übertragen?
- Blockweise. - Suchen des ersten Blocks auf Platte = Seek time + latency. - Sind Blöcke nicht konsekutiv angeordnet: Seek time + Latency für jeden weiteren Block
Beschreiben Sie die 3-Schichten-Systemarchitektur
- Client-Schicht: Präsentation - Anwendungslogik in mittlerer Schicht - Datenhaltung in Server-Schicht kein Bestandteil der Anwendungslogik --> einheitliche Zugriffskonzepte und Schnittstelle
Woraus stammen die Befehle und Operationen in SQL?
- DDL: Data Definition Language - DML: Data Manipulation Language SQL ermöglicht auch die Definition physischer Zugriffspfade (Indizes)
Vom ER-Modell zum relationalen Modell Grad > 2
- Schema für jede Entität und die Beziehung - Primärschlüssel der Entitätschemata sind Fremdschlüssle im Beziehungsschema - PRimärschlüssel des Beziehungsschemas besteht aus Primärschlüsseln der Entitätschemata mit (0..n).Beziehung
Schwache Beziehung
- Schwache Entitäten existieren nicht ohne ihrer Eigentümerentität - Identifikation schwacher Entitäen nur im Kontext der Eigentümerentität - Eigentümerentität kann keine, eine oder mehrere schwache Entitäten besitzen - Schwache Entitäten haben keine Attribute, die Schlüssel bilden können
Was beeinflusst die Zugriffszeit auf Daten einer Festplatte?
- Seek Time (Schreib-Lese-Kopf in Position bringen): 6-8ms. - Latency (Warte, bis der richtige Sektor den Kopf passiert): 2-3ms. - Transferzeit (Daten von Platte in den Speicher übertragen): 15 MB/s.
Erkläung 2. Alternativ zur Speicherung in variabler Länge
- Speicherung als Key-Value-Paare. - Nicht gesetzte Felder nicht mehr explizit gespeichert. - Vorteil: Minimale Speicherplatzbelegung. - Nachteil: Auslesen der Paare aufwändig.
Was sind die Nachteile von 2-Schichten-Systemarchitektur?
- Starke Kopplung zwischen den einzelnen Schichten - Keine Komponenten kann ersetzt werden, ohne die anderen Komponenten anpassen zu müssen - Große Systeme werden schnell unübersichtlich => schwierige Wartbarkeit u. mangelnde Flexibilität
Welche Aspekte der Daten werden von einem Datenbankschema berücksichtigt?
- Struktur und Datentypen - Zulässiger Wertebereiche - Beziehungen - Abhängigkeiten - Identifizierbarkeit und Eindeutigkeit
Erweiterbares Hashing: Einfügen
- Suche Bucket. - Bei Überlauf des Bucket wird der Baum um weitere Knoten und Kanten erweitert: OVERFLOW
Was sind die Organisationsformen der Datensätze in Dateien und Blöcke im Hauptspeicher?
- Unspanned: Speicherung von vollständigen Datensätze. Ungenutzter Speicherplatz am Ende eines Blocks. - Spanned: Teile eines Datensatzes auch speicherbar.
Welche Anomalien können vorkommen?
- Werte müssen mehrfach eingegeben (Redundanz) bzw. verändert werden (auch Modifikationsanomalien) - Key Contraint, Tippfehler (wegen mehrfacher Eingaben) beim Einfügen; - Löschen eines Attribut führt zum Löschen andere Daten, die nicht gelöscht werden sollen
Welcher Vorteile bietet die 3-Schichten-Systemarchitektur an?
- klare Schnittstellen/Zuständigkeiten --> einzelne Schichte modifizierbar ohne starke Einfluss auf anderen
Erklärung zum konzeptiallen Datenmodell
- technologieneutral - Abbild der betriebswirtschaftlichen Realität - ER-Modell, objektorientiertes Entwurfsmodell
Erklärung zum loschen Datenmodell
- technologieneutral - formal, für bestimmte Datenhaltungssysteme, zur Implementierung - Relationales Modell, objektorientierte Modell, Netzwerk- und Hierarchi-Datenmodell
Erklärung zum physischen Datenmodell
- technologiespezifisch - beschreiben Speicherung, Zugriff, Datentypen, datenbanksystemabhängig
Warum werden DB permanent auf einer Festplatte gespeichert?
1. Die meisten DB sind zu groß, um im Hauptspeicher zu halten. 2. Primärer Speicher ist ausfallgefährdeter als sekundärer Speicher. 3. Kosten.
Vergehensweise der Erstellung von ER-Diagramme
1. Erstes Konzept mit grundlegenden Entitätstypen und Attributen 2. Einfügen von Beziehungstypen und Kardinalitäten 3. Attribute, die in mehreren Entitätstypen vorkommen, können auf einen eigenen Entitätstyp verfeinert werden 4. Zusammenlegung von Entitästypen (z.B. Entitätstypen mit nur einem Attribut)
Was passiert bei der Umbenennung von Name eines Schemas oder von Attributen eines Schemas?
1. Transformation des Schemas R in ein Schema R' mit gleicher Datenstruktur 2. Erzeugt aus einer Relation S von R eine Relation S' von R'
Welche zwei grundlegende Korrekheitskriterien müssen bei Normalisierung erfüllt sein?
1. Verlustlosigkei 2. Abhängigkeitserhaltung
Was sind am wichstigsten im Datenbank-Entwurfsprozess?
1. Vermeidung von Redundanzen im Datenbestand 2. Vollständigkeit
Wie prüft man auf erste Normalform 1NF?
Alle Attribute nur atomare Werte (mehrwertig o. zusammengesetzt A nicht erlaubt) -> eigene Relation erzeugen -> Vernüpfung mit Primärschlüssel -> 1:n - Beziehung
Was ist einwertige Attribute?
Attribute, bei denen zu einem bestimmten Zeitpunkt genau ein Wert existiert z.B. Attribute Alter, also ein Mensch kann nur einen Alter haben zur bestimmten Zeitpunkt
Was sieh mehrwertige Attribute?
Attribute, bei denen zu einem bestimmten Zeitpunkt mehrere Werte existieren können z.B.: eine Person kann zwei akademische Titel haben
Was sind abgeleitete Attribute?
Attribute, deren Wert sich aus anderen Atrtibuten herleiten lässt z.B.: Aus dem Geburtsdatum kann das Attribut alter hergeleitet werden
Was sind atomare Attribute
Attribute, die nicht geteilt werden können z.B.: Alter, Postleitzahl, Nachname
Volle funktionale Abhängigkeit
Aus der Attributmenge X kein Attribut entfernt werden kann ohnen die funktionale Abhängigkeit zu zerstören
Was ist der Sinn von der externen Ebene in 3-Schicht_Architektur?
Beschreibung Sichten auf die Daten
Was ist der Sinn von der konzeptuellen Ebene in 3-Schicht_Architektur?
Beschreibung die system- und anwendungsunabhängige Struktur
Warum muss eine Datenbank die Vollständigkeit der Daten beachten?
Ein nicht vollständiges Datenmodell führt zur Einschränkungen in der späteren Verwendung der Anwendung
Warum muss Datenbank Redundanzen im Datenbestand vermeiden?
Mehrfache Speicherung einer Information führt zu Inkonsistenz, fehlerhaften Datenbeständen
ER-Modell aus Mengentheoretischer Sicht
- Keine dopptelten Elemente - Ungeordnet
Was ist ein Schlüssel?
- Ein Attribut o. eine Attributkombination - eindeutig identifiziert ein Entität eines Entitätstyps
Was ist ein Datenbankpuffer?
- Ein Teil des Hauptspeichers, der temporär Kopiean der Seiten speichert. - Datender Relation werden seitenweise von Festplatte gelesen und im Puffer geschrieben. - DB-Operationen nur auf Datensätzen im Puffer. - Nur nach Abschluss aller relevanten Operationen auf Festplatte zurückgeschrieben
Bestandteile einer Tabelle des Relationalen Datenmodell
- Eindeutiger Name - Attribute (Spalten) über Wertenbereichen (Domänen) - Tupeln oder Datensätze (Zeilen)
Beschreibung des Aufbaus eines Datensatzes
- Eine Sammlung von Feldern, jedes Feld gehört zum einem Attribut eines Tupels einer Relation. - Ein Feld speichert den Wert des entsprechenden Attributes des Tupels. - Jedes Feld repräsentiert durch ein oder mehrere Bytes. - Felder sind typisiert.
Vom ER-Modell zum relationalen Modell (0..n):(0..m)
- Entitäten: eigenes Schema - Beziehung: eigenes Schema
Vom ER-Modell zum relationalen Modell (0..1):(0..n)
- Entitäten: eigenes Schema - Beziehung: keine eigene Tabelle - Primärschlüssel der Tabelle der Entität mit (0..1)-Bezeichnung als F in Tabelle der Entität mit (0..n)-Bezeichnung
Vom ER-Modell zum relationalen Modell 1:(0..1)
- Entitäten: eigenes Schema - Beziehung: keine eigene Tabelle - Primärschlüssel der Tabelle der Entität mit 1-Bezeichnung als F in Tabelle der Entität mit (0..1)-Bezeichnung - Fremdschlüssel non-null und unique
Vom ER-Modell zum relationalen Modell 1:(0..n)
- Entitäten: eigenes Schema - Beziehung: keine eigene Tabelle - Primärschlüssel der Tabelle der Entität mit 1-Bezeichnung als F in Tabelle der Entität mit (0..n)-Bezeichnung - Fremdschlüssel non-null
Vom ER-Modell zum relationalen Modell (0..1):(0..1)
- Entitäten: eigenes Schema - Beziehung: keine eigene Tabelle - Primärschlüssel der Tabelle einer der Entitäten als F in Tabelle der anderen Entität - Fremdschlüssel unique
Einfügen in einer Heap-Datei
- Erster Block in Hauptspeicher laden. - Aus Header den lezten Block identifiziert. - Letzter Block in Hauptspeicher laden und schreiben. - Update neue Adresse des letzten Blocks.
Vom ER-Modell zum relationalen Modell Schwache Beziehung
- Erzeugung Relationenschema für beide Entitäten - Primärschlüssel im schwachen Schema besteht aus Fremdschlüssel zum Eigentümerschema und entitäts-differenzierendem Attribut
Interpretation von null
- Es existiert kein Wert - Es könnte ein Wert existieren, der aber (noch) unbekannt ist - Jeder Wert ist möglich ...
Erklärung zur Fixlänge-Speicherung
- Für jedes Feld eine feste Anzahl von Bytes reserviert (in einen Block). - Vorteil: einfach und schnelle Adressierung. - Nachteil: Unflexible bezüglich Änderung der Datengröße
Was ist der Datenbank-Entwurfprozesse?
- Identifizierung der notwendigen Ausschnitte der realen Welt, die für die Abbildung eines Themengebietes notwendig sind - Überführung dieses Ausschnittes in ein adäquates Datenbankschema - Anforderungsanalyse -> Konzpeptuelles Design -> Logischer Etnwurf -> Physischer Entwurf
Vom ER-Modell zum relationalen Modell 1:1 (Alternativ 2)
- Jede Entität: eigenes Schema - Primärschlüssel der beiden Tabellen sind jeweils Fremdschlüssel in der anderen Tabelle - non-null Fremdschlüssel
Relation für Lehre (aus Professor- und Fachtabelle)
Eine Teilmenge
Funktion f:M1 -> M2
Eine eindeutige Zuordnung von Elementen aus M1 auf Elemente aus M2. Jedem x in M1 wird genau ein y in M2 zugeordnet
Besonderheiten von natural Join
Equi-Join und: - alle gleichnamigen Attributpaare werden verknüpft - ein Attribut je Attributpaar wird in diesem Schema entfernt
Primärschlüssel
Genau ein Schlüsselkandidate wird als Primärschlüssel des Schemas festgelegt
Wozu braucht man Datenbankschemata das?
In logischen Datenmodellen, Daten werden durch Datenbankschemata beschreiben
Was ist die Funktion von Indizes?
Index ist ein Verzeichnis, das für Attributwerten deren Speicherort angibt
Warum dauert es länger bei Update einer Tabelle mit Index im Vergleich mit ohne Index?
Index wird auch aktualisiert - Tabelle mit hoher Modifikation --> soll keine Indezes haben - Tabelle mit niedriger Modifikationsrate u. häufigen Abfragen --> besser geeignet
Allgemeine Join-Operation
Join-Operation auf Relationen S und t mit belibigem Selektionsprädikat
Left Outer, Right Outer, Full Outer
Keinen Verbundpartner erforderlich