Datenbank Modelle ACID und BASE im Vergleich

Datenbanksysteme

In der Welt der Datenbanktechnologien sind zwei zentrale Konzepte weit verbreitet: das ACID-Modell, das typischerweise mit relationalen (SQL) Datenbanken assoziiert wird. Das BASE-Modell wird oft mit NoSQL-Datenbanken in Verbindung gebracht. Diese Modelle definieren die grundlegenden Eigenschaften, die von den jeweiligen Datenbanksystemen erwartet werden.

ACID-Modell

ACID steht für Atomicity, Consistency, Isolation und Durability. Dieses Modell wird in relationalen Datenbankmanagementsystemen (RDBMS) eingesetzt, um die Zuverlässigkeit und Genauigkeit von Transaktionen zu gewährleisten.

  • Atomicity (Atomarität): Jede Transaktion wird als eine einzelne Einheit betrachtet, die entweder vollständig erfolgreich ist oder gar nicht ausgeführt wird.
  • Consistency (Konsistenz): Transaktionen führen eine Datenbank von einem konsistenten Zustand in einen anderen über, ohne die Datenintegrität zu verletzen.
  • Isolation (Isolierung): Gleichzeitig ausgeführte Transaktionen beeinflussen sich nicht gegenseitig.
  • Durability (Dauerhaftigkeit): Sobald eine Transaktion abgeschlossen ist, bleiben die Änderungen dauerhaft erhalten, auch im Falle eines Systemausfalls.

BASE-Modell

BASE steht für Basically Available, Soft State und Eventually Consistent. Dieses Modell wird in NoSQL-Datenbanksystemen verwendet, um Flexibilität, Skalierbarkeit und Verfügbarkeit in verteilten Systemen zu gewährleisten.

  • Basically Available (Grundsätzlich verfügbar): Das System garantiert die Verfügbarkeit von Daten, auch wenn einige Teile des Systems ausgefallen sind.
  • Soft State (Weicher Zustand): Der Zustand des Systems kann sich mit der Zeit ändern, auch ohne Benutzereingriffe.
  • Eventually Consistent (Schließlich konsistent): Das System stellt sicher, dass, wenn keine neuen Updates mehr erfolgen, alle Replikationen der Datenbank nach einiger Zeit konsistent sind.

Vergleichstabelle

Eigenschaft ACID-Modell BASE-Modell
Datenintegrität Hoch Variabel
Flexibilität Gering Hoch
Skalierbarkeit Vertikal Horizontal
Konsistenz Strenge Konsistenz Eventuelle Konsistenz
Transaktionsmanagement Strikt und zuverlässig Locker und anpassungsfähig
Einsatzgebiet Traditionelle Unternehmensanwendungen Verteilte, skalierende Anwendungen

Fazit

Das ACID-Modell bietet hohe Datenintegrität und Zuverlässigkeit, was es ideal für Anwendungen macht, die strenge Konsistenz und Transaktionssicherheit erfordern, wie z.B. Bankensysteme. Allerdings kann es aufgrund seiner strengen Regeln zu Einschränkungen in Bezug auf Flexibilität und Skalierbarkeit kommen.

Im Gegensatz dazu bietet das BASE-Modell eine hohe Flexibilität und Skalierbarkeit, was es ideal für verteilte Systeme und Anwendungen mit großem Datenvolumen und hohen Benutzerzahlen macht, wie soziale Netzwerke oder Echtzeit-Analysen. Die eventuelle Konsistenz kann jedoch zu Herausforderungen in Anwendungen führen, die eine sofortige Datenkonsistenz erfordern.

Letztendlich hängt die Wahl zwischen ACID- und BASE-Modellen von den spezifischen Anforderungen und dem Kontext der jeweiligen Anwendung ab. Beide Modelle haben ihre Berechtigung und bieten unterschiedliche Vorteile, die je nach Einsatzgebiet entscheidend sein können.

 

IoT, Big Data und BI

In der modernen Geschäftswelt nimmt die Bedeutung von Daten stetig zu. Insbesondere durch die Entwicklung des Internets der Dinge (IoT) hat sich das Potenzial zur Datenerfassung und -analyse erheblich erweitert. IoT-Geräte, von Sensoren in Fabriken bis hin zu smarten Geräten im Einzelhandel und Industrie, ermöglichen es Unternehmen, kontinuierlich Daten in Echtzeit zu sammeln. Diese Daten bieten wertvolle Einblicke in verschiedene Business Prozesse und können dazu beitragen, diese Prozesse zu optimieren, die Effizienz zu steigern und letztlich den Gewinn zu maximieren.

Nachdem die Daten von den IoT-Geräten erfasst wurden, müssen sie verarbeitet und für Analysen vorbereitet werden. Hier kommt der ETL-Prozess ins Spiel. ETL steht für „Extrahieren, Transformieren und Laden“ (Extract, Transform and Load).

Extrahieren

Im ersten Schritt werden die Daten aus den unterschiedlichsten Quellen gesammelt.

Transformieren

Anschließend werden diese Daten bereinigt, transformiert und in ein standardisiertes Format überführt.

Laden

Schließlich werden die transformierten Daten in ein Data Warehouse (DWH)  geladen. Das ist eine spezialisierte Datenbank, die dafür optimiert ist, große Mengen von Daten zu speichern und komplexe Abfragen effizient auszuführen.

 

