Daten Bank Flashcards
Was ist eine Datenbank?
Eine Datenbank ist ein System zur elektronischen Verwaltung von Daten.
Die Kernaufgabe von Datenbanken liegt in der
› effizienten,
› widerspruchsfreien,
› dauerhaften Speicherung großer Datenmengen sowie
› in der bedarfsgerechten Bereitstellung benötigter Informationen
Wie funktioniert eine Datenbank?
Speicherung der Daten für
alle Benutzer in einer
gemeinsamen Datenbasis.
›Zugriff und Darstellung der
gewünschten Daten für
viele Benutzer
›Zugangskontrolle zu den
daten
Wie funktioniert eine Datenbank?
Gleichzeitiger Zugriff auf mehrere Dateien (Vielfachzugriff)
›
Verknüpfung der Daten aus den unterschiedlichen Dateien (Flexibilität)
›
Gewinnung zusätzlicher Informationen aus den bereits bestehenden Dateien
›
Komfortable Beantwortung von Anfragen des Benutzers mit Hilfe einer integrierten
Abfragesprache
›
Ein Datenbanksystem ermöglicht dem Benutzer, über ein DBMS:
›
die Struktur einer Datenbasis aufzubauen (Datendefinition),
›
Daten zu pflegen: Datensätze eingeben, ändern und löschen (Datenmanipulation),
›
Informationen aus der Datenbasis zu gewinnen (Datenabfrage),
›
Vorkehrungen zur Datensicherheit und zum Datenschutz, Zugangs- und
Zugriffsrechte zu verwalten (Datenkontrolle) und
›
Daten zu sichern, zu exportieren und zu importieren (Datenübertragung).
Datenspeicher
Transienz / transient
› Flüchtige Speicherung
› Daten zur Laufzeit
› z.B. Daten im Hauptspeicher
› Persistenz / persistent
› Dauerhafte Speicherung
› Daten existieren über die Dauer der
Anwendung hinaus› z.B. Daten auf dem Festspeicher
(Dateien)
Datenbanken im Alltag
Alles basiert auf Daten
› Datenbanken werden verwendet in:
› Controlling & Rechnungswesen
› Warenwirtschaftssysteme (WWS)
› Enterprise Resource Planning (ERP)
› Customer Relationship Management (CRM)
› Content Management Systeme
› Banken und Versicherungen, Energielieferanten
› Industrie und Maschienenbau
› Reise- und Flugindustrie
Welche Bestandteile hat ein DBMS?
Datenwörterbuch: (Data Dictionary) besteht aus einer
Ansammlung von Metadaten (Definitionen der Daten).
› Alle relevanten Informationen zu den gespeicherten Daten einer
Datenbank.
› Datendefinitionssprache: Data Definition Language (DDL) ist
dafür vorgesehen, die Inhalte einer Datenbank zu strukturieren.
› Datenmanipulationssprache: Data Manipulation Language
(DML) Sprachbereich mit dem sich in einer Datenbank enthaltene
Datensätze löschen, einfügen, verändern und auslesen lassen.
Architektur eines Datenbanksystems
Die Daten eines Anwendungsbereiches oder eines Unternehmens
werden auf unterschiedliche Weisen gesehen.
› Deshalb Unterscheidung in drei Datenebenen:
› Die logische Gesamtsicht
› Die Datenorganisation der Daten auf den Speichern: interne Sicht
› Die Sicht einzelner Benutzergruppen: externe Sicht
Relationale Algebra
theoretische Konstrukt für relationale Datenbanken
eine formale Sprache, mit der sich Abfragen über einem relationalen
Schema formulieren lassen
„Was ist die relationale Algebra jetzt genau?“
aus zwei oder mehreren Relationen mittels Operatoren und
Integritätsbedingungen wieder eine neue Relation bilden
Damit lassen sich beispielsweise zwei Relationen verknüpfen, filtern oder
umbenennen.
Die Ergebnisse aller Operationen sind ebenfalls Relationen
Wesentliche Operationen auf RDB
Projektion: „blendet Spalten aus“
› Selektion: „blendet Zeilen aus“
› Kreuzprodukt: „Jede Zeile von A mit jeder Zeile von B“
› Umbenennung: Spalten bekommen andere Attributnamen
› Vereinigung: Relationen mit gleichem Schema zusammenfügen
› Differenz: „Aus A alles entfernen, was in B ist“
SQL – Structured Query Language
Der Standard ist in drei Stufen (Level) eingeteilt:
› Entry-Level
› Intermediate-Level
› Full-Level
› SQL besteht offiziell aus folgenden drei Teilen
› DDL (Data Definition Language)
› DCL (Data Control Language)
› DML (Data Manipulation Language)
Konzeptionelles Modell-Bestandteile
(Geschäfts-)Objekte => Realweltobjekte z. B. Bestellungen, Kunden
›
Attribute von Objekten => z. B. Bestell- und Kundennummer
›
Eindeutiger Schlüssel => Für die Identifikation eines Objektes
›
Beziehungen => z. B. zwischen Kunde und Bestellung
›
Beziehungstypen => z. B. 1:1, 1:N, N:M
›
Generalisierung => hierarchische Aufteilung in Ober- und Unterklassen z. B.
Kunde unterteilt in Neukunde, Stammkunde
Logisches Modell
Ziel: Die Eliminierung von Redundanzen und die
einmalige Speicherung der Daten vorzubereiten.
› Der zu implementierende Entwurf der Datenbank
› Ausgangsbasis: das konzeptionelle Datenbankdesign,
das die fachlichen Anforderungen eines Realwelt-
Prozesses erfasst.
› Erstellung einer Beschreibung, die vom eingesetzten
relationalen Datenbank-Management-System
(RDBMS) unabhängig ist. Es stellt „nur“ die logischen
Tabellenstrukturen und Beziehungen zwischen den
Tabellen dar.
Logisches Modell-Bestandteile
Tabellen => deren Bezeichnung und Aufbau
Primär- und Fremdschlüssel / Referenzielle Integrität
Zusätzliche Attribute
Integritätsbedingungen
Konsistenzbedingungen
Physisches Modell-Bestandteile
Beschreibung der Art und Weise wie Tabellen und Daten
strukturiert, verwaltet und zugreifbar gemacht werden
› Die Datentypen aller Attribute festlegen und anschließend das
Datenbankskript erstellen
› Datentypen beschreiben welche Attribute einer Tabelle welche
physische Repräsentation auf dem Speichermedium besitzt
› Ein Datentyp stellt eine Struktur dar, die in einer bestimmten Art
und Weise gespeichert wird
› Tabellen angelegen und deren Beziehungen hinterlegen
› Die Integritätsbedingungen, die im logischen Modell festgelegt
wurden, mittels Datenbanksprachen (SQL) angelegen
Wozu dient ein ERM?
Grundlage für einen Datenbankentwurf
››Einheitliche graphische Darstellung der
Datenstruktur
Beziehungstyp
Standard für Datenmodellierung
› Typisierung von Objekten
Wichtige Notationen
Chen-Notation, Martin-Notation (Krähenfuss-
Notation) ,Tabellen-Modell:
Chen-Notation
Ausarbeitung eines
ersten grafischen Planungskonzepts
basierend auf den Arbeiten von Dr.
Codd
Martin-Notation (Krähenfuss-
Notation) b
Martin-Notation (Krähenfuss-
Notation) begründet von James
Martin als Alternative zur
semantischen Datenmodellierung
nach Chen. Planungstools aus dem
Oracle-Bereich verwenden diese
Notation
Tabellen-Modell:
Vermischung der
o.g. Ansätze. Verwendung
hauptsächlich im Microsoft-Bereich
Entitätsmenge/Entitätstyp
Eine Entitätsmenge (entity set), auch Entitätstyp oder Objekttyp genannt, ist eine
Zusammenfassung von Entitäten mit gleichen Eigenschaften unter einem
eindeutigen gemeinsamen Oberbegriff. (vgl. Balzert)
Attribut
Ein Attribut (Ausprägung, Eigenschaft) beschreibt eine fachliche Eigenschaft,
die allen Entitäten einer Entitätsmenge gemeinsam ist. Es wird durch seinen
Namen, der seiner fachlichen Bedeutung entsprechen soll, und seinen
Wertebereich definiert. Der Wertebereich (manchmal Domäne genannt) gibt
die Menge aller möglichen bzw. zugelassenen Werte für ein Attribut an.
Man unterscheidet beschreibende Attribute, um die anwendungsrelevanten
Eigenschaften der Entitäten festzuhalten und identifizierende Attribute, die
Schlüssel zur eindeutigen Identifikation einer konstanten Entität innerhalb ihrer
Entitätsmenge bilden. Ein Schlüssel kann aus einem oder mehreren
identifizierbaren Attributen zusammengesetzt sein. (vgl. Balzert). Bei einem
identifizierenden Attribut wird der Text unterstrichen dargestellt.
Attribut
Zusammengesetzte Attribute:
Kombination mehrerer Attribute, die
inhaltlich zusammengehören
Beispiel: Adresse
››Mehrwertige Attribute können einen oder
mehrere Attributwerte aufnehmen.
Beispiel: Telefonnummern
›Abgeleitete Attribute werden aus anderen
Attributen oder aus Entitäten berechnet.
Bezogen auf eine Datenbank wäre das
z.B. Berechnung des Alters mit
Geburtsdatum.
Schlüssel
Ein Schlüssel K ist stets eine minimale
identifizierende Attributkombination, jede echte
Obermenge von K ist ein Schlüsselkandidat. D.h.
Der Schlüssel sollte so wenig Attribute aufweisen,
wie für die Identifizierung nötig. (vgl. Balzert)
In einem ERM nach Chen werden Primär-
Schlüssel-Attribute unterstrichen dargestellt.
Fremdschlüssel werden nicht gesondert
gekennzeichnet!
› Beachte: In der DB-Planung wird lediglich
festgelegt, welche Attribute zum Schlüssel
gehören!
Assoziationen/Relationen
Wechselwirkungen und Abhängigkeiten zwischen Entitäten
werden durch Beziehungen (Relationen) dargestellt.
Die Zusammenfassung gleichartiger Beziehungen
zwischen Entitäten erfolgt durch
Beziehungsmengen/Beziehungstypen, Assoziationen
genannt.
Beschreiben die Beziehungen zwischen Entitätsklassen
› Wird als Raute dargestellt
› Beinhaltet ein Verb
› Verbindet Entitätstypen
› Hat Kardinalitäten
› Kann Attribute haben
Kardinalitäten von Beziehungen
Kardinalität (auch Komplexitätsgrad genannt) gibt an, mit wie vielen
anderen Entitäten eine Entität einer bestimmten Entitätsmenge in
einer konkreten Beziehung stehen muss bzw. stehen kann.
› Die Angabe der Kardinalität erfolgt durch eine Zahl bzw. einen
Buchstaben an den Linien, die die Raute mit den Entitätsmengen
verbindet.
› Es gibt drei prinzipiell mögliche Mengenverhältnisse zwischen zwei
Entitäten
Kardinalitäten – m:n
› Gibt es zu einer Entität aus A eine oder mehrere Entitäten in B und
umgekehrt, dann stehen A und B in einer M:N-Relation.
› Eine M:N-Assoziation bedeutet nicht, dass auf beiden Seiten
jeweils die gleiche Anzahl von Entitäten miteinander in Beziehung
stehen
› Hier wird die Assoziation „arbeitet in“ mit den Entitätsmengen
Mitarbeiter und Projekt abgebildet
› Die Abbildung zeigt ein ERM des logischen Modells
Vorgehensweise
Problemrahmen kennen (Aufgabenstellung / Pflichtenheft)
› Festlegen der Entitäten (Substantive suchen)
› Festlegen der Beziehungstypen (Verben suchen)
› Festlegen der Mengenangaben / Kardinalitäten
› Festlegen der Attribute, Schlüssel