Modul 153

Datenmodelle entwickeln

programming illustration
Prüfungsvorbereitung

Datenbanken

Lernziel: Kennt die Bestandteile und Grundbegriffe der Datenbanken

DatenBankSystem

Besteht aus

  • einem Datenbank-Managementsystem (DBMS)
  • einer oder mehreren Datenbanken (DB)

DatenBank

Ist eine Sammlung von strukturierten Daten zwischenn denen sachlogische Zusammenhänge bestehen

DatenBank – ManagementSystem

Ist ein Programmsystem, welche die notwendige Sofware für alle Aspekte der Datenverwaltung zur Verfügung stellt.

Datenschutz, Datensicherheit, Datenkonsistenz, Multiuserfhähigkeit

Structured Query Language

Ist die normierte Sprache für den Zugriff auf das DBS und wird in vier Telsprachen unterteilt:
DDL, DML, DQL und DCL

Data Definition Language

Datenstrukturen definieren, ändern löschen

DDL Anweisungen:
CREATE, ALTER, DROP

Data Manipulation Language

Daten hinzufügen, bearbeiten, löschen

Data Query Language

Daten abfragen

(Dies ist kein offizieller Begriff, wird jedoch häufig verwendet)

Data Control Language

Daten abfragen

(Dies ist kein offizieller Begriff, wird jedoch häufig verwendet)

Datenbank-Anwendungssystem

Vorteile:

  • Hohe Flexibilität in der Datenverarbeitung
  • CRUD voll anwendbar
  • Datenintegrität gewährleistet
  • Zugriffschutz zentral einstellbar
  • Multiuserfähigkeit
  • Redundanzfreie Speicherung der Daten

Nachteile:

  • Verminderte Ausführungsgeschwindigkeit

Beschreibung spezieller Datenstrukturen

Die Struktur der Daten wird unabhängig von dem Datenbank-Managementsystem beschrieben.

Beschreibungssprache:
Entity-Relationship Modelling

Beschreibungs-Resultat:
konzeptionelles Datenmodell

Beschreibungssprache:
Tabellen-Typbeschreibung

Beschreibungs-Resultat:
logisches Datenschema

Prüfungsvorbereitung

Konzeptionelles Datenmodell

Lernziel: Kennt die Bezeichnungen des konzeptionellen Datenmodell

