Hallo

Datenbankssystem (entstanden in den 1960er Jahren): besteht aus der Datenbasis (= Daten) und dem (erst später entwickelten) Datenbankmanagementsystem (= Datenverwaltungsprogramm, z.B. MySQL, Oracle)

Ein Datenbanksystem hat im Sinne der vom "Standards Planning And Requirements Committee" des "American National Standards Institute" entwickelten ANSI/SPARC-Architektur (entwickelt um 1975) drei Schemata bzw. Ebenen:

  • das interne Schema (hier befinden sich die Daten, ihre Sortierung, die Strukturen, etc.)
  • das konzeptionelle Schema (beschreibt die logischen Dateneinheiten, i. d. Sinne Entities und die Struktur) und
  • das externe Schema (Verbindung eines Benutzers zur Datenbank)
  • Eine Datenbank wird über ein Datenmodell geplant. Es gibt zwei Modellarten bei relationalen Datenbanken:

  • ER-Modell
  • Das Entity-Relationship-Modell (entwickelt um 1976) ist ein Modell, das dazu dient, Datenbanken zu beschreiben. Es hat vier Grundelemente:

  • Entität (Entity) - rechteckig dargestellt
  • die Entität ist der Tabellentitel einer Tabelle innerhalb des ER-Modells

  • Attribute - rund dargestellt
  • Attribute sind die Spaltentitel einer Tabelle. Ein Datensatz hat jedes Attribut der Tabelle bzw. Entität, zu der er gehört, einmal

  • Beziehungen - mit verbindenden Strichen dargestellt
  • Beziehungen bestehen zwischen den Entitäten bzw. Tabellen. Je nach dem, ob zwei Tabellen sinngemäß in Verbindung stehen, besteht eine Beziehung zwischen den Tabellen.

  • Kardinalitäten - in einer Raute auf einer Verbindungslinie dargestellt
  • Kardinalitäten bestimmen die Beziehungsart einer Beziehung zwischen zwei Tabellen. Diese wird sinngemäß beurteilt und kann die Werte "n : 1", "1 : n" und "m : n" haben.

    Um ein ER-Modell aus einer verbalen Beschreibung zu entwerfen werden die vier Elemente in der vorherigen Reihenfolge gesucht (zuerst die Entitäten, dann die Attribute, ...) und zuletzt die Primärschlüssel bestimmt. Substantive mit im Text zu findenden Eigenschaften sind oft Entitäten. Verben sind üblicherweise die Beziehungen, die Kardinalitäten werden von einem einzigen Objekt ausgehend zur gegenüberstehenden Seite betrachtet und der erdachte Wert gegenüber eingetragen, das ganze nochmal umgekehrt.

  • Relationales Datenbankmodell
  • ein relationales Datenbankmodell besteht aus Tabellen, die zueinander miteinander in Beziehung stehen können. Im Vergleich zum vorherigen ER-Modell besteht überall da eine neue Tabelle, wo eine m:n-Beziehung zwischen zwei Entitäten besteht. Attribute im ER-Modell sind die Spaltennamen einer Tabelle im relationalen Modell. Zwei gleiche Spalten von "1:n" oder "n:1" miteinander in Beziehung stehenden Tabellen sind in ihren Tabellen Primärschlüssel (auf der "1"-Seite) oder Fremdschlüssel (auf der "n"-Seite)

    Um ein ER-Modell in ein relationales Datenbankmodell umzuwandeln werden zunächst die Entitäten mit ihren Attributen in Tabellen umgewandelt, wobei die Entität dem Tabellentitel und die Attribute den Tabellenspalten entsprechen. Nun wird ein Primärschlüssel pro Tabelle gefunden oder erstellt. Aus jeder m:n-Beziehung wird eine neue Tabelle gebildet. Die Primärschlüssel der zwei Tabellen sind die Fremdschlüssel in der sogenannten Kreuztabelle. Bei jeder 1:n- bzw. n:1-Beziehung wird in der Tabelle auf der n-Seite im mit der Tabelle auf der 1-Seite übereinstimmenden Feld der oder die Fremdschlüssel eingetragen und auf der 1-Seite im Feld mit der gleichen Bezeichnung der Primärschlüssel.

    Es gibt drei Betriebsarten von Datenbanken:

  • Stand-Alone-Datenbank

    Datenbank und Datenbankprogramm befinden sich auf dem lokalen Computer

  • File-Share-Datenbank

    Das Datenbankprogramm befindet sich auf dem lokalen Computer, die Datenbank selbst aber auf dem Server

  • Client-Server-Datenbank

    Sowohl Datenbank als auch Datenbankprogramm befinden sich bei einer Client-Server-Datenbank auf einem Server

  • Datenbanken lassen sich grob in drei Kathegorien aufteilen:

  • Hierarchische Datenbanken

    Hierarschische Datenbanken (entwickelt in den 1960er Jahren) gehören zu den ältesten Datenmodellen. In Form einer Baumstruktur ist es einfach aufgebaut. Es wird teils noch in Dateisystemen in Betriebsystemen, darüber hinaus bei Banken und Versicherungen. Hierarchische Dateien werden im Format XML (extensible Markup Language, dt. erweiterbare Auszeichnungssprache) gespeichert. Ein Datensatz in einer hierarchischen Datenbank (Ausnahme: der erste Datensatz) hat genau eine Beziehung zu seinem Datenvorgänger.

    Netzwerkdatenbanken

    Eine Netzwerkdatenbank (entwickelt um 1971) ist eine erweiterte hierarchische Datenbank, durch die mehr Beziehungen unter den Datensätzen möglich sind.

  • Relationale Datenbanken

    Relationale Datenbanken (entwickelt um 1970) bestehen aus Tabellen, die miteinander in Relation stehen. Relationale Datenbankmanagementsysteme sind beispielsweise DB2, SQLite, MSAccess, Skybase, MySQL, Oracle Database, SAP DB, MariaDB und MS SQL Server

  • NoSQL Datenbanken

    NoSQL Datenbanken ("Not-Only-SQL-Datenbanken"; entwickelt um 1998) können besser mit großen Datenmengen umgehen als herkömmliche relationale Datenbanken, benötigen dafür aber eine bessere Rechenleistung. NoSQL-Datenbanken werden nochmals unterteilt:

    Objektorientierte Datenbanken

    Objektorientierte Datenbanken (entwickelt Ende der 1980er Jahre) benötigen ein Objektdatenbankmanagementsystem. Es werden keine Daten, sondern ganze Objekte aus mehreren Dateitypen in der Datenbank verwaltet bzw. gespeichert mit jeweils absolut eindeutigen OIDs (ObjektIDs). Objekte enthalten Eigenschaften und die Beschreibung für die Bearbeitung dieser Eigenschaften.

    Objektrelationale Datenbanken

    Objektrelationale Datenbanken (entwickelt Anfang der 1990er Jahre) sind relationale Datenbanken, die anstatt Daten, Objekte verwalten bzw. speichern.

    Dokumentenorientierte Datenbanken

    Dokumentenorientierte Datenbanken (entwickelt Anfang der 1970er Jahre) bestehen aus Dokumenten ohne einheitliches Format und mit einem eindeutigen Identifikationsfaktor. Dokumentenorientierte Datenbankmanagementsysteme sind beispielsweise MongoDB, eXist und BaseX. Die erste dokumentenorientierte Datenbank speicherte klassische Notizzettel

    Graphen-Datenbanken

    Graphen-Datenbanken (entwickelt um 2000) bestehen aus Graphen zur Darstellung stark vernetzter Informationen. Sie speichern Knoten (Punkte) und Kanten (Verbindungen). Knoten repräsentieren ein Datenobjekt, die Kanten ihre Verbindung zu einem anderen Knoten. Dafür wären in einer relationalen Datenbank vergleichsweise aufwändige Join-Operationen notwendig.

    Spaltenorientierte Datenbanken

    In Spaltenorientierten Datenbanken (entwickelt in den frühen 1970er Jahren) wird ein Datensatz nicht horizontal in einer Zeile gespeichert, sondern vertikal in einer Spalte der Tabelle. Das kann Zeitersparnisse verursachen, die auf der Funktionsweise einer Festplatte beruhen. Wenn beispielsweise die Summe der Werte in einer Spalte (relationale Datenbank) bzw. einer Zeile (Spaltenorientierte Datenbank) ausgelesen wird, kann dies erheblich schneller in einer spaltenorientierten Datenbank erfolgen. Beispiele für spaltenorientierte Datenbankmanagementsystem sind Apache Cassandra und Skybase IQ.

    Key-Value-Datenbanken
  • Key-Value-Datenbanken (entwickelt um 1979) sind Datenbanken, die zur Verschlüsselung von Daten geeignet sind. Jeder zu verschlüsselnde Wert wird in Kombination mit einem sogenannten Hash-Wert gespeichert, über den man mittels einer Hasn-Funktion den verschlüsselten Wert verwenden kann.