MySQL

  • Datenbanksysteme, oder kurz Datenbanken, dienen der dauerhaften, effizienten und widerspruchsfreien Speicherung großer Datenmengen
  • Ein Datenbanksystem besteht aus dem Datenspeicher (auch Datenbasis) und aus dem Datenbankmanagement-system (kurz DBMS)
  • Die Struktur in der die Daten in einem Datenbanksystem gespeichert werden, wird als Datenbankmodell bezeichnet
  • Eine Datenbanksprache ist eine formale Sprache, mit Hilfe derer ein Anwender oder ein Programm mit einem Datenbankmanagementsystem kommunizieren kann
  • Die am weitesten verbreitete Datenbanksprache für relationale Datenbanken ist SQL (Structured Query Language)
  • ...mehr lesen...

  • Eine relationale Datenbank ist eine Datenbank, die auf dem tabellenbasierten relationalen Datenbankmodell basiert
  • Eine Relation ist eine mathematische Beschreibung einer Tabelle und besteht aus Attributen (Feldern / Spalten) und Tupeln (Datensätzen / Zeilen)
  • Mit Hilfe von Verknüpfungen können in relationalen Datenbanken Beziehungen zwischen Tabellen definiert werden
  • Die Verknüpfungen erfolgen über eindeutig identifizier-bare Felder, die auch als Schlüssel bezeichnet werden
  • Die relationale Algebra definiert eine Menge von Operationen zur Manipulation von Relationen in relationalen Datenbanken
  • ...mehr lesen...

  • Unter Datenmodellierung wird bei Datenbanken das Erstellen des Datenbankschemas verstanden
  • Das Datenbankschema legt fest, welche Daten in der Datenbank gespeichert werden und welche Beziehungen sie zueinander haben
  • Das konzeptuelle Datenbankschema ist eine abstrakte, formale Beschreibung und Darstellung des entsprechen-den Ausschnitts der realen Welt
  • Das logische Datenbankschema wird aus dem konzep-tuellen Datenbankschema entwickelt und erweitert das Modell um datentechnische Angaben, wie z. B. Feldformate
  • Beim physischen Datenbankschema werden zur Erstellung der Datenbank alle Angaben in der entsprechenden Syntax des verwendeten DBMS (Datenbankmanagementsystem) formuliert
  • ...mehr lesen...

  • Das Entity-Relationship-Modell (kurz ER-Modell oder ERM) wird für den Entwurf von relationalen Datenbanken im Rahmen der semantischen Datenmodellierung verwendet
  • Bei der Modellierung werden von den individuellen realen Objekten allgemeingültige Typen, die Entitätstypen, abgeleitet
  • Aus gleichartigen Eigenschaften der individuellen Entitäten werden bei der Typisierung die Attribute der Entitätstypen
  • Attribute oder Attributskombinationen, mit denen Entitäten eindeutig identifiziert werden können, werden Primärschlüssel genannt
  • Mit Hilfe von Beziehungen werden Zusammenhänge zwischen Entitäten definiert und aus gleichartigen Beziehungen werden Beziehungstypen abgeleitet
  • Die Kardinalität legt bei Beziehungstypen fest, mit wie vielen Entitäten eines Entitätstyps eine Entität eines anderen Entitätstyps eine Beziehung eingehen kann
  • Die im Rahmen des ER-Modells definierten Entitätstypen, Attribute und Beziehungstypen lassen sich mit Hilfe von ER-Diagrammen grafisch darstellen
  • ...mehr lesen...

  • Mit Hilfe der Normalisierung werden in relationalen Datenbankschemata Redundanzen vermieden oder beseitigt
  • Redundanz bedeutet, dass Informationen mehrfach vorhanden sind
  • Bei Datenbanken führt Redundanz zu erhöhtem Speicherbedarf und Inkonsistenzen
  • Bei der Normalisierung werden Attribute (Spalten) so auf mehrere Relationen (Tabellen) aufgeteilt, dass keine oder weniger redundanten Informationen gespeichert werden
  • Der Prozess der Normalisierung erfolgt in mehreren Stufen, die als Normalformen bezeichnet werden
  • In den meisten Fällen ist die dritte Normalform ausreichend, die eine gute Ausgewogenheit zwischen Redundanz, Performance und Flexibilität bietet
  • ...mehr lesen...

  • Die referentielle Integrität definiert Regeln, zur Erreichung und Sicherung der Integrität von Daten in Datenbanken
  • Die RI-Regeln definieren Bedingungen, wie Datensätze in Datenbanken eingefügt und gelöscht werden dürfen, damit die Integrität der Daten erhalten bleibt
  • Ein Datensatz mit einem Fremdschlüssel darf nur dann in eine Tabelle eingefügt werden, wenn in der referenzierten Tabelle ein Datensatz mit einem passenden Schlüssel existiert
  • Ein Datensatz, dessen Schlüssel in einer anderen Tabelle als Fremdschlüssel verwendet wird darf nicht gelöscht und sein Schlüssel nicht verändert werden
  • Die technische Umsetzung der referentiellen Integrität erfolgt über Fremdschlüssel
  • Das DBMS prüft mit Hilfe von Schlüsseln, dass beim Einfügen und Löschen von Datensätzen nur Verweise auf existierende Datensätze entstehen bzw. bestehen bleiben
  • ...mehr lesen...

  • Als Transaktion wird in der Informatik eine Abfolge von Teilaktionen bezeichnet, die entweder fehlerfrei und vollständig oder gar nicht durchgeführt wird
  • Tritt bei einer Teilaktion einer Transaktion ein Fehler auf, muss die Transaktion abgebrochen und alle bisherigen Änderungen rückgängig gemacht werden (Rollback)
  • Transaktionen verhindern, dass in Datenbanken ein inkonsistenter Zustand entsteht, selbst wenn bei der Durchführung von Aktionen Fehler auftreten
  • In der Informatik wurden vier Eigenschaften definiert, die Transaktionen haben müssen: Atomarität, Konsistenz, Isolation und Dauerhaftigkeit (ACID-Eigenschaften)
  • Werden bei MySQL SQL-Anweisungen zwischen „START TRNSACTION“ und „COMMIT“ ausgeführt, werden sie erst nach „COMMIT“ fest in die Datenbank geschrieben
  • Tritt ein Fehler bei einer SQL-Anweisung innerhalb einer Transaktion auf, können alle SQL-Anweisungen nach „START TRANSACTION“ mit „ROLLBACK“ wieder zurückgesetzt werden
  • ...mehr lesen...

  • MySQL ist eines der weltweit am weitesten verbreiteten relationalen Datenbankmanagementsysteme
  • MySQL gibt es als kostenlose Open-Source-Software unter der GPL-Lizenz und als kostenpflichtige proprietäre Software mit zusätzlichen Tools (u. a. Monitoring und Backup) und 24x7 Support
  • MySQL ist für die Betriebssysteme Windows, Linux, macOS und verschiedene Unix-Varianten verfügbar und bietet zahlreiche Schnittstellen (API‘s) für Programmier-sprachen wie z. B. Java, .NET oder PHP
  • MySQL bietet mehrere verschiedene Speicherengines an, die für das effektive Speichern und Abfragen von Daten zuständig sind
  • MySQL bietet verschiedene Verfahren zur Partitionierung an, mit denen Daten aufgeteilt und separat gespeichert werden können
  • Um alle SQL-Anweisungen möglichst performant zu bearbeiten, verwendet MySQL den Query-Cache und den Optimizer
  • Zur Verwaltung der MySQL-Datenbanken können der  MySQL-Kommandozeilen-Client oder die MySQL-Workbench verwendet werden, sowie Werkzeuge anderer Hersteller, wie z. B. Heidi-SQL oder PHPMyAdmin
  • ...mehr lesen...

  • Die Installation des MySQL Community Servers auf Winsows-Systemen erfolgt am einfachsten über den MySQL-Installer für Windows
  • Der MySQL-Installer für Windows kann auf der folgenden Seite heruntergeladen werden:
    https://dev.mysql.com/downloads/mysql/
  • Ob die Installation erfolgreich war kann z. B. durch das Starten der Workbench getestet werden
  • Werden in der Workbench auf der linken Seite die mitgelieferten Datenbanken (Schemata) angezeigt war die Installation erfolgreich
  • ...mehr lesen...

  • MySQL gibt es neben Windows auch für Linux, MacOS und weitere Betriebssysteme
  • Auf Ubuntu wird der MySQL-Datenbankserver und die MySQL-Workbench mit zwei getrennten Paketen installiert
  • Der MySQL-Server kann unter Ubuntu aus den Paket-quellen mit dem Paketmanagment-System APT wie folgt installiert werden:
    sudo apt-get install mysql-server
  • Die Konfiguration von MySQL erfolgt über die Datei „mysqld.cnf“ im Verzeichnis „etc/mysql/mysql.conf.d/“
  • Die MySQL-Workbench kann unter Ubuntu aus den Paketquellen mit dem Paketmanagment-System APT wie folgt installiert werden:
    sudo apt-get install mysql-workbench
  • ...mehr lesen...

  • MySQL gibt es neben Windows auch für Linux, MacOS und weitere Betriebssysteme
  • Auf Manjaro wird statt MySQL MariaDB installiert
  • Der MariaDB-Server und die MySQL-Workbench werden mit zwei getrennten Paketen installiert
  • Der MariaDB-Server kann unter Manjaro mit Hilfe des Paketmanagers pacman wie folgt installiert werden:
    sudo pacman -S mysql
  • Der MariaDB-Server kann wie folgt gestartet werden:
    sudo systemctl start mariadb
  • Der MariaDB-Server kann wie folgt beendet werden:
    sudo systemctl stop mariadb
  • Die MySQL-Workbench kann unter Manjaro mit der Anwendung „Pamac“, zum hinzufügen und entfernen von Software, installiert werden
  • ...mehr lesen...

  • Der MySQL-Kommandozeilen-Client „mysql“ ist ein einfaches kommandozeilen-basiertes Werkzeug zur Bedienung eines MySQL-Servers mit Hilfe von SQL-Anweisungen
  • Der MySQL-Kommandozeilen-Client kann aus der Betriebssystem-Shell wie folgt gestartet werden:
    mysql -u root -h localhost -p
  • Ein Befehl besteht aus einer SQL-Anweisung, die durch ein Semikolon beendet wird
  • SQL ist nicht „case-sensitive“, was bedeutet, dass Groß- und Kleinschreibung keine Rolle spielt
  • Mehrere Abfragen in einem Befehl werden durch Komma getrennt
  • Mit „\c“ kann die aktuelle Eingabe beendet werden
  • Mit „exit“ kann der MySQL-Kommandozeilen-Client beendet werden
  • ...mehr lesen...