Relationale Datenbanken – Häufige Fragen im Fachgespräch – Anwendungsentwickler-Podcast #17

Dieser Beitrag ist Teil 7 von 15 in der Serie Häufige Fragen im Fachgespräch.

In der siebzehnten Episode meines Anwendungsentwickler-Podcasts geht es um relationale Datenbanken und mögliche Fragen dazu im Fachgespräch.

Probeabo bei Audible (Affiliate)

Inhalt

Datenbanken

  • Welche Formen von Datenbanken gibt es?
    • relationale, hierarchische, spaltenorientierte, objektorientierte Datenbanken, Key-Value-Stores, Dokumentendatenbanken, Graphendatenbanken
  • Was ist NoSQL und wofür braucht man das?
    • Steht für „Not only SQL“. Fasst die „modernen“ Datenbanken zusammen. Sinnvolle Ergänzung zu relationalen Datenbanken.

Relationale Datenbanken

  • Wie sind relationale Datenbanken aufgebaut?
    • Tabellen (Relationen) und Beziehungen zwischen diesen.
  • Was ist der Vorteil relationaler Datenbanken?
    • Sie sind flexibel mit SQL abfragbar.
  • Nennen Sie einige bekannte relationale Datenbanken.
    • Oracle, Microsoft SQL Sever, MySQL, DB2, PostgreSQL, SQLite
  • Was sind Primär- und Fremdschlüssel?
    • Primärschlüssel identifizieren einen Datensatz eindeutig.
  • Was sind natürliche und künstliche Schlüssel?
    • Natürliche Schlüssel sind Attribute der Entitäten, die diese bereits eindeutig identifizieren. Künstliche Schlüssel werden zusätzlich für die Entität vergeben.
  • Was sind anonyme Schlüssel?
    • Schlüssel ohne Bedeutung (z.B. forlaufende Nummer im Vergleich zu Materialnummern wie „HO12CM0“).
  • Welche Kardinalitäten gibt es und was sind Beispiele?
    • 1:1 (Benutzer/Login), 1:n (Benutzer/Bestellung), m:n (Benutzer/Benutzergruppe)
  • Wie werden die einzelnen Kardinalitäten (1:1, 1:n, m:n) in Tabellen umgesetzt?
    • 1:1: Fremdschlüssel in beliebiger Tabelle, 1:n: Fremdschlüssel in n-Tabelle, m:n: Zwischentabelle für Fremdschlüssel
  • Was ist ein ORM?
    • Objekt-relationaler Mapper, verknüpft objektorientiere Programmierung mit der relationalen Datenbank.

Literaturempfehlungen

Links

Navigation der Serie<< Häufige Fragen im Fachgespräch – Programmierung (Teil 2) – Anwendungsentwickler-Podcast #13Normalisierung – Häufige Fragen im Fachgespräch – Anwendungsentwickler-Podcast #18 >>
Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

9 comments on “Relationale Datenbanken – Häufige Fragen im Fachgespräch – Anwendungsentwickler-Podcast #17

  1. Q sagt:

    Hey.
    Ich muss zugeben, ich höre mir den Podcast nicht mehr an, allerdings lese ich immer die Zusammenfassungen.
    Daher entschuldige ich mich direkt vorab, falls Sie das erwähnt haben, aber fehlen dort nicht noch die Normalisierungen?
    Ich zumindest, bereite mich darauf vor etwas zu der 1. / 2. / 3. Normalform sagen zu können.

    Möglicherweise auch noch tiefergehende Fragen hinsichtlich SQL (Aggregatsfunktionen? Was sind Joins? etc.)

    Grüße
    Q

  2. Stefan Macke sagt:

    Hallo Q. Die von dir genannten Inhalte sind natürlich sehr wichtig. Ich habe sie nur nicht alle in einer Episode unterbringen können. Es wird daher noch weitere Episoden zum Thema Datenbanken geben. Nächste Woche z.B. zum Thema Normalisierung.

  3. Q sagt:

    Hallo!

    Alles klar! Ich wollte diese Punkte nur kurz erwähnt haben, da beispielsweise ich diese Woche meine mündliche Abschlussprüfung habe.
    Deswegen wollte ich mit meinem Wissen (oder Anregungen) nicht geizen.Im Nachhinein fallen mir noch die verschiedenen Notationen im ERD und das ACID-Prinzip hinsichtlich dem Datenbankthema ein. Allerdings wollte oder will ich Ihnen da nichts vorwegnehmen.

    Grüße
    Q

  4. Stefan Macke sagt:

    Hallo Q. Kein Problem. Im Gegenteil: Danke für die Anregungen! ACID steht schon auf meiner Liste (nach Normalisierung und SQL). ERM nehme ich gerne noch dazu. Danke!

  5. chena sagt:

    Hallo,

    können im Zusammenhang mit den Kardinalitäten auch Direktionalitäten (uni-/ bi-direktional) abgefragt werden oder ist das eher „Exotenwissen“?

    Vielen Dank!

  6. Stefan Macke sagt:

    Hallo chena,

    was genau meinst du damit? Uni-/bidirektionale Beziehungen kenne ich wohl von Objekten, aber bei Datenbanken höre ich das ehrlich gesagt zum ersten Mal.

    Viele Grüße!
    Stefan

  7. chena sagt:

    Hallo,

    du hast natürlich Recht.

    Ich arbeite fast nur mit OR-Datenbanken und hatte deswegen denke ich die Trennung zwischen Tabellen und gemappten Entitäten nicht mehr sauber im Kopf.

    Ich wollte gerade ein Beispiel von mir beschreiben, bis mir auffiel, dass ich direkt auf der Datenbank Abfragen in beide Richtungen machen könnte und es allein an meinem Mapping liegt, dass Entität A zwar Entität B kennt, aber nicht anders herum.

    So rächt es sich, wenn man die Tabellen jedes Mal vom Framework generieren lässt.

    Gruß,
    chena

  8. Julian sagt:

    Hallo Stefan,

    ich habe eine Frage bzgl. Dauer der Präsentation.
    Wäre es schlecht wenn statt 15 min, eine oder zwei minuten länger präsentiert?

    Viele Grüße,
    Julian

  9. Stefan Macke sagt:

    Hallo Julian,

    ja, das wäre schlecht. Du wirst wahrscheinlich einen Punktabzug dafür bekommen.

    Vielleicht drückt dein Ausschuss auch ein Auge zu, aber darauf würde ich nicht wetten!

    Viele Grüße!
    Stefan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax