Datenmodelle und SQL Basics (spontan)

in #deutsch10 months ago

Angekündigter Artikel über Spieltheorie ist schon in Arbeit, dauert allerdings noch lange bis zur Fertigstellung (hier mein erster Wirtschaftsartikel), daher dieser kleine Artikel zum Thema Datenmodelle, Datenbanken.

Semantisches Datenmodell

  • Semantische Darstellung von Informationsobjekten und deren semantische Beziehungen.
  • Vorgabe für die Umsetzung ins logische DBMS-Datenmodell.

Entity-Relationship-Modell (ERM)

  • Bekanntestes Modell für die semantische Datenmodellierung.

"A model corresponds to an image of reality" (Stachowiak: Allgemeine Modelltheorie, 1973)

Wie wir die Welt sehen hängt ganz stark von uns selber ab bzw.von unserer Weltanschauung(Paradigmen).

Ein Modell kann somit nie alles erklären bzw. immer richtig sein, sondern nur bestimmte Aspekte abdecken.

Genauso wie auch eine (passende) Statistik immer nur zu einer Fragestellung passt bzw. einen Zusammenhang erklärt/zeigt.

Das ERM besteht aus:

Entities

  • Identifizierbare Objekte der (zu modellierenden) Realwelt
  • besitzen Attribute

Relationships

  • Es gibt 3 Beziehungstypen zwischen Entities, die 1:1, 1:n und n:m Beziehung.

Darstellung der Beziehungstypen im ERM mit n:m Notation:


Eine Entity kann einen oder mehrere Schlüssel besitzen (Attribute, die sie eindeutig identifizieren).

DBMS (Datenbank-Management-System)

Sind relationale Datenmodelle, auf denen die Datenbanksprache SQL aufbaut.

Die Datenstruktur eines Relationenmodells ist die Relation bzw. Tabelle.

Jede Zeile (sog. Tupel) entspricht einer Entity oder Beziehung.

Beispiel (Skizze nicht real):

SQL Basic

Basisbaustein SQL: SELECT-FROM-WHERE Block.

SELECT  "gesuchte Attributliste"

FROM  "In welcher Tabelle (Relation) steht das"

WHERE  "unter welcher Bedingung soll das ausgegebenen werden"

Beispiele anhand der "Tabelle" in obigen Bild (denkt euch die übrigen Nutzer noch dazu):

  • Gib die Steemitkonto Relation komplett aus:

SELECT * FROM Steemitkonto

ohne Duplikateliminierung

SELECT DISTINCT * FROM Steemitkonto

mit Dupliakteliminierung

  • Gib alle User (namentlich) mit >500SP aus

SELECT Name FROM Steemitkonto WHERE AnzahlSP >"500"

  • Gib alle User (namentlich) aus, die zwischen 14 und 500SP besitzen

SELECT Name FROM Steemitkonto WHERE AnzahlSP BETWEEN "14" AND "500"


Wie gesagt, ist das nur ein kurzer, spontan entstandener Artikel, falls es viel Interesse zu diesem Thema gibt, könnte ich natürlich noch einen ausführlicheren Artikel machen.

Ich habe jetzt einige kleinere Datenbank Abfragen gemacht (auch mit kleinen JOINs, wo man mehrere Tabellen für die Abfrage verwendet). Finde SQL bis jetzt einfacher als VBA, in welchem ich auch einige Grundlagen gelernt habe.

Wollte mit diesem Artikel nur dafür sorgen, dass der Blog nicht so unaktiv wird, da der Spieltheorie Artikel leider noch eine ganze Weile dauern wird.

Vielleicht mache ich noch einen kleinen Kraftsport Artikel bis dahin (oder kaufe Steem):D mal schauen.

Bis dahin viel Erfolg euch, bei euren Projekten.

PS: Bin jetzt auch auf Twitter mit einem urdreamscometrue Account vertreten, um vielleicht etwas Werbung für Steem zu machen, bzw. wenn möglich Interesse zu wecken.

Ich verteile wieder SBI-Shares an Kommentare!

Relationenalgebra habe ich absichtlich aus diesem kleinen Grundlagen Artikel weggelassen.

Sort:  

Du wurdest als Member von @investinthefutur gevotet! ---> Wer ist investinthefutur ?
Eine kleine Dividende a little bit !BEER

 10 months ago Reveal Comment