Erläutern Sie den Begriff "Relation"!
Tabellen nennt man, wenn sie nach bestimmten Regeln gestaltet sind und bestimmte Eigenschaften haben Relationen. Mit ihnen wird jeweils ein Entitäts- oder Beziehungstyp beschrieben.
Eigenschaften:
Eigenschaften:
- Wichtig: Im Schnittpunkt jeder Zeile und Spalte wird genau EINE Attributs Ausprägung festgehalten (flache Tabelle)
- Jede Zeile (Tupel) beschreibt eine Entität/Beziehung
- Die ganze Tabelle (Relation) beschreibt den Entitäts- oder Beziehungstyp
- In jeder Spalte steht als Kopf der Attributs Name, darunter die Attributs Ausprägungen zur Beschreibung der jeweiligen Entität/Beziehung
- Jedes Tupel beschreibt eine andere Entität/Beziehung (keine 2 Tupel sind identisch
Nennen und erklären Sie alle Schlüsselformen und geben Sie jeweils ein Beispiel anhand einer selbst gewählten Datenbank bestehend aus zwei Relationen (VIII)
Wenn man einen Tulpel einer Relation direkt ansprechen möchte, muss man es eindeutig identifizieren können. Dies erfolgt durch „Schlüssel“.
Ein Schlüssel besteht aus einem Attribut od. einer Kombination von Attributen.
Man unterscheidet beim relationalen Datenmodel zwischen:
Ein Schlüssel besteht aus einem Attribut od. einer Kombination von Attributen.
Man unterscheidet beim relationalen Datenmodel zwischen:
- Einfachem Schlüssel
- Zusammengesetzter Schlüssel
- Konkurrierende Schlüssel
- Primärschlüssel
- Sekundärschlüssel
- Fremdschlüssel
- Identifikationsschlüssel
Einfachem Schlüssel!
es genügt ein Attribut, um ein Tulpel=Zeile einer Relation eindeutig zu identifizieren.
Mitarbeiter
Ein Tulpel ist eindeutig durch einen Schlüssel zu identifizieren.
Mitarbeiter
PersNr | Name | Vorname | Geschlecht |
4711 | Müller | Klaus | m |
4712 | Maier | Robert | m |
Zusammengesetzter Schlüssel
Oft reicht ein Attribut zur Identifikation nicht aus. Ein Kombination aus Schlüsselattributen ist nötig, um ein Tulpel eindeutig zu identifizieren.
z.B. Angebot(#(NameDBS, Firmenname) Preis)
Angebot
Sie bilden zusammen den Primärschlüssel
Nur die Kombination beider identifiziert eine Tulpel eindeutig
z.B. Angebot(#(NameDBS, Firmenname) Preis)
Angebot
NameDB | FirmenName | Preis |
DBMS 1 | Kraus | 10000 |
DBMS 2 | Müller | 8000 |
Nur die Kombination beider identifiziert eine Tulpel eindeutig
Konkurrierende Schlüssel
Sind mehrere Attribute als Schlüssel geeignet, so spricht man von konkurrierenden Schlüsseln. Sie alle sind Kandidaten für Schlüssel. Der daraus ausgewählte Schlüssel bildet den Primärschlüssel. Alle anderen sind Sekundärschlüssel dieser Tabelle.
Primärschlüssel
Dient dazu, jede Zeile (Entität=Tulpel) bzw. Datensatz in einer Tabelle eindeutig zu identifizieren.
Bsp: Ein Online-DB hat mehrere Attribute. Drei von Ihnen sind jeder für sich in der Lage die gesamte DB oder eine Tulpe eindeutig zu identifizieren. Einer davon ausgewählt zu einem Primärschlüssel und darf die Raute davor behalten. Die anderen nicht.
Online-DB (#Nr, #Name, #KurzBez, sprache, Umfang)
Bsp: Ein Online-DB hat mehrere Attribute. Drei von Ihnen sind jeder für sich in der Lage die gesamte DB oder eine Tulpe eindeutig zu identifizieren. Einer davon ausgewählt zu einem Primärschlüssel und darf die Raute davor behalten. Die anderen nicht.
Online-DB (#Nr, #Name, #KurzBez, sprache, Umfang)
Fremdschlüssel
Über die Fremdschlüssel bildet man die Beziehungen in einer relationalen DB ab (Beziehung zwischen Tabellen).
Fremdschlüssel sind Primärschlüssel aus anderen Relationen.
Fremdschlüssel in einer Relation wird kursiv geschrieben.
Mitarbeiter
Abteilung
Fremdschlüssel sind Primärschlüssel aus anderen Relationen.
Fremdschlüssel in einer Relation wird kursiv geschrieben.
Mitarbeiter
PersNr | Name | Vorname | Geschlecht | Kennung | |
4711 | Müller | Klaus | m | RW 04 | |
4712 | Maier | Robert | m | I/VM |
Abteilung
Kennung | Bezeichnung |
RW 04 | Rechnungswesen |
I/VM | Vertrieb |
Identifikationsschlüssel
Ein Schlüssel, dessen Wert jede Entität einer Entitätsmenge eindeutig identifiziert.
Gibt es Primärschlüssel mit mehreren Attributen?
Oft reicht ein Attribut zur Identifikation nicht aus. Ein Kombination aus Attributen ist nötig, um ein Tulpel eindeutig zu identifizieren.
Man nennt es: Zusammengesetzter Schlüssel
Angebot
Sie bilden zusammen den Primärschlüssel
Nur die Kombination beider identifiziert eine Tulpel eindeutig
Man nennt es: Zusammengesetzter Schlüssel
Angebot
NameDB | FirmenName | Preis |
DBMS 1 | Kraus | 10000 |
DBMS 2 | Müller | 8000 |
Nur die Kombination beider identifiziert eine Tulpel eindeutig
Was ist eine Datenbank?
Eine Datenbank ist eine Sammlung von Daten, die untereinander in einer logischen Beziehung stehen und die von einem DB-Verwaltungssystem (DBMS) verwaltet werden.
Eigenschaften einer Datenbank benennen und erläutern!
- Unterstützung eines Datenmodells: Daten, die logisch miteinander verbunden sind, gemeinsam zu verwalten
- Speicherung der Daten mit möglichst wenig Redundanz
- Unterstützung einer formalen Sprache: z.B. SQL
- Concurrency: gleichzeitiger Mehrfachzugriff auf dieselben Daten ohne Konflikte -> gesteuert vom Transaktionsmanagement
- Zugangskontrolle, die Fähigkeit den Zugriff auf die Daten zu kontrollieren
- Prüfung und Sicherstellung der Integrität der Daten: physisch korrekt gespeichert, logisch (inhaltlich) richtig, redundante Daten sollten den gleichen Wert besitzen
- Ausfallsicherheit, Rekonstruktion von Daten -> Recovery
- Fähigkeit Indexe einzurichten und zu verwalten
Was sind Transaktionen in DB-Systemen und was ist der Vorteil?
Concurrency: Gleichzeitiger Mehrfachzugriff auf dieselben Daten ohne Konflickte -> gesteuert vom Transaktionsmanagement.
Bsp: Buchungssysteme für Reisen. Immer muss es möglich sein, von verschiedenen Clients auf Daten mehr oder weniger gleichzeitig zugreifen zu können. Aufgabe des DB-Systems ist es, sich gegenüber dem Client so zu verhalten, als sei er der einzige Benutzer.
Bsp: Buchungssysteme für Reisen. Immer muss es möglich sein, von verschiedenen Clients auf Daten mehr oder weniger gleichzeitig zugreifen zu können. Aufgabe des DB-Systems ist es, sich gegenüber dem Client so zu verhalten, als sei er der einzige Benutzer.
Einsatzgebiete von Datenbanken nennen!
Datenbanken werden eingesetzt, wenn die Datenverwaltung über lange Zeiträume stattfinden soll, womit eine langfristige Speicherung der Daten einhergeht. Man spricht hier auch von persistenter Datenhaltung.
So z.B. in folgenden Bereichen:
So z.B. in folgenden Bereichen:
- Personalbereich zur monatlichen Gehaltszahlung
- Produktionsbereich für das Produktionsplanungssystem
- Unternehmensleitung für zentrale Kennziffern
- Buchung einer internationalen Hotelkette
- CD-Sammlung für den Überblick
- DBMS-Übersicht zur Kaufentscheidung
Diskutieren wie wichtig Datenbanken für Internet Anwendungen sind, an selbst gewählten Beispielen.
Der Kern einer solchen Datenbank ist ein sog. Datenbankserver (Softwaresystem), der auf einer dedizierten Maschine innerhalb eines Netzwerkes läuft. Dieser Server kapselt die gesamte Datenbank und bietet im gesamten Netzwerk seine Dienste an. Programme, für welche der Server etwas tun soll, (diese werden Clients genannt,) greifen nicht wie bei einer File-Share-Datenbank selbst auf die Daten zu, sondern wenden sich mit Ihren Wünschen lediglich an den Server, der alles für die Clients erledigt.
->Die Datenverwaltung ist hier vom Zugriff konsequent getrennt. Die Clients wenden sich lediglich an die standardisierte Schnittstelle des Servers. Wo und wie der Server seine Daten verwaltet ist für die Clients transparent.
Client/Server-Datenbanken bieten viele Sicherheits-, Leistungs- und Flexibilitätsvorteile,erfordern allerdings auch die Betreuung durch einen Datenbankadministrator
->Die Datenverwaltung ist hier vom Zugriff konsequent getrennt. Die Clients wenden sich lediglich an die standardisierte Schnittstelle des Servers. Wo und wie der Server seine Daten verwaltet ist für die Clients transparent.
Client/Server-Datenbanken bieten viele Sicherheits-, Leistungs- und Flexibilitätsvorteile,erfordern allerdings auch die Betreuung durch einen Datenbankadministrator
Ist SQL eine deskriptive Programmiersprache - wenn ja, warum?
Ja, es handelt sich um eine deskriptive Sprache.
Es muss nur beschrieben werden, WELCHE Daten benötigt werden.
Das WIE, also der Weg auf dem man zu den Daten gelangt bzw. wie die Daten abgespeichert sind, ist unerheblich.
Es muss nur beschrieben werden, WELCHE Daten benötigt werden.
Das WIE, also der Weg auf dem man zu den Daten gelangt bzw. wie die Daten abgespeichert sind, ist unerheblich.
Was bedeutet SQL?
Erklären sie kurz was SQL ist von wofür man es braucht.
Erklären sie kurz was SQL ist von wofür man es braucht.
- SQL bedeutet ’Structured Query Language’
- SQL ist eine komfortable, mächtige, normierte Schnittstelle zu relationalen DB-Systemen und eine deskriptive Programmiersprache.
- SQL braucht man zum Abfragen und zur Manipulation von Datenbeständen (Einfügen, Bearbeiten und Löschen von Datensätzen)
3 Datenmodelle beschreiben, erläutern inkl. Vor- und Nachteile
- Semantisches Datenmodell (z.B. ER-Modell) dient zur Identifikation von Entitäten, Beziehungen und Attributen zur Zusammenfassung zu Entitäts- und Beziehungstypen und zwar unabhängig von einem konkreten DB-System-> Ziel: den unstrukturierten Realitätsausschnitt in eine logische Datenstruktur zu überführen.
- Logisches Datenmodell (hierarchisch, Netzwerk, relational, objektorientiert) -> beschreibt die Struktur der Daten und Beziehungen in einer Form, die von einem konkreten DBS unterstützt wird
- Physisches Datenmodell -> beschreibt die physische Form von Speicherung und Datenzugriff. Festlegen der Datenanordnung auf externen Speichermedien (in Dateien, Datensätzen) sowie die Zugriffsunterstützung beim Wiederauffinden der Daten.-> Aufgaben:- schneller Zugriff Daten- Ablegen und verwalten der Verwaltungsdaten- Aufbauen von Hilfsstrukturen zur Suchzeitenminimierung- Sicherung der Daten
Was ist ein ER-Modell und wozu braucht man es?
- ER-Modell heißt übersetzt ’Entity-Relationship-Modell’
- Das ER-Modell ist der wichtigste Vertreter der semantischen Datenmodelle.
- Aufgabe des ER-Modells ist es, die abzubildenden Entitäten, Beziehungen und Attribute zu formalisieren und zu visualisieren.
Das ANSI-SPARC Modell kennt drei Sichten.
Nennen Sie diese und erläutern Sie deren Funktion.
Nennen Sie diese und erläutern Sie deren Funktion.
Standards Planning and Requirement Committee.
- Externe Sicht: beschreibt die Sicht des Programmierers auf die Daten einer Datenbank. Hier werden die verschiedenen Nutzersichten festgelegt(z.B. als Tabelle oder Liste).
- Logische Sicht: betrachtet die logische Gesamtstruktur der Daten. (Sicht des Datenbankadministrators).
- Interne Sicht: beschreibt die physische Organisation und Speicherungsform der Daten. Hier werden auch die Zugriffsarten festgelegt.
Nenne Gründe für die Normalisierung.
Gründe für die Normalisierung (Optimierung eines ER-Modells)
Mit der Normalisierung werden Redundanzen und strukturelle Schwächen bei relationalen Datenbanken schrittweise beseitigt.
Es werden nacheinander verschiedene Normalformen gebildet. Aus einer aufgestellten Ausgangsrelation leitet man schrittweise mehrere einfache Relationen her, also bauen Normalformen aufeinander auf. Es gehen keinerlei Informationen dabei verloren.
- schrittweise Beseitigung von Redundanzen
- und dadurch Vermeidung von unerwünschten (Lösch- / Einfüge- und Änderungs-) Anomalien
- Zwang zum systematischen Entwurf einer Datenbank
- bessere Übersichtlichkeit für Benutzer und Programmierer
Mit der Normalisierung werden Redundanzen und strukturelle Schwächen bei relationalen Datenbanken schrittweise beseitigt.
Es werden nacheinander verschiedene Normalformen gebildet. Aus einer aufgestellten Ausgangsrelation leitet man schrittweise mehrere einfache Relationen her, also bauen Normalformen aufeinander auf. Es gehen keinerlei Informationen dabei verloren.
Grundsätzliches Vorgehen bei der Normalisierung erklären
- Eine Relation ist in erster Normalform (1NF), wenn sie für jedes Attribut in einem Tupel nur eine Ausprägung enthält. Mehrfacheinträge müssen in einer eigenen Relation gespeichert werden.
- Eine Relation befindet sich in zweiter Normalform (2NF), wenn sie in der ersten Normalform ist und wenn alle Nichtschlässelattribute vom gesamten Primärschlüssel voll funktional abhängig sind. DIe nur von einem Teil des Schlüssels abhängigen Nichtschlüsselattribute sind in eine eigenständige Relation auszulagern.
- Eine Relation befindet sich in dritter Normalform (3NF), wenn sie in der zweiten Normalform ist und wenn keine Nichtschlüsselattribute indirekt abhängig, d. h. über schlüsselfremde Umwege vom Primärschlüssel sind. Jedes Nichtschlüsselattribut darf nur vom Primärschlüssel abhängen, nicht von anderen Nichtschlüsselattributen. Die indirekt abhängigen Nichtschlüsselattribute sind in eine eigenständige Relation auszulagern.
SQL-Anfrage erstellen
1. Bsp.: Gib mir den Vornamen & Namen aller Studenten mit dem Hauptfach Information und dem Nebenfach Psychologie
2. Bsp.: Gib mir die Kundennummer, den Kundennamen und den Kundenwohnort aller Stammkunden
3. Bsp. Gib mir den Namen und die Immatrikulationsnummer aller Studenten, die in Hamburg wohnen
1. Bsp.: Gib mir den Vornamen & Namen aller Studenten mit dem Hauptfach Information und dem Nebenfach Psychologie
2. Bsp.: Gib mir die Kundennummer, den Kundennamen und den Kundenwohnort aller Stammkunden
3. Bsp. Gib mir den Namen und die Immatrikulationsnummer aller Studenten, die in Hamburg wohnen
SELECT <Attribut1>, <Attribut2>
FROM <Relation1>, <Relation2>
WHERE <Bedingung1> AND <Bedingung2> ;
SELECT Vorname, Nachname
FROM Studenten
WHERE Hauptfach = ’Informatik’ AND Nebenfach = ’Psychologie’ ;
SELECT Kundennummer, Kundenname, Kundenwohnort
FROM Kunden
WHERE Stammkunde = ’JA’
SELECT Studenten_Name, Imma_Nr
FROM Studenten
WHERE Studenten_Wohnort = ’Hamburg’ ;
FROM <Relation1>, <Relation2>
WHERE <Bedingung1> AND <Bedingung2> ;
SELECT Vorname, Nachname
FROM Studenten
WHERE Hauptfach = ’Informatik’ AND Nebenfach = ’Psychologie’ ;
SELECT Kundennummer, Kundenname, Kundenwohnort
FROM Kunden
WHERE Stammkunde = ’JA’
SELECT Studenten_Name, Imma_Nr
FROM Studenten
WHERE Studenten_Wohnort = ’Hamburg’ ;
Auf welcher Stufe der hierarchischen Gliederung werden Attribute beschrieben?
Einzelne Attribute einer Entität werden durch Datenelemente (items) beschrieben und physisch in Datenfeldern (fields) gespeichert.
(Z.B. „Vorname“, „Ort“).
Maßgeblich für die recheninterne Darstellung ist der Datentyp des Feldes (Text, Datum, Zahl,…).
(Z.B. „Vorname“, „Ort“).
Maßgeblich für die recheninterne Darstellung ist der Datentyp des Feldes (Text, Datum, Zahl,…).
Was bedeutet der Begriff „Beziehung“?
Eine Beziehung verbindet zwei oder mehrere Entitäten wechselseitig miteinander.
(Ein Beziehungstyp verbindet Entitätstypen miteinander.)
(Ein Beziehungstyp verbindet Entitätstypen miteinander.)
Erläutern der Begriffe
- Entität
- Entitätstyp
- Attribut
- Attributsausprägung
am Beispiel des Entitätstyps „Student“
- Entitätstyp
- Attribut
- Attributsausprägung
am Beispiel des Entitätstyps „Student“
Was ist ein Tupel?
Ein Tupel (= Zeile) beschreibt eine andere Entität/Beziehung.
(Eine Tabelle dagegen beschreibt den ganzen Entitäts-/Beziehungstyp,
die Spalten enthalten im Kopf die zugehörigen Attribute,
darunter stehen die Attributsausprägungen)
(Eine Tabelle dagegen beschreibt den ganzen Entitäts-/Beziehungstyp,
die Spalten enthalten im Kopf die zugehörigen Attribute,
darunter stehen die Attributsausprägungen)
Was ist Redundanz? Welche Probleme treten dabei auf?
Unter Redundanz versteht man, dass dieselbe Information mehrfach vorhandene ist.
Probleme:
Auf jeden Fall sind redundante Daten so weit als möglich zu vermeiden
Probleme:
- In Datenstrukturen von Programmen und Datenbanken können Redundanzen zu Programmfehlern führen (vor allem beim Einfügen, Ändern oder Löschen von Datensätzen).
- dass nicht alle Daten / Dateien aktuell sind,
- dass auf die falschen Daten zugegriffen wird,
- dass neuere Informationen an verschiedenen Stellen eingetragen werden.
Auf jeden Fall sind redundante Daten so weit als möglich zu vermeiden
Nennen Sie 4 logische Datenmodelle und beschreiben Sie deren Merkmale /Eigenschaften
- Hierarchisches Modell (ältester Ansatz) -> Baumstruktur (Organigramm). Die Dateien sind fest hierarchisch angeordnet. Jeder Datensatz enthält einen Verweis auf die ihm zugeordneten Datensätze der nächst niedrigeren Ebene. Beim Zugriff auf die Daten muss man sich entlang der Verweise durch die Baumstruktur hangeln.-> Nachteil: Redundanzen, inflexibel, hoher Bearbeitungsaufwand
- Netzwerkmodell -> Erweiterung des hierarchischen Modells um netzartige Strukturen. Der Datenzugriff erfolgt ebenfalls durch Navigation durch die im DBS fest verankerten Strukturen-> Nachteil: Redundanzen, inflexibel, hoher Bearbeitungsaufwand
- Relationenmodell (Datenabbildung in Tabellen) -> Tabellen können beliebig miteinander in Beziehung gesetzt werden-> Navigation über die Inhalte der Felder (Attribute) à flexibeler bei Änderungen
- Objektorientiertes Modell (für komplexe Strukturen / CAD) -> Struktur und Verhalten werden zusammen modelliert-> Man verknüpft die Daten mit den Funktionen, die sie verarbeiten
Was sind die wichtigsten Schritte bei der Erstellung einer Datenbank?
Reale Welt (Anwendungsbereich)
Datenbankunabhängige Beschreibung von Objekten, Beziehungen, Attributen
(semantisches) ER-Modell
Umsetzung in ein datenspezifisches Modell
Logisches Datenmodell
(hierarchisch, Netzwerk, relational, objektorientiert)
Definition und Beschreibung der konkreten Datenbank
Datenbankdefinition
Festlegung von Datei- und Speicherorganisation, Zugriffsmethoden, Schutzmechanismen
Physische Datenorganisation und Implementierung
Kartensatzinfo:
Autor: Jeff
Oberthema: Informatik
Thema: Datenbanken
Veröffentlicht: 21.10.2013
Schlagwörter Karten:
Alle Karten (30)
keine Schlagwörter