Idee des konzeptionellen Datenmodells:

  • Abbildung der Realität unabhängig vom DBS
  • Typenmässige Beschreibung der Struktur der Daten und deren Beziehungen

    ERD: Entity Relationship Diagram

    • Diagramm mit Objekttypen (Entity) und Relationen (Relationship)

    Entity Relationship Modelling

    ERM: Entity Relationship Modelling

    • Prozess der Modellierung

    Die 4 Modellierungs-Schritte

    Ermitteln der Typen von Objekten

    Relevante Eigenschaften (Attribute) eines Objekttyps ermitteln

    Ermittlung der Identifizierung der Objekte eines Objekttyps

    Beschreibung der Beziehungen zwischen den Objekttypen

    Prüfungsvorbereitung

    Schlüssel

    Lernziel: Kann die Begriffe der Identifikationsschlüssel, Primärschlüssel und Fremdschlüssel beschreiben
    Prüfungsvorbereitung

    Konzeptionelles ER-Modell

    Lernziel: Kann ein konzeptionelles ER-Modell nach de Martin (Krähenfuss) lesen,
    korrekt interpretieren, zeichnen und kennt deren Kardinalitäten

    Kardinalitäten = Mengenangaben (1:1, 1:n, n:m)

    Prüfungsvorbereitung

    Datensammlung normalisieren

    Lernziel: Kann eine Datensammlung normalisieren (0.NF bis 3.NF), erklären und
    kennt die Definition der einzelnen Normalformen

    1. Normalform

    Atomare Information

    Keine multiplen Eigenschaften

    Vorgehen

    2. Normalform

    Redundanzen beseitigen

    Jede beschreibende Eigenschaft von einem Schlüsselattribut voll funktional abhängig

    Vorgehen

    3. Normalform

    Redundanzen beseitigen

    Jede beschreibende Eigenschaft von einem Schlüsselattribut voll funktional abhängig

    Vorgehen

    Prüfungsvorbereitung

    Transformation

    Lernziel: Kann das konzeptionelle Datenmodell in ein logisches Datenmodell transferieren und
    die gefundenen Tabellen in der Tabellentypen-Beschreibungssprache abbilden.

    Zusammenfassung in OneNote Lektion 01.03.22 – Kurzreferenz Transformationen

    Prüfungsvorbereitung

    DDL Befehle

    Lernziel: Kennt die Syntax der DDL-Befehle und kann diese korrekt aufschreiben

    T-SQL Syntax Konventionen

    Datenbank erstellen

    Syntax

    CREATE DATABASE database_name
    [ CONTAINMENT = { NONE | PARTIAL } ]
    [ ON
          [ PRIMARY ] <filespec> [ ,...n ]
          [ , <filegroup> [ ,...n ] ]
          [ LOG ON <filespec> [ ,...n ] ]
    ]
    [ COLLATE collation_name ]
    [ WITH <option> [,...n ] ]
    [;] 

    Beispiel

    CREATE DATABASE myDatabase; 

    Datenbank löschen

    Syntax

    DROP DATABASE
    [ IF EXISTS ] { database_name | database_snapshot_name }
    [ ,...n ]
    [;] 

    Beispiel

    DROP DATABASE myDatabase;
    
    DROP DATABASE IF EXISTS myDatabase; 

    Datenbank ändern

    Syntax

    ALTER DATABASE { database_name | CURRENT }
    {
        MODIFY NAME = new_database_name
      | COLLATE collation_name
      | <file_and_filegroup_options>
      | SET <option_spec> [ ,...n ] [ WITH <termination> ]
    }
    [;] 

    Beispiel

    ALTER DATABASE myDatabase
    Modify Name = videos; 

    Tabelle erstellen

    Syntax

    CREATE TABLE
       { database_name.schema.table_name | schema.table_name | table_name }
       ( { <column_definition> } [ ,...n ] )
    [;] 

    Beispiel

    CREATE TABLE customers (
        id      int             NOT NULL PRIMARY KEY;
        name    varchar(255)    NOT NULL;
    ); 
    Prüfungsvorbereitung

    DDL Befehle erstellen

    Lernziel: Kann von der Tabellentypen-Beschreibung die notwendigen DDL Befehle erstellen

    Tabellen-Typenbeschreibung

    kurisv

    nicht eingabepflichtig

    fett

    unikal (eindeutig)

    unterstrichen

    Primärschlüssel

    … + … + …

    zusammengesetzer Schlüssel

    ⇑     ⇑

    Fremdschlüssel

    Prüfungsvorbereitung

    Syntax Regeln

    Syntaxregeln für

    Objekttyp

    • Grösse und Position der Box ist irrelevant
    • Objektname im Singular und eindeutig

    Syntaxregeln für

    schwacher Objekttyp

    • Kardinalität N mit 3 Striche
    • Kardinalität 1 mit 1 Strich
    Syntaxregeln für

    Eigenschaften

    • Im unteren Teil sind die Eigenschaften
    • Die Reihenfolge ist irrelevant
    • Eine Eigenschaft steht im Singular und muss innerhalb des Objektes eindeutig sein

    Syntaxregeln für

    Identifizierung

    • identifizierende Eigenschaften sind unterstrichen
    • Die Position ist irrelevant
    • Auch teilidentifizierende Eigenschaften (zusammengesetzte) sind unterstrichen

    Syntaxregeln für

    dualer Beziehungstyp

    • Die Kardinalität 1 wird mit zwei Striche am Linienende dargestellt

    Benennungsbeispiel:
    Ein Ort besitzt eine Schule / Eine Schule liegt in einem Ort

    Syntaxregeln für

    rekursiver Beziehungstyp

    • Optionalität und Kardinalität identisch zum dualen Beziehungstyp
    Prüfungsvorbereitung

    Definitionen

    Objekt

    Ein Objekt (engl. entity) ist ein Exemplar von Personen (z. B. Lehrer oder Schüler), Gegenständen (z. B. Ort oder Schule) und nichtmateriellen Dingen (z. B. Beschäftigungsverhältnis oder Unterrichtsverpflichtung), über das Informationen gespeichert werden sollen.

    Objekttyp

    Ein Objekttyp (engl. entity type) ist eine durch einen Objekttyp-Namen eindeutig benannte Klasse von Objekten, über die dieselben Informationen gespeichert und die in prinzipiell gleicher Weise verarbeitet werden sollen.

    Eigenschaft

    Eine Eigenschaft (engl. attribute) ist die Benennung für ein relevantes Merkmal aller Objekte, die in einem Objekttyp zusammengefasst werden.

    multiple Eigenschaft

    Eine multiple Eigenschaft eines Objekttyps ist eine Eigenschaft, die für ein gegebenes Objekt dieses Objekttyps zur gleichen Zeit mehrere Werte besitzen kann.

    Eigenschaftswert

    Ein Eigenschaftswert (engl. attribute value) ist eine spezielle Ausprägung, die eine Eigenschaft für ein konkretes Objekt annehmen kann.

    Beziehung

    Eine Beziehung (engl. relationship) kennzeichnet den konkreten Zusammenhang zwischen zwei realen Objekten.

    dualer Beziehungstyp

    Ein dualer Beziehungstyp (engl. dual relationship type) beschreibt den typmässigen sachlogischen Zusammenhang, der zwischen den Objekten zweier verschiedener Objekttypen besteht.

    identifizierende und teilidentifizierende Eigenschaft

    Identifizierung

    Identifizierung durch

    • eine unikale Eigenschaft (einzigartig)
    • Kombination von Eigenschaften (E1 + E2 + E3) (zusammengesetzt)
    • Organisatorische Eigenschaft (nicht aus realer Welt) (künstlicher Schlüssel)

    Eine Eigenschaft ist eine identifizierende (bzw. eine teilidentifizierende) Eigenschaft, wenn sie die Identifizierung eines Objekts innerhalb eines Objekttyps herbeiführt (bzw. wenn sie zu dessen Identifizierung beiträgt).

    schwacher Objekttyp

    in schwacher Objekttyp ist ein Objekttyp, dessen Eigenschaften es nicht erlauben, jedes Objekt dieses Objekttyps eindeutig zu identifizieren.

    Schlüssel

    ie minimale Kombination von Eigenschaften und/oder Beziehungstyp-Richtungen, durch die die Objekte eines Objekttyps identifiziert werden können,
    wird als der Schlüssel (engl. key) des Objekttyps bezeichnet.

    zusammengesetzer Schlüssel

    Ein Schlüssel, der sich aus mehreren teilidentifizierenden Elementen – das können Eigenschaften und/oder Beziehungstyp-Richtungen sein – zusammensetzt,
    wird als zusammengesetzter Schlüssel
    bezeichnet.

    Teilschlüssel

    Ein Teilschlüssel ist eine echte Teilmenge
    der teilidentifizierenden Elemente, die
    einen zusammengesetzten Schlüssel bilden. Ein Teilschlüssel entsteht also dadurch, dass man aus einem zusammengesetzten Schlüssel wenigstens ein teilidentifizierendes Element entfernt.

    Primärschlüssel, Sekundärschlüssel

    Ein Primärschlüssel (engl. primary key)
    einer Tabelle ist ein ausgewählter Schlüssel dieser Tabelle, der in erster Linie für
    den Zugriff auf die Tabellenzeilen verwendet wird. Alle anderen Schlüssel der
    Tabelle heißen Sekundärschlüssel (engl.
    secondary key) oder Alternativschlüssel
    (engl. alternate key)

    Typenbeschreibung:

    • Fett und unterstrichen
    • zwischen zwei Doppelpfeile

    Fremdschlüssel

    Soll jede Zeile einer Tabelle A auf jeweils
    eine Zeile der Tabelle B verweisen, dann
    wird der Primärschlüssel der Tabelle B
    als zusätzliches Attribut (bzw. als Attribute-Kombination) in die Tabelle A aufgenommen. In der Tabelle A wird der Primärschlüssel der Tabelle B als Fremdschlüssel (engl. foreign key) bezeichnet.

    Typenbeschreibung:

    • Fett und unterstrichen
    • zwischen zwei Doppelpfeile
    • ⇑Bez[A] + Bez[B] + Bez[n]⇑

    referenzielle Integrität

    Wenn der sachlogische Zusammenhang
    zwischen zwei Tabellen A und B dadurch
    repräsentiert wird, dass die Werte des
    Fremdschlüssels in der Tabelle A mit
    Werten des Primärschlüssels der Tabelle
    B übereinstimmen, dann lautet das Gebot
    der referenziellen Integrität:
    a) entweder muss jeder in der Tabelle A
    auftretende Wert des Fremdschlüssels
    mit einem Wert des Primärschlüssels
    der Tabelle B übereinstimmen
    b) oder der Fremdschlüssel in der Tabelle A muss mit der NULL-Marke belegt sein.

    1. Normalform

     Ein Datenmodell liegt in der 1. Normalform vor, wenn es keine multiplen Eigenschaften besitzt.

    2. Normalform

    in Datenmodell liegt in der 2. Normalform vor, wenn es sich in der 1. Normalform befindet und jede beschreibende
    Eigenschaft eines Objekttyps zwar vom
    Gesamtschlüssel, aber nicht bereits von
    einem Teilschlüssel dieses Objekttyps
    funktional abhängig ist.

    3. Normalform

    Ein Datenmodell liegt in der 3. Normalform vor, wenn es sich in der 2. Normalform befindet und keine beschreibende
    Eigenschaft eines Objekttyps von einer
    anderen beschreibenden Eigenschaft dieses Objekttyps funktional abhängig ist.

    CASE

    Unter der CASE-Technologie versteht man  die Entwicklung von Software nach ingenierwissenschaftlichen Methoden unter
    Verwendung eines Computers.

    CASE Technologie

    Kurzfassung

    CASE

    Computer Aided Software Engineering

    Definition

    Unter der CASE-Technologie versteht man die Entwicklung von Software nach ingenierwissenschaftlichen Methoden under Verwendung eines Computers.

    Zusammenfassung

    Der veränderte Entwicklungsweg wird als CASE-Technologie bezeichnet.

    CASE steht für Computer Aided Software Engineering.

    SE (Software Engineering):

    • das Programmieren musste weg von der “Kunst” und mehr in Richtung “Ingenieurwissenschaften”

    CA (Computer Aided):

    • für die Entwicklung von Computer Programmen wird der Computer verwendet.
    Scroll to Top