Docsity
Docsity

Prüfungen vorbereiten
Prüfungen vorbereiten

Besser lernen dank der zahlreichen Ressourcen auf Docsity


Download-Punkte bekommen.
Download-Punkte bekommen.

Heimse Punkte ein, indem du anderen Studierenden hilfst oder erwirb Punkte mit einem Premium-Abo


Leitfäden und Tipps
Leitfäden und Tipps

Lernzettel Datenbankmanagmentsysteme, Mitschriften von Informatik

Einführung "Datenbankmanagementsysteme" Dateisysteme Begriffsbestimmung ANSI-SPARC-Modell ("3-Tier") Konzeptionelles Modell: ER-Modell Datenbankentwurf Relationales Datenbankmodell Datenbankanomalien Normalisierung SQL

Art: Mitschriften

2022/2023

Hochgeladen am 05.04.2025

john-v5o
john-v5o 🇩🇪

2 dokumente

1 / 8

Toggle sidebar

Diese Seite wird in der Vorschau nicht angezeigt

Lass dir nichts Wichtiges entgehen!

bg1
Einführung "Datenbankmanagementsysteme"
- Moderne computerbasierte Datenverarbeitungssysteme können große Datenmengen
schnell verarbeiten
- Daten als Währung des 21. Jahrhunderts, Beispiel Meta Platforms Inc. (ehemals
Facebook)
- Facebook-Accounts basieren auf dem geschätzten Wert der gespeicherten Daten
- Nicholas Negroponte bezeichnete Informationen als globale Währung des 21.
Jahrhunderts (1995)
- Zunehmende Informationsflut erfordert computergestützte
Systeme für Entscheidungsfindung bei komplexen Aufgaben
Dateisysteme
- Probleme, die bei dieser Art der „Datenverwaltung“ auftreten
okeine Querabfragen möglich / keine
Datenübertragung möglich
Redundanz (Mehrfachspeicherung) --> negativ: Speicherplatz/Aufwand / positiv:
Sicherung
keine automatischer Abgleich (z.B. bei Änderungen) Gefahr der
oDateninkonsistenz
oDatenschutz / Datensicherheit (Zugangsbeschränkungen / Zugriffsrechte)
- Lösung: zentrale Datenspeicherung
Begriffsbestimmung
- Komplexe Anwendungssysteme nutzen heute vorgefertigte, standardisierte
Komponenten.
- Bei der Datenhaltung setzt man auf Datenbanksysteme.
- Ein Datenbanksystem besteht aus der Verwaltungssoftware
(Datenbankmanagementsystem - DBMS) und den gespeicherten Daten (Datenbasis oder
Datenpool).
- Benutzer greifen nicht direkt auf die Datenbasis zu; alle Operationen erfolgen über das
Datenbankmanagementsystem.
- Aufgaben wie Daten abfragen, ändern und löschen werden durch das DBMS ausgeführt
- Bekannte Datenbankmanagementsysteme (DBMS): MySQL, MS SQL Server, Oracle DB.
- Funktionen eines DBMS:
oVerwaltung der Sicherheit:
Zugriffsrechte (lesen, schreiben) für Benutzer
Benutzergruppen (Rollen) für gemeinsame Zugriffsrechte
Schutz vor unbefugtem Datenzugriff
oVerwaltung mehrerer Anwender:
Parallelbearbeitung von Datensätzen
Vermeidung von Datenverlust bei gleichzeitigem Bearbeiten
oDatensicherung/Wiederherstellung:
Automatisierte Backup-Verfahren
Umfangreiche Recovery-Möglichkeiten
oSprachen für Datenbankzugriffe:
SQL als etablierte Abfragesprache
Möglichkeit für Ad-hoc-Abfragen
API als Schnittstelle zu Programmiersprachen
oBereitstellung von Kommunikationswegen:
pf3
pf4
pf5
pf8

Unvollständige Textvorschau

Nur auf Docsity: Lade Lernzettel Datenbankmanagmentsysteme und mehr Mitschriften als PDF für Informatik herunter!

Einführung "Datenbankmanagementsysteme"

  • Moderne computerbasierte Datenverarbeitungssysteme können große Datenmengen schnell verarbeiten
  • Daten als Währung des 21. Jahrhunderts, Beispiel Meta Platforms Inc. (ehemals Facebook)
  • Facebook-Accounts basieren auf dem geschätzten Wert der gespeicherten Daten
  • Nicholas Negroponte bezeichnete Informationen als globale Währung des 21. Jahrhunderts (1995)
  • Zunehmende Informationsflut erfordert computergestützte Systeme für Entscheidungsfindung bei komplexen Aufgaben

Dateisysteme

  • Probleme, die bei dieser Art der „Datenverwaltung“ auftreten o keine Querabfragen möglich / keine Datenübertragung möglich Redundanz (Mehrfachspeicherung) --> negativ: Speicherplatz/Aufwand / positiv: Sicherung keine automatischer Abgleich (z.B. bei Änderungen)  Gefahr der o Dateninkonsistenz o Datenschutz / Datensicherheit (Zugangsbeschränkungen / Zugriffsrechte)
  • Lösung: zentrale Datenspeicherung

