11. Database Management Flashcards
Data Organization Hierarchy and Basic Notions
- Ein Bit ist die kleinste Datenspeichereinheit (1 oder 0)
- Ein Byte besteht aus 8 Bits und repräsentiert ein Zeichen (z.B. ABCD…, 1234…, ?!…)
- Ein Datenelement besteht aus einer Reihe von Bytes. Es summiert Zeichen zu Wörtern, Nummern etc.
- Datenelemente, die eine Beziehung zueinander haben, können als Datensatz oder Datentabelle bezeichnet werden
- Datensätze, die zusammenhängen, werden in einer Datenbank organisiert und gespeichert
Entity, Attribute, Primary Key
Entität: Person, Sache etc., für die Daten gespeichert werden sollen
Attribut: Eigenschaft, die eine bestimmte Entität beschreibt (z.B. Adresse)
Primary Key: Eindeutiges, identifizerbares Attribut (z.B. Sozialversicherungsnummer, Personalnummer)
Probleme der Datenorganisation
• Redundanz: Bezeichnet das existieren mehrerer identischer Datenelemente in verschiedenen Datensätzen oder Datenbanken
- Folge: Hoher Aufwand, diese Informationen in allen Datenbanken synchron zu halten, damit keine Inkonsistenzen auftreten
• Dateninkonsistenz: Zuordnung verschiedener Werte zu einem einzelnen Attribut eines Datenelements über mehrere Datensätzen oder Datenbanken (z.B. verschiedene Telefonnummern werden der selben Person zugeordnet)
Datenbanken
- Bestehen im allgemeinen aus einem Datenbankverwaltungssystem (Database Management System, DBMS) und einer Gruppe von Daten (der eigentlichen Datenbank), die logische Abhängigkeiten untereinander aufweisen
- Datenbanken sind eine Sammlung von Daten, die einen effizienten und gleichzeitigen Zugriff für mehrere Benutzer oder Anwendungen auf redundanzfreie Daten gewährleisten soll
- Zentraler Speicherort für alle Anwendungen (z. B. zentral gespeicherte Personaldaten sind sowohl für HR als auf für Accounting zugänglich)
Datenverwaltung
- Spezielle organisatorische Rolle für die Verwaltung der Datenressourcen in einem Unternehmen
- Rolle ist verantwortlich für die Implementierung und Durchsetzung von Richtlinien in Bezug auf Datenplanung, Datensammlung, Datennutzung und Datentransfer
- In diesem Fall können DBMS einen erheblichen Wert haben, wenn Unternehmen die strategische Bedeutung von Informationen kennen, Informationen als Ressource pflegen,…
- Datenverwaltung erfordert Spezifikationen für:
- Planung von Datensammlung
- Koordination des logischen Datenbankendesigns
- Überwachung von Datennutzung
- Entwicklung von Datenschutzrichtlinien
Datenbankverwaltungssysteme / Database Management Systems (DBMS)
- Verwendung von Datenbanken erfordert ein DBMS
- Definition: Sammlung von Anwendungen für die Erstellung, Verwaltung und Nutzung einer Datenbank
- Diese Sammlung ermöglicht es mehreren Anwendungssystemen, ihre erforderlichen Daten gleichzeitig zu speichern, auf sie zuzugreifen oder zu ändern, ohne sie lokal zu speichern
• Ein DBMS trennt physische und logische Datenstrukturen:
- Physisch: Zeigt auf, wie Daten auf dem physischen Speichermedium organisiert und gespeichert sind
- Logisch: Beschreibt die Organisation der Daten, basierend auf der Wahrnehmung der Nutzer (nach logischen Konzepten), ohne Details der technischen Implementierung
• Für die Erstellung, Bearbeitung und Analyse von Datenbanken bietet DBMS mehrere Komponenten:
- Data Defintion Language (DDL): definiert Struktur des Datenbankeninhalts
- Data Manipulation Language (DML): Wird verwerndet, um die Daten in der Datenbank zu ändern
- Data Dictionary (DD): Hilft bei der Verwaltung bestehender Datenbestände
Relationales Datenmodell
- Am häufigsten verwendetes Konzept für die Organisation von Daten und Datenbanken
- Geeignet von Ad-hoc-Abfragen
- Flexibel in Bezug auf das Hinzufügen neuer Daten oder das Kombinieren von Daten aus mehreren verschiedenen Datenquellen
- Alle Daten in einer rel. Datenbank werden als Tabelle mit einer festen Anzahl von Spalten und einer variablen Anzahl von Zeilen dargestellt
- Spalten stellen Datenelemente oder Attribute dar, die Entitäten beschreiben
- Reihen stellen konkrete Datenelemente dar Zusammenhänge (Relations) = z.B. “Bestellung, Produkt, Lieferant”. Eine Reihe in einer Relation ist ein Tupel, z. B. “415;iPhone;Apple”.
Nicht-Relationales Datenmodell (NoSQL)
- NoSQL Datenbanken sind nicht primär auf Tabllen aufgebaut und verwenden nicht nur SQL für die Datenbearbeitung
- Es gibt Mehrere Klassen von NoSQL Datenbanken: Graph-based, Column-based (Spaltenbasiert), Key-Value Store
- Besser als relationales und obj-orientiertes Modell in Applikationen, wo:
- Große Datenmengen verarbeitet werden müssen
- Geschwindigkeit entscheidend ist
- Daten gestreamt werden
Objektorientiertes Datenmodell
• Schwächen relationaler Datenmodelle:
- Konstruktion von Designanwendungen
- Multimedia-Anwendungen
- Architekturkonzept
• Mit der objektorientierten Modellierung können individuelle Einschränkungen relationaler Datenmodelle eliminiert werden, z.B die Verwendung komplexer Objekte, deren Attribute selbst Objekte sind
Datenbank-Design
- Aufgabe der Datenbankenverwaltung ist die Koordination des Datenbankdesigns
- Datenbankadministratoren sind verantwortlich für die Definition und Strukturierung von Datenbankinhalten sowie für die Pflege und Administration der Datenbank
- Der Ansatz ist in 2 Prozesse unterteilt - Logischer Datenbankenentwurf - Physischer Datenbankenentwurf
Logischer Datenbankenentwurf
- Bezeichnet ein abstraktes Modell der Daten, die gespeicher werden sollen
- Es beinhaltet relavante Entitäten und Relationships / Beziehungen zwischen den Datenelementen
- Modelling Tool: ER-Diagram
Physischer Datenbankenentwurf
- Behandelt die Frage, wie die Daten gespeichert werden, auf der physischen Ebene
- Zentrale Datenbanken
- Verteilte Datenbanken: Logisch verbunden, aber physisch an verschiedenen Orten
- Fragmentiere oder partitionierte Datenbanken: Tupel einer Relation werden an verschiedenen physikalischen Speicherorten gespeichert
- Replikation als Alternative zu fragmentierten Daten
Datenbank-Benutzeroberfläche
- Entwicklung von Datenbanken erfordert neben dem eigentlichen Design auch eine graphische Benutzeroberfläche (GUI)
- Besteht aus verschiedenen Formen zur Anzeige und Eingabe von Daten
- Ermöglicht verschiedene Perspektiven auf eine physische Datenbank (z.B. verschiedene Abteilungen rufen verschiedene Datentypen in der selben Datenbank ab)