Modul 153
Datenmodelle entwickeln
Prüfungsvorbereitung
Datenbanken
Lernziel: Kennt die Bestandteile und Grundbegriffe der Datenbanken
- DBS
- DB
- DBMS
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
- SQL
- DDL
- DML
- DQL
- DCL
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
- Informations-orientierte Sicht
- Daten-orientierte Sicht
- Anwendungs-orientierte Sicht
- Performance-orientierte Sicht
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
- 1. Klassifizierung
- 2. Abstraktion
- 3. Identifizierung
- 4. Sachlogische Zusammenhänge
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
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
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.
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
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.