Sobald die Daten im Data Warehouse liegen, können sie mit Analyse-Tools wie QlikView geladen werden. QlikView ist eine Business-Intelligence-Plattform, die es Nutzern ermöglicht, Daten zu visualisieren, Dashboards zu erstellen und durch Analyse tiefe Einblicke in ihre Daten zu gewinnen. Unternehmen können QlikView verwenden, um Muster und Trends in ihren Daten zu identifizieren, was letztlich zu fundierteren Entscheidungen und besseren Geschäftsergebnissen führt.

Fazit

Durch die Kombination von IoT-gewonnenen Daten, dem ETL-Prozess und Analyse-Tools wie QlikView können Unternehmen wertvolle Erkenntnisse aus ihren Daten ziehen und ihre Geschäftsprozesse kontinuierlich verbessern. Dieser Prozess bietet nicht nur eine verbesserte Effizienz, sondern auch die Möglichkeit, auf verändernde Marktbedingungen und Kundenbedürfnisse proaktiv zu reagieren.

 

 

Der ETL Prozess bei Big Data

ETL Prozess

Der ETL-Prozess ist eine Abkürzung für Extraktion, Transformation und Laden. Es ist ein wesentlicher Aspekt der Datenverwaltung und insbesondere der Verarbeitung von Daten bei Big Data.

Schaubild des ETL Prozesses

Er beginnt mit der Extraktion von Daten aus verschiedenen Quellen, die strukturiert, halbstrukturiert oder unstrukturiert sein können.

Nach der Extraktion werden die Daten transformiert, das heißt, sie werden gereinigt, bereinigt, validiert und in ein Format überführt, das von der Ziel-Datenbank gelesen werden kann. Dieser Schritt kann auch die Anreicherung von Daten mit zusätzlichen Informationen und die Durchführung komplexer Berechnungen beinhalten.

Schließlich werden die transformierten Daten in eine Zieldatenbank oder ein Data Warehouse geladen, wo sie für die Anwender im Intranet  zu Analyse- und Auswertungszwecken leicht zugänglich sind.

 

 

Internet der Dinge oder IoT, was ist das?

IoT steht für das Internet der Dinge (Internet of Things). Es bezieht sich auf das Konzept, dass physische Objekte und Geräte miteinander und mit dem Internet verbunden sind. Die Geräte sind in der Lage, Daten auszutauschen und miteinander zu kommunizieren.

Im IoT werden Objekte und Geräte mit Sensoren ausgestattet, die Daten über ihre Umgebung, ihren Zustand oder ihre Leistungsfähigkeit erfassen können. Diese Daten werden dann über Netzwerkverbindungen, wie z. B. drahtlose oder kabelgebundene Verbindungen, an andere Geräte, Systeme oder Cloud-Plattformen übertragen. Dort werden die Daten verarbeitet, analysiert und genutzt, um Erkenntnisse zu gewinnen, Aktionen auszulösen oder Entscheidungen zu treffen.

Durch das IoT werden verschiedene Bereiche des täglichen Lebens und der Industrie transformiert.

IoT Industrie

Beispiele für IoT-Anwendungen im Smart Home

Das Internet der Dinge bietet eine breite Palette von Einsatzmöglichkeiten im smarten Zuhause, in dem vernetzte Geräte und Systeme zu einem intelligenten und automatisierten Wohnraum führen.

1. Hausautomatisierung durch Steuerung, Vernetzung und Sensorik

IoT ermöglicht die Steuerung verschiedener Aspekte des Hauses, einschließlich Beleuchtung, Heizung, Klimatisierung und Sicherheitssysteme. Durch vernetzte Geräte und Sensoren können Benutzer diese Systeme fernsteuern und automatisierte Zeitpläne oder Szenarien erstellen, um Energie zu sparen und den Komfort zu verbessern.

2. Energieeffizienz erhöhen

Durch das Internet der Dinge wird der Energieverbrauch im Smart Home optimiert. Durch Sensoren und intelligente Thermostate können Heizung und Kühlung automatisch an anwesende Personen oder wechselnde Umgebungsbedingungen angepasst werden. Basierend auf Bewegungserkennung und Tageslichtstärke steuern smarte Beleuchtungssysteme die Beleuchtung. Dadurch können Energieeinsparungen erzielt werden.

3. Überwachung ermöglichen

IoT-basierte Sicherheitssysteme ermöglichen die Fernüberwachung des Hauses. Durch vernetzte Kameras, Bewegungsmelder und Tür- und Fenstersensoren erhalten Benutzer Benachrichtigungen bei verdächtigen Aktivitäten. Zugriffskontrollen und Gebäude können auch von Dritten überwacht werden.

4. Haushaltsgeräte und Haushaltsmanagement optimieren

Vernetzte Haushaltsgeräte wie intelligente Kühlschränke, Waschmaschinen oder Staubsaugerroboter können mit dem Internet verbunden werden. Benutzer können diese Geräte über ihre Smartphones steuern, den Betriebsstatus überwachen oder Benachrichtigungen über beendete Aufgaben erhalten. IoT-fähige Geräte können auch die Verbrauchsdaten sammeln, um Ressourcen zu optimieren und die Wartung anmelden.

5. Gesundheits- und Wohlbefinden erhöhen

IoT kann auch bei der Überwachung der Gesundheit und des Wohlbefindens von Personen helfen. Wearables wie Smartwatches oder Fitnesstracker können Daten, wie Herzfrequenz oder Schlafverhalten, sammeln und an das Smart Home-System senden. Dies ermöglicht die Anpassung von Beleuchtung, Temperatur oder Musik, um eine angenehme Atmosphäre zu schaffen.

Diese Einsatzmöglichkeiten zeigen, wie IoT die Funktionalität und den Komfort im Smart Home verbessern kann. Durch die Vernetzung von Geräten und die Integration von Automatisierung und intelligenten Funktionen können Benutzer Energie sparen, die Sicherheit erhöhen und den Wohnkomfort steigern. Es zeigt aber auch, die Gefahren, die George Orwell in seinem berühmten Buch 1984  und Aldous Huxley in Schöne Neue Welt beschrieben haben.

Das Internet der Dinge im Kontext der smarten Fabriken

Das IoT spielt eine entscheidende Rolle bei der Umsetzung von Smart Factories, auch bekannt als Industrie 4.0. Dazu einige Beispiel des IoT in Smart Factories.

1. Überwachung und Steuerung von Anlagen

Durch die Integration von Sensoren in Maschinen und Anlagen können Echtzeitdaten über deren Zustand und Leistung gesammelt werden. Das ermöglicht eine kontinuierliche Überwachung, Fehlererkennung und präventive Wartung. Es ermöglicht die automatisierte Fernüberwachung und -steuerung von Maschinen, was die Effizienz verbessert und Ausfallzeiten reduziert.

2. Lagerbestandsverwaltung automatisieren

Mit Kameras und Sensoren können Lagerbestände automatisch überwacht und verfolgt werden. Dies ermöglicht eine präzise Bestandsverwaltung, eine automatische Nachbestellung bei Bedarf, sowie die Optimierung des Lagerlayouts und der Materialflüsse.

3. Supply Chain Management optimieren und überwachen

Die Transparenz und Effizienz in von Lieferketten werden mit IoT weiter verbessert. Sensoren können mit RFID den Standort von Produkten oder Komponenten verfolgen. Die Temperatur und Feuchtigkeit während des Transports werden mit Sensoren überwacht und liefern Echtzeitinformationen über den Lieferstatus und die Qualität. Dadurch können Schäden, Engpässe oder Verzögerungen frühzeitig erkannt und Maßnahmen ergriffen werden.

4. Qualitätskontrolle durch Überwachung und Steuerung

IoT-Sensoren werden in Fertigungsprozessen eingesetzt, um die Qualität zu überwachen und steuern. Durch die Echtzeitüberwachung können Abweichungen von der Spezifikation sofort erkannt werden.

5. Effizienz und Sicherheit verbessern

Das Internet der Dinge unterstützt bei der Sicherheit am Arbeitsplatz und steigert die Effizienz der Arbeitskräfte. Zum Beispiel können vernetzte Sensoren in Echtzeit Informationen über die Arbeitsbedingungen liefern, um potenzielle Gefahren zu erkennen und rechtzeitig Maßnahmen zu ergreifen. Wearables und vernetzte Geräte können die Zusammenarbeit und Kommunikation zwischen den Mitarbeitern verbessern.

Vorteile des IoT

Die Vorteile des IoT liegen in der Möglichkeit, umfassende Daten aus der physischen Welt zu sammeln und zu nutzen, um fundierte Entscheidungen zu treffen, Effizienz zu steigern, Kosten zu senken, neue Dienstleistungen zu entwickeln und das tägliche Leben zu verbessern.

Nachteile von IoT

Nachteile durch IoT sind noch zu lösende Probleme, wie die Sicherheit und den Datenschutz der gesammelten Daten. Auch die Wartungs- und Updatemöglichkeit bei kostengünstigen IoT Geräten, sowie bei der Interoperabilität und Skalierbarkeit von IoT-Systemen sind teilweise ungelöst.

Fazit

Die Einsatzmöglichkeiten des Internet der Dinge in smarten Fabriken zeigen, wie die Flexibilität und Anpassungsfähigkeit in der Fertigung verbessern kann. Durch die Integration von IoT in die industrielle Automatisierung können Unternehmen Wettbewerbsvorteile erzielen und auf die sich ändernden Anforderungen des Marktes reagieren. Es gibt aber wachsende ungelöste Probleme, auf die bereits George Orwell in seinem Buch 1984  und Aldous Huxley in Schöne Neue Welt und viele weitere Autoren hingewiesen haben.

 

siehe auch Smart City NEOM

 

CSV zum Austausch von Daten nutzen

Komma-separierte Werte (CSV heißt Comma Separated Value) sind ein lange genutztes und weit verbreitetes Datenformat, das zum Austausch von Daten zwischen verschiedenen Systemen verwendet wird. CSV ist besonders nützlich, wenn es darum geht, strukturierte Daten in einer einfachen, menschenlesbaren Form zu speichern und zu übertragen.

Was ist CSV?

CSV ist ein Dateiformat, das verwendet wird, um Tabellendaten zu speichern. Es besteht aus Zeilen und Spalten, wobei jede Zeile eine Datensatz darstellt und die Spalten die verschiedenen Datenfelder enthalten. Die Werte innerhalb der Spalten werden durch ein Trennzeichen, normalerweise ein Komma, voneinander getrennt. Dadurch entsteht eine einfache Struktur, die leicht zu lesen und zu verarbeiten ist.

Beispiel mit Trennzeichen und Feldnamen

Angenommen, wir haben eine einfache Tabelle mit den Namen von Personen und ihren zugehörigen E-Mail-Adressen. Dazu stehen in der ersten Zeile die Feldnamen. Hier ist ein Beispiel für CSV mit Trennzeichen und Feldnamen:

```
Name, Ort
Max Meier, Erlangen
Gerda Gruber, Frankfurt
```

In diesem Beispiel sind „Name“ und „Ort“ die Spaltenüberschriften, während „Max Meier“ und „Erlangen“ die Daten in der ersten Zeile darstellen. Jede weitere Zeile enthält ähnliche Datensätze. Das Trennzeichen ist hier das Komma und es trennt die einzelnen Werte. Es kann statt dessen auch ein anderes Trennzeichen wie das Semikolon (;) oder das Pipe (|) verwendet werden.

Beispiel ohne Trennzeichen und mit Qualifier

In einigen Fällen kann es vorkommen, dass die CSV-Datei keine expliziten Trennzeichen enthält. Stattdessen werden die Werte einfach durch die Positionierung getrennt. Hier ist ein Beispiel für CSV ohne Trennzeichen, aber mit Qualifier:

```
"Name"         "Ort"
"Max Meier"    "Erlangen"
"Gerda Gruber" "Frankfurt"
```

In diesem Fall werden die Werte durch ihre Position in der Zeile getrennt. Der erste Wert „Max Meier“ gehört zur Spalte „Name“, während „Erlangen“ zur Spalte „Ort“ gehört. Die Trennung erfolgt hier implizit durch die Anzahl der Zeichen zwischen den Werten. Der Qualifier („) wird hier genutzt, damit die zusammengehörenden 2 Worte im Feld Namen als ein Wert erkannt werden.

Vorteile von CSV

CSV bietet mehrere Vorteile, die es zu einem beliebten Format machen. Erstens ist es einfach zu erstellen und zu lesen, da es sich um eine Textdatei handelt. Zweitens kann CSV von den meisten Tabellenkalkulations-programmen und Datenbanken problemlos importiert und exportiert werden. Es ist auch sprachenunabhängig, was bedeutet, dass es von verschiedenen Programmiersprachen unterstützt wird. Darüber hinaus ist CSV effizient in Bezug auf Dateigröße und erfordert weniger Speicherplatz im Vergleich zu anderen Formaten wie XML oder JSON.

Fazit

Komma-separierte Werte sind ein vielseitiges Datenformat, das in vielen Anwendungen weit verbreitet ist. Sie bieten eine einfache Möglichkeit, Tabellendaten zu speichern und auszutauschen. Sowohl CSV mit als auch ohne Separator können verwendet werden, je nach den Anforderungen der Datenverarbeitung.

Normalisierung bei relationalen Datenbanken

Für die Nutzung und Wartung eines relationalen Datenbanksystems (DBS) sind sauber strukturierte Daten von Vorteil.

Denn bei der Nutzung können Schwächen, also Anomalien auftreten, die es zu verhindern gilt. Das wären zum Beispiel

  • Die Einfügeanomalie tritt auf, wenn es aufgrund von fehlenden Attributwerten nicht möglich ist, neue Daten in die Tabelle einzufügen.
  • Die Änderungsanomalie tritt auf, wenn Änderungen an einem Attributwert in einer Zeile zu Inkonsistenzen in anderen Zeilen führen.
  • Die Löschungsanomalie tritt auf, wenn das Löschen von Daten in einer Tabelle versehentlich auch andere, relevante Daten löscht oder wenn das Löschen von Daten zu einer fehlenden Information führt.

Um die oben genannten Anomalien zu verhindern, wird der Normalisierungsprozess eingesetzt.

Normalisierung der 1. Normalform

Eine Relation ist in der 1. Normalform, wenn jeder Wert in jeder Spalte des Tabellenentwurfs atomar ist, d.h. keine mehrwertigen Attribute enthält. Es dürfen also keine Spalten mit mehreren Werten in einer Zeile vorhanden sein.

Normalisierung der 2. Normalform

Eine Relation ist in der 2. Normalform, wenn sie bereits in der 1. Normalform ist und kein Teil der Primärschlüssel-Funktionsabhängigkeit von einer Teilmenge der Attribute abhängt. Das bedeutet, dass jede Nichtschlüssel-Spalte von der gesamten Primärschlüssel abhängt, nicht von einem Teil davon.

Normalisierung der 3. Normalform

Eine Relation ist in der 3. Normalform, wenn sie bereits in der 2. Normalform ist und keine transitive Abhängigkeiten existieren. Das bedeutet, dass eine Nichtschlüsselspalte nicht von einer anderen Nichtschlüsselspalte abhängen kann, sondern nur von der Primärschlüsselspalte.

Die Normalformen sind wichtig, um Datenredundanz und -inkonsistenzen zu vermeiden und die Datenkonsistenz und -integrität sicherzustellen.

Beispiel zur Normalisierung

Angenommen, wir haben eine Tabelle „Studenten“ mit den folgenden Spalten:

  • Matrikelnummer (Primärschlüssel)
  • Name
  • Geburtsdatum
  • Studienfach
  • Modul1-Name
  • Modul1-Note
  • Modul2-Name
  • Modul2-Note
  • Modul3-Name
  • Modul3-Note

Diese Tabelle ist nicht in der 1. Normalform, da die Spalten „Modul1-Name“, „Modul1-Note“, „Modul2-Name“, „Modul2-Note“, „Modul3-Name“ und „Modul3-Note“ mehrwertige Attribute enthalten. Wir können die Tabelle in zwei separate Tabellen aufteilen: eine für die Studenteninformationen und eine für die Modulinformationen.

  • Tabelle „Studenten“ (Primärschlüssel: Matrikelnummer)
    • Matrikelnummer (Primärschlüssel)
    • Name
    • Geburtsdatum
    • Studienfach
  • Tabelle „Module“ (Primärschlüssel: Modul-ID, Fremdschlüssel: Matrikelnummer)
    • Modul-ID (Primärschlüssel)
    • Matrikelnummer (Fremdschlüssel)
    • Modul-Name
    • Modul-Note

Jetzt befindet sich die Tabelle „Studenten“ in der 1. Normalform, da alle Spalten atomar sind. Die Tabelle „Module“ ist in der 2. Normalform, da alle Nichtschlüsselspalten von der gesamten Primärschlüssel-Spalte „Modul-ID“ abhängig sind.

Die Tabelle „Module“ ist jedoch noch nicht in der 3. Normalform, da die Spalte „Modul-Name“ und „Modul-Note“ von der Teilmenge der Spalte „Modul-ID“ und „Matrikelnummer“ abhängen, anstatt von der gesamten Primärschlüsselspalte „Modul-ID“ abhängig zu sein. Wir können die Tabelle erneut aufteilen:

  • Tabelle „Module“ (Primärschlüssel: Modul-ID, Fremdschlüssel: Matrikelnummer)
    • Modul-ID (Primärschlüssel)
    • Modul-Name
  • Tabelle „Noten“ (Primärschlüssel: Modul-ID, Matrikelnummer)
    • Modul-ID (Primärschlüssel, Fremdschlüssel)
    • Matrikelnummer (Primärschlüssel, Fremdschlüssel)
    • Modul-Note

Jetzt hängen alle Nichtschlüsselspalten von der gesamten Primärschlüssel-Spalte „Modul-ID, Matrikelnummer“ ab, und die Tabelle „Module“ und „Noten“ befinden sich in der 3. Normalform.

 

 

Die Kardinalität bei dem ER Modell mit SQL

Bei der Entwicklung mit dem ER- Modell ist nicht ersichtlich, in welcher Beziehung die Entitäten stehen. Die (min, max)-Notation wird genutzt, um die Beziehungen zwischen Entitäten zu definieren. Die Notation gibt an, wie viele Instanzen einer Entität in Beziehung zu einer bestimmten Anzahl von Instanzen einer anderen Entität stehen können.

  • Die „min“ – Zahl gibt an, wie viele minimale Instanzen einer Entität in Beziehung zu einer anderen Entität stehen müssen.
  • Die „max“ – Zahl gibt an, wie viele maximale Instanzen einer Entität in Beziehung zu einer anderen Entität stehen können.

Die 1:1 Kardinalität bedeutet beispielsweise, dass es nur eine Instanz der Entität auf der einen Seite und eine Instanz der Entität auf der anderen Seite geben kann.

Die 0:1 Kardinalität bedeutet hingegen, dass es eine oder keine Instanz einer Entität auf der einen Seite geben kann, aber maximal eine Instanz auf der anderen Seite.

Die 1:n Kardinalität beschreibt eine Beziehung zwischen Entitäten, bei der eine Instanz einer Entität mit vielen Instanzen einer anderen Entität in Beziehung steht. Dies wird oft durch die Verwendung von Fremdschlüsseln realisiert, die auf den Primärschlüssel der anderen Entität verweisen.

Die n:m Kardinalität beschreibt eine Beziehung zwischen Entitäten, bei der viele Instanzen einer Entität mit vielen Instanzen einer anderen Entität in Beziehung stehen. Die Beziehung wird über eine Zuordnungstabelle (Zwischentabelle) realisiert, die eine Verbindung zwischen den beiden Entitäten herstellt.

Die Kardinalität der (min, max) – Notation ist ein wichtiger Aspekt bei der Datenmodellierung, da sie die Beziehungen zwischen den Entitäten genau beschreibt. Sie hilft bei der Identifizierung von Datenintegritätsproblemen, indem sie sicherstellt, dass die Daten in einer bestimmten Beziehung konsistent bleiben.

Es ist wichtig zu beachten, dass die (min, max) – Notation nicht immer ausreichend ist, um komplexe Beziehungen zwischen Entitäten zu beschreiben. In solchen Fällen können zusätzliche Regeln und Einschränkungen erforderlich sein, um sicherzustellen, dass die Daten konsistent und korrekt sind. Sie hilft bei der Identifizierung von Integritätsproblemen von Daten und stellt sicher, dass die Daten in einer bestimmten Beziehung konsistent bleiben.

 

Übersicht der Elemente beim ER Modell

Das ER-Modell (Entity-Relationship-Modell) ist eine Methode zur Modellierung von Datenbanken. Es besteht aus drei Grundkonzepten: Entitäten (Objekte), Beziehungen (Verbindungen zwischen Objekten) und Attributen (Eigenschaften von Objekten).

Das ER-Modell hilft bei der klaren und einheitlichen Darstellung von Datenbankstrukturen und unterstützt bei der Planung, Umsetzung und Wartung von Datenbanken.

Entität Eine Entität ist ein Ding oder Objekt der realen Welt.
Attribut Attribute sind Eigenschaften von Entitäten und besitzen einen Wert.
Primärschlüssel Attribute sind durch die Unterstreichung  als Primärschlüssel gekennzeichnet.
Beziehung Beziehungen zeigen die Kommunikation und Abhängigkeiten von Entitäten auf.
Ist-ein oder Is-a Die Ist-ein oder Is-a Beziehung entspricht einer Generalisierung oder Verallgemeinerung. Zum Beispiel ist ein Fahrzeug ein PKW oder ein Motorrad.
Teil-von oder Part-of Die Teil-von oder Part-of Beziehung entspricht einer Aggregation. Zum Beispiel besteht ein Smartphone aus einem Akku, einem Display …

Besonderheit bei der Ist-ein oder Is-a Beziehungen

Disjunkt

Wenn sich zwei Entitätsmengen in der Datenbank nicht überlappen, wird dies „disjunkt“bezeichnet. Das heißt, es gibt keine Entitäten, die gleichzeitig in beiden Entitätsmengen vorkommen.