Begriffsbestimmung

  • Komplexe Anwendungssysteme nutzen heute vorgefertigte, standardisierte Komponenten.
  • Bei der Datenhaltung setzt man auf Datenbanksysteme.
  • Ein Datenbanksystem besteht aus der Verwaltungssoftware (Datenbankmanagementsystem - DBMS) und den gespeicherten Daten (Datenbasis oder Datenpool).
  • Benutzer greifen nicht direkt auf die Datenbasis zu; alle Operationen erfolgen über das Datenbankmanagementsystem.
  • Aufgaben wie Daten abfragen, ändern und löschen werden durch das DBMS ausgeführt
  • Bekannte Datenbankmanagementsysteme (DBMS): MySQL, MS SQL Server, Oracle DB.
  • Funktionen eines DBMS: o Verwaltung der Sicherheit:  Zugriffsrechte (lesen, schreiben) für Benutzer  Benutzergruppen (Rollen) für gemeinsame Zugriffsrechte  Schutz vor unbefugtem Datenzugriff o Verwaltung mehrerer Anwender:  Parallelbearbeitung von Datensätzen  Vermeidung von Datenverlust bei gleichzeitigem Bearbeiten o Datensicherung/Wiederherstellung:  Automatisierte Backup-Verfahren  Umfangreiche Recovery-Möglichkeiten o Sprachen für Datenbankzugriffe:  SQL als etablierte Abfragesprache  Möglichkeit für Ad-hoc-Abfragen  API als Schnittstelle zu Programmiersprachen o Bereitstellung von Kommunikationswegen:

 Implementierung von Kommunikationsprotokollen  Nutzung herkömmlicher Netzwerkprotokolle (TCP/IP) o Wahrung der Datenintegrität:  Definition von Regeln zur Maximierung der Datenintegrität  Beispiel: Eingabeüberprüfung vor Speicherung neuer Datensätze o Weitere Funktionen eines DBMS:  Data-Warehouse, Datamining, Analyse, Entscheidungshilfe

ANSI-SPARC-Modell ("3-Tier")

  • Vorteile moderner Datenbanksysteme:

o Hohe Datenunabhängigkeit ermöglicht Zugriff ohne Details der technischen

Umsetzung zu kennen.

o Möglichkeit, verschiedenen Benutzern unterschiedliche Sichtweisen auf die

Datenbank zu bieten.

  • Dreistufige Schemaarchitektur (ANSI/SPARC-Komitee):

o Externe Ebene:

 Benutzersichten ("Views") auf Daten oder Teilausschnitte.

 Rechteverwaltung für gezielten Zugriff von Benutzern oder Gruppen.

o Konzeptionelle Ebene:

 Logische Darstellung der Gesamtsicht der Daten.

 Ziel: Unternehmensgesamtsicht ohne detaillierte Kenntnisse über

Abläufe.

 Zweistufiges Verfahren: Konzeptionelles Schema (z.B. ER-Modell) ->

Logisches Datenbankschema.

 Unabhängig von der konkret eingesetzten Datenbanksoftware.

 Verwaltet primär von Datenbankentwicklern.

o Interne Ebene:

 Beschreibt die konkrete physikalische Realisierung von Software auf

Hardware.

 Betreut primär von Datenbankadministratoren.

Externe Ebene „Benutzersicht“, Anwendungen  Verschiedene (neue) Anwendungen (z.B. Benutzeroberflächenwechsel)  Design-Änderungen etc.  … Konzeptionelle Ebene "Daten und ihre Beziehungen", Funktionalität  Änderung der Funktionalität, z.B. neuer Algorithmus „Ähnliche Seiten“  …

o m:n-Beziehung: Einer Entität des Typs A können mehrere Entitäten des Typs B zugeordnet werden, und umgekehrt (Beispiel: Lehrer und Schüler)

  • Optionalität zwischen Entitätstypen: o Gibt an, ob eine Entität des Entitätstyps 2 mit einer Entität des Entitätstyps 1 in Beziehung stehen muss oder optional ist
  • Schwacher Entitätstyp: o Identifikation der Entitäten erfolgt nicht durch eigene Attribute, sondern durch eine zusätzliche Beziehung zu einer Entität eines übergeordneten Entitätstyps. o Dargestellt durch Rechtecke mit einer Doppellinie im ER-Diagramm. o Ein Pfeil zeigt zum übergeordneten Entitätstyp.
  • Generalisierung bzw. Vererbung in der Datenmodellierung: o Ein Entitätstyp (Untertyp) ist ein spezialisierter Typ eines übergeordneten Entitätstyps (Obertyp) und enthält normalerweise zusätzliche Attribute. o Is-a-Beziehung mit Kardinalität 1:1 und optionaler Verbindung (muss:kann). o Beispiel:  In einer Firma gibt es Angestellte und Arbeiter als Arbeitnehmer.  Ein Angestellter oder Arbeiter ist immer auch ein Arbeitnehmer.  Im Relationenmodell wird ein Angestellter durch die Personalnummer identifiziert: `Angestellter( ↑PersonalNr, RaumNr, TelefonNr)
  • Rekursive Beziehung in der Datenmodellierung: o Beziehung zwischen Entitäten, die demselben Entitätstyp angehören.
  • Parallelbeziehungen in der Datenmodellierung: o Mehrere Beziehungen können zwischen zwei Entitätstypen bestehen.
  • Ternäre Beziehungen in der Datenmodellierung: o In den meisten Fällen genügen binäre Beziehungen im ER-Modell. o In bestimmten Situationen sind jedoch drei oder mehr Entitätstypen an einer Beziehung beteiligt, und eine ternäre Beziehung wird benötigt
  • ehrwertige Attribute im ER-Diagramm: o Werden, wie z. B. die Fächer einer Lehrkraft, in einem Oval mit Doppellinie dargestellt. o Überführung in das Relationenmodell:  Zur Einhaltung der 1. Normalform wird eine eigene Relation für die mehrwertigen Attribute benötigt.

 Die Überlegung, einen eigenen Entitätstyp anzulegen, wird vermieden,

um die Struktur zu vereinfachen und unnötige Komplexität zu vermeiden

Relationales Datenbankmodell

  • ER-Modell in das relationale Datenbankmodell umwandeln: o Konzeptioneller Entwurf (ER-Modell) ermöglicht unabhängige Darstellung von Realität durch Entitätstypen und Beziehungen. o Logischer Entwurf: Umsetzung des konzeptionellen Modells in ein bestimmtes Datenbankmodell (z.B., relationales Modell).
  • Umwandlung der Entitätstypen: o PROFESSOR (ProfID, PName, Fach) o STUDENT (StudID, SName, Semester) o DOKTORAND (DokID, DName, Thema) o Primärschlüssel unterstrichen.
  • Umwandlung der Beziehungstypen: o 1:1-Beziehung: Primärschlüssel der verknüpften Entitätstypen wird zum Primärschlüssel der Beziehungsrelation. o n:m-Beziehung: Beide Primärschlüssel der verknüpften Entitätstypen werden zum zusammengesetzten Primärschlüssel der Beziehungsrelation. o 1:n-Beziehung: Primärschlüssel der "n-Entität" wird zum Primärschlüssel der Beziehungsrelation. o Beispiele:  betreut (ProfID, DokID)  lehrt (ProfID, StudID)
  • Optimierung des Relationenmodells unter bestimmten Bedingungen: o Mögliche Optimierung, wenn es sich nicht um eine n:m-Beziehung handelt. o Wenn zwei Relationen identische Primärschlüssel besitzen, können sie zusammengefügt werden. o Beispiel:  DOKTORAND (DokID, DName, Thema)  betreut (ProfID, DokID) o Zusammengefasste Relation:  DOKTORAND_betreut (DokID, DName, Thema, ↑ProfID) o "ProfID" wird zum Fremdschlüssel, der auf den Primärschlüssel einer anderen Relation verweist o Achtung: Diese Optimierung nur bei obligatorischen Beziehungen
  • Fremdschlüssel (Foreign Key) in relationalen Datenbanken: o Bestandteil einer Relation/Tabelle.
  1. Jedes Nichtschlüsselattribut ist nicht transitiv vom Primärschlüssel abhängig, d.h., aus keinem Nichtschlüsselattribut folgt ein anderes Nichtschlüsselattribut.

SQL

  • SQL (Structured Query Language):
    1. Sprache für Datenbankoperationen, ermöglicht Abfragen und Administrationsaufgaben wie Einrichten und Verändern von Datenbanken und Tabellen, Einstellen von Zugriffsrechten, usw.
  • SQL-Standard:
    1. In vielen Punkten vage, gibt den Entwicklern von Datenbankmanagementsystemen großen Gestaltungsspielraum.
    2. Selbst mit dem Standard konforme DBMS sind nur eingeschränkt kompatibel.
  • Teilsprachen von SQL:
    1. Data Query Language (DQL): Durchführung von Datenbankabfragen, hauptsächlich mit dem SELECT-Kommando.
    2. Data Manipulation Language (DML): Veränderung von Daten, umfasst INSERT, UPDATE, DELETE sowie Kommandos zur Transaktionskontrolle. Manchmal wird SELECT auch zur DML gezählt.
    3. Data Definition Language (DDL): Veränderung der Datenbankstruktur, z. B. CREATE DATABASE oder ALTER TABLE.
    4. Data Control Language (DCL): Zugriffssteuerung, z. B. CREATE USER und GRANT

SQL SELECT

  • Wird verwendet, um Daten aus einer Datenbank auszuwählen. Die zurückgegebenen Daten werden in einer Ergebnistabelle, dem sogenannten Result Set, gespeichert
  • Unbedingt erforderliche Bestandteile: o Schlüsselwort SELECT o Liste von Spalten (oder '*' für alle Spalten) o Schlüsselwort FROM mit einem oder mehreren Verweisen auf Tabellen
  • Optionale Bestandteile (in genauer Reihenfolge): o Select o [ DISTINCT | ALL ] o