Nicht Disjunkt

„Nicht disjunkt“ hingegen bedeutet, dass sich zwei Entitätsmengen in der Datenbank überlappen können. Das bedeutet, dass es Entitäten geben kann, die in beiden Entitätsmengen vorkommen können.

Total

Eine „totale“ Beteiligung bedeutet, dass jede Entität in einer Entitätsmenge an einer Beziehung teilnehmen muss. Mit anderen Worten, eine Entität in der Entitätsmenge kann nicht existieren, ohne an der Beziehung teilzunehmen. Es gibt also keine weiteren Teilmengen.

Partiell

Eine „partielle“ Beteiligung bedeutet hingegen, dass nicht alle Entitäten in einer Entitätsmenge an einer Beziehung teilnehmen müssen. Mit anderen Worten, eine Entität in der Entitätsmenge kann existieren, ohne an der Beziehung teilzunehmen. Es gibt hier weitere Teilmengen.

 

Hier ein Beispiel: Ein Fahrzeug ist ein PKW oder ein LKW oder ein Motorrad. Die Beziehung ist damit disjunkt und partiell.

 

Relationale Datenbanken entwerfen

Der Entwurf relationaler Datenbanken spielt für Datenbankentwickler eine wichtige Rolle. Dabei wird das 3-Ebenen Modell eingesetzt. Das besteht aus drei Ebenen. Dies sind die externe-, die konzeptionelle- und die interne Ebene. Um die Entwicklung zu vereinfachen, wird häufig das Entity-Relationship Modell eingesetzt. Das wird auch ER-Modell oder ERM genannt.

Der Entwicklungsprozess

Der gesamte Entwicklungsprozess besteht aus mehreren Phasen.

AnforderungsanalyseDatenbank EntwicklungsprozessAnforderungsanalyse

Die Anforderungsanalyse beginnt damit, dass alle Anforderungen der Akteure gesammelt und ausgewertet werden. Dabei können die Akteure in Gruppen geordnet werden. Dabei stellen sich die W-Fragen:

  • Welche Daten werden verarbeitet?
  • Wie werden die Daten verarbeitet?
  • Was ist in der Datenbank abzulegen?
  • Welche Daten werden Wem zur Verfügung gestellt?
  • Wo werden die Daten verarbeitet und wo gespeichert?
  • Wann finden welche Prozesse statt?
  • Wer führt welche Tätigkeiten durch?

Konzeptioneller Entwurf

Beim konzeptionellen Entwurf gibt es verschiedene Vorgehensmodelle. Oft wird die Top-Down- oder die Bottom-Up Methode eingesetzt. Hier werden die Daten, die Prozesse, die Abhängigkeiten in Beziehung gebracht. Jetzt ist der richtige Moment zu entscheiden, welches Datenbank System (DBS) eingesetzt wird, außer die Anforderungen haben dies bereits festgelegt.

Logischer Entwurf

Beim logischen Entwurf findet die Umsetzung des konzeptionellen Schemas statt. Die häufigsten Abfragen sind auf Grund der Anforderungen bekannt und bereits beschrieben. Das Endergebnis ist eine normalisierte Tabellenstruktur, die keine Fehler und Redundanzen enthält.

Implementierung

Jetzt erfolgt die konkrete Umsetzung auf dem Datenbank System. Dabei wird auf ein gutes Laufzeitverhalten und auf Effizienz geachtet. Wichtig ist hier, dass nach den Regeln der KVP (Kontinuierlicher Verbesserung Prozess) die Datenbank optimiert wird. Es werden die Sichten, Relationen, Indizes und die Berechtigungen eingerichtet.

Test / Qualitätssicherung

Bei der Qualitätssicherung wird geprüft, ob die Anforderungen erfüllt sind. Zudem werden die während der Anforderungsanalyse festgestellten Kriterien geprüft. Optimal ist hier zusätzliches automatisiertes Testsystem zu nutzen, dass den ganzen Lebenszyklus des DBS genutzt wird. Das vermeidet wiederkehrende Fehler und optimiert die Qualitätssicherung.

Übergabe und Nutzung

Nach dem Abschluss der Qualitätssicherung findet die Übergabe des Systems statt. Dabei ist zu beachten, dass dies wie alle vorher beschriebenen Prozesse in schriftlicher Form dokumentiert sein soll. Das Übergabedokument wird nach erfolgreicher Abnahme durch den Auftraggeber unterzeichnet und damit ist der Leiter des Projekts entlastet.

 

Kodierung mit Unicode – UTF

Kodierung ist uraltes Instrument der Natur, dass bei Kommunikation eingesetzt wird.  Somit wird Kommunikation mit Kodierung universell eingesetzt, wie zum Beispiel in der Pflanzenwelt mit Auxinen und in der IT sind das Kodierungen wie UTF. Denn Kommunikation funktioniert immer auf der gleichen Basis und braucht Standards.

Basis von Kommunikation

  • Es gibt einen Sender, der kommunizieren will
  • Es gibt einen oder mehrere Empfänger
  • Es gibt Daten, die Sender und Empfänger in einen Kontext setzen und damit werden Informationen übermittelt
  • Es gibt Regeln zum Austausch, die auch als Protokolle bezeichnet werden
  • Es gibt einen Zweck, warum der Austausch mittels Kommunikation notwendig ist

In der IT hat sich die Kodierung im Laufe der Zeit weiter entwickelt. So wird heute sehr häufig Unicode eingesetzt, das auch Unicode Transformation Format genannt wird.

Mit Unicode ist es möglich, die gängigen Zeichen aller Schriften zu nutzen. So können damit 232 Zeichen kodiert werden, im Gegensatz zum erweiterten ASCII Code, der 128 Zeichen kodieren kann. UTF ist also ein wichtiges Mittel für den globalen Austausch von Daten und Informationen über alle Völker und Kulturen hinweg.

UTF kodiert ein Zeichen immer mit 32 Bit. Damit es mit einer weiteren, häufig genutzten Kodierung kompatibel ist, sind die ersten 128 Zeichen wie bei ASCII kodiert.

Ein Hemmnis von Unicode ist der hohe Verbrauch von 32 Bit pro Zeichen. So werden gleiche Texte gegenüber ASCII Code um das 4-fache umfangreicher. Um die Datenmenge zu reduzieren gibt es verschiedene Arten der UTF Kodierung.

Kodierung mit UTF-32

Hier jedes Zeichen mit 32 Bit kodiert. Es ist die einfachste und kompatibelste Kodierung mit Unicode. Wird zuerst das höchstwertige Byte übertragen, dann wird diese Kodierung Big Endian (UTF-32BE) genannt. Wenn das niedrigstwertige Byte zuerst übertragen wird, dann wird dies als Little Endian (UTF-32LE) bezeichnet.

Kodierung mit UTF-16

Hier werden zur Kodierung eines Zeichens entweder ein 16 Bit- oder zwei 16 Bit Blocks verwendet. Diese Kodierung wird gerne bei Sprachen mit nicht lateinischen Zeichen eingesetzt. Ähnlich wie bei UTF-32 gibt es hier auch UTF-16BE und UTF-16LE.

Kodierung mit UTF-8

Hier werden die Zeichen mit einer variablen Länge von 1 bis 4 Byte kodiert. Da in vielen Fällen die ersten 128 Zeichen des dazu kompatiblen Standard ASCII Codes (7 Bit) verwendet werden, ist dieser Kodierungstyp der Effizienteste. Das achte Bit wird zum Einleiten der Verlängerung des Zeichens auf bis zu 32 Bit genutzt.

Byte Order Mark oder BOM

Das ist eine Signatur, die zu Beginn der Nutzung übertragen wird. Sie dient der leichteren Identifizierung der Kodierung bei verschiedenen Systemen. Wenn aber vorher schon eindeutig geklärt ist, wie die Daten übermittelt werden, kann die BOM weg gelassen werden. Dies geschieht zum Beispiel bei HTML Seiten durch die Angabe des <meta charset=“utf-8″ />.

Es gibt noch weitere UTF Kodierungen, die aber in der Praxis nur wenig eingesetzt werden.

Siehe auch:

Codepage oder Zeichensatz Tabelle in der IT

Ist Kodierung gleich Codierung?

 

Web Entwicklungsumgebung XAMPP installieren

Web Entwickler brauchen für die Erstellung von Webseiten, CMS, Blogs und weiteren internet-affinen Systemen eine Entwicklungsumgebung. Hier bietet seit vielen Jahren die Open Source Entwicklungsumgebung XAMPP eine tragende Rolle.

XAMPP Installation

Im nachfolgenden Video wird die Installation von XAMPP gezeigt. Mit dabei sind Tipps und Tricks.

Web Entwicklungsumgebung XAMPP installieren from Karl Högerl on Vimeo.

Fazit

XAMPP ist eine häufig genutzte Entwicklungsumgebung mit viel Potential. Es gibt Unterstützung von HTML, CSS, PHP, MySQL DB, JSP und dem Tomcat Server.

Unternehmensprozesse im Zeitalter von Industrie 4.0

Unternehmen sind ein Teil der Privatwirtschaft und dem stetigen Wandel in der Natur unterworfen. Die Anpassung gelingt einigen Unternehmen sehr gut und anderen weniger gut. Im Zeitalter der elektronischen Datenverarbeitung haben sich Systeme entwickelt, die den Wandel zu Industrie 4.0 mit KI begünstigen. Die nachfolgende Auflistung zeigt im Überblick Einige von Unternehmen eingesetzte Datenverarbeitungssysteme.

Unternehmensweite Planung bei Industrie 4.0

Unternehmensweite Planung bei Industrie 4.0
Unternehmensweite Planung bei Industrie 4.0

Enterprise Ressource Planning (ERP) ist die unternehmensweite Planung von Ressourcen des gesamten Unternehmens. Dabei wird bei Industrie 4.0 immer mehr KI genutzt werden, um den Bearbeitern und Entscheidern zeitnah, umfassende Auswertungen und Lösungen anzubieten. Die Entscheidungen fällt jetzt noch der Mensch. Aber dies wird sich in der Zukunft ändern. Denn der Mensch wird die Koexistenz und Handlungsfähigkeit der KI als gleichberechtigter Partner akzeptieren müssen. Das verändert die Wirtschaftssysteme.

Je nach Branche sind die ERP Systeme unterschiedlich aufgebaut. einige Unternehmen leisten sich individuelle angepasste ERP Systeme. Andere nutzen Vanilla Lösungen. Eine Vanilla Lösung stellt die standardisierte, nicht angepasste Anwendung „out of the box“ dar. Diese hat den Vorteil, das Versions-Upgrades einfach und kostengünstig möglich sind. Dafür werden bei diesen Unternehmen in vielen Bereichen Standardprozesse genutzt.

Umfassende Kommunikation der IT-Systeme ist erforderlich

Über Schnittstellen erfolgt die Kommunikation der Subsysteme mit einer einheitlichen Sprache zum Datenaustausch. Meist wird dafür Extended Markup Language (XML) genutzt. Die in großen Mengen vorhandenen Daten werden in leistungsfähigen Datenbanken vorgehalten. Auch hier wird immer mehr KI eingesetzt und unterstützt die Prozesse. So werden sich in der multipolaren Welt diese Systeme unterscheiden und das entspricht der von der Natur gewünschten Vielfalt und ermöglicht die Zukunftsfähigkeit von Unternehmen, Mitarbeitern und der KI.

Was ist ein Algorithmus?

In unserem täglichen Leben benutzen wir immer wieder Algorithmen. Aber wenn wir erklären sollen, was ein Algorithmus ist, dann wird es schwierig.

Ein Algorithmus ist eine Anleitung, mit bestimmten Eingabedaten bestimmte Ausgabedaten zu produzieren und auszugeben. Mit anderen Worten:

Es ist eine Handlungsvorschrift, um ein Problem schrittweise zu lösen

Anforderung an Algorithmen in der Programmierung

  • Der Algorithmus muss vollständig beschreibbar sein
  • Das Rechenverfahren muss aus einzelnen Arbeitsschritten bestehen, die zur Lösung des Problems führen
  • Jeder Schritt davon muss zu einem eindeutigen Ergebnis führen
  • Bei gleichen Eingaben erhält man immer das gleiche Ergebnis
  • Das Verfahren muss zu einem Ergebnis führen
  • Der Algorithmus muss universell und auf alle Daten anwendbar sein

Wie wird ein Algorithmus notiert oder aufgeschrieben?

Insgesamt kann dieser in einer Sprache wie zum Beispiel in Deutsch aufgeschrieben werden. Allerdings kann ein Computer den Algorithmus im Regelfall nicht verstehen.

Wie kann ein Computer mit Algorithmen arbeiten?

Damit der Computer den Algorithmus versteht, werden Programmiersprachen eingesetzt. Dabei wird zwischen strukturierter und objektorientierter Programmierung unterschieden. Die meisten Programmiersprachen bieten ähnliche Möglichkeiten die Lösung einer Problemstellung zu beschreiben oder wie der Programmierer sagt, zu implementieren.

Wie kann ein Algorithmus dokumentiert werden?

Dazu kann die Unified Modeling Language UML eingesetzt werden. Hier können Algorithmen grafisch dargestellt werden. Dies stellt eine praktische Ergänzung zur textuellen Beschreibung dar.

 

NoSQL Datenbanken im Überblick

Erste NoSQL Datenbanken wurden Carlo Strozzi entwickelt. Dieser Datenbanktyp verfolgt einen nicht relationalen Ansatz. Es werden keine Tabellen genutzt, die in Beziehung zueinander stehen. NoSQL Datenbanken eignen sich für die Indexierung großer Datenmengen, haben aber eine eingeschränkte Konsistenz der Daten. Daher erfolgt die Nutzung von NoSQL hauptsächlich bei der Abfrage und Auswertung von Daten. Es können Daten redundant abgelegt werden. Daher können hier sehr viele fast gleichzeitig auftretende Schreib- und Lesevorgänge abgearbeitet werden. Das ist bei relationalen Datenbanksystemen nicht möglich. Es gibt verschiedene Datenbanksysteme (DBS), die NoSQL Funktionen anbieten.

Datenbanksysteme, die NoSQL unterstützen

Datenbanksysteme, die NoSQL unterstützen sind z.B. MongoDB, Neo4j, Berkeley DB, Apache Cassandra, Apache Kafka, IBM Notes.

Daten – Information – Wissen im Kontext der Informatik

Der Begriff Information ist in der römischen Antike zum Beispiel durch Cicero als Vorstellung der Götter “informatio dei” genutzt worden. Augustinus hat mit “informatio sensus” den Prozess der sinnlichen Wahrnehmung auch als Unterweisung und Belehrung abgeleitet. Im 15. und 16. Jahrhundert wurde “informare” für die Tätigkeit der Benachrichtigung genutzt.

Der Mathematiker Claude E. Shannon definierte 1948 in seinem Aufsatz ” A Mathematical Theory of Communication” den Begriff Information im Kontext der Nachrichtentechnik. Daraus entstanden Wissenschaftsbereiche wie Informationswissenschaft und Informatik. Aber auch die Disziplinen Soziologie, Medientheorie und Philosophie wurden dadurch beeinflusst.(1)

Betrachten wir, wie Daten zu Information und Wissen werden

Daten sind in der Informatik Zeichen, die meist maschinenbearbeitbar sind. Stehen diese Zeichen im Kontext einer Bedeutung, dann werden aus strukturierten Daten Informationen.

Aus Informationen wird Wissen, wenn Menschen durch Beobachtung oder Erfahrung auf Zusammenhänge schließen. Nach der Philosophie Kants wird dies mit durch den Verstand kontrollierte Vernunft erreicht.

Beispiel

Daten 08937432
Information (durch Kontext “Telefonnummer”) 08937432
Wissen (durch Erfahrung oder Beobachtung: München hat die Vorwahl “089”) 08937432

 

In diesem Zusammenhang gibt es eine asiatische Sichtweise, die ein berühmter asiatischer Philosoph schrieb(2)

Die Nichtwissenheit wissen
ist das Höchste.
Nicht wissen, was Wissen ist,
ist ein Leiden.
Nur wenn man unter diesem Leiden leidet,
wird man frei von Leiden.
Daß der Berufene nicht leidet,
kommt daher, daß er an diesem Leiden leidet;
darum leidet er nicht.

 

Quelle: (1) Alexander Roesler/Bernd Stiegler “Grundbegriffe der Medientheorie”; (2) Laotse