neu


D. M.
Diese Lernkarten behandeln grundlegende und fortgeschrittene Konzepte der Informatik auf Berufslehrniveau, mit Fokus auf Systeme, Datenbanken und Programmierung. Sie decken Themen wie Klassen, Objekte, Tabellen, Datumsverarbeitung und Softwareanwendungen ab, sowie Unterschiede zwischen prozeduraler und objektorientierter Programmierung. Die Karteikarten sind ideal für angehende IT-Fachleute, die ihre Kenntnisse in Datenbankdesign, objektorientierter Programmierung und Systemarchitektur vertiefen möchten, um in der Berufspraxis effizienter zu arbeiten.
Flashcards
103
Students
3
Language
German
Category
Computer Science
Created / Updated
29.10.2023 / 10.03.2026

Lernkarten

Erklären Sie in Bezug auf Datenbanken die Begriffe Primärschlüssel und Fremdschlüssel.

Im Bezug auf Datenbanken haben Primärschlüssel und Fremdschlüssel besondere Bedeutungen:

Ein Primärschlüssel ist ein Feld oder eine Kombination von Feldern in einer Tabelle, das bzw. die jede Zeile eindeutig identifiziert. Jeder Primärschlüssel ist eindeutig innerhalb der Tabelle und es darf keine Duplikate oder Nullwerte geben.

Ein Fremdschlüssel ist ein Feld oder eine Kombination von Feldern in einer Tabelle, das auf den Primärschlüssel einer anderen Tabelle verweist. Der Zweck eines Fremdschlüssels besteht darin, die Integrität der Daten zu gewährleisten und Beziehungen zwischen Tabellen herzustellen.

 

  • Primärschlüssel: Einzigartiges Feld in einer Tabelle, das jeden Eintrag identifiziert. Keine Duplikate oder Nullwerte.
  • Fremdschlüssel: Feld in einer Tabelle, das auf einen Primärschlüssel in einer anderen Tabelle zeigt, um Tabellen zu verknüpfen und Datenintegrität zu sichern.

Was ist referenzielle Integrität in Bezug auf Datenbanken?

Referenzielle Integrität bezieht sich auf die Konsistenz von Beziehungen zwischen Tabellen.

Die referenzielle Integrität soll sicherstellen, dass in einer Beziehung zwischen zwei Tabellen der Wert des Fremdschlüssels in der referenzierten Tabell immer auf einen gültigen Wert verweist. Wenn eine Änderung oder Löschung in einer Tabelle vorgenommen wird, überprüft die referenzielle Integrität, ob dies Auswirkungen auf andere Tabellen hat und ob die Konsistenz der Beziehung erhalten bleibt.

Die referenzielle Integrität stellt sicher, dass Verbindungen zwischen Tabellen gültig sind. Wenn man Daten ändert oder löscht, prüft sie, ob das keine Probleme in anderen Tabellen verursacht.

Was sind Datenbankanomalien und welche Arten von Anomalien können auftreten?

Datenbankanomalien sind Probleme, die in einer Datenbank auftreten und zu Inkonsistenzen oder unerwünschten Effekten führen können.

Es gibt drei Arten von Datenbankanomalien:

  • Einfügeanomalie
  • Aktualisierungsanomalie
  • Löschanomalie

Diese Anomalien können vermieden werden, indem man Normalisierungstechniken anwendet, wie beispielsweise das Aufteilen von Tabellen (Vermeiden von Redundanzen) und die klare Definition von Beziehungen zwischen Tabellen.

Beschreiben Sie die erste, zweite und dritte Normalform in relationalen Datenbanken.

Eine Relation ist in der ersten Normalform, wenn jeder Attributwert atomar ist. Attribute mit Attributwerten, welche nicht atomar sind, müssen in mehrere Attribute aufgeteilt werden.

Die zweite Normalform zielt darauf ab, Abhängigkeiten zwischen Nicht-Schlüsselattributen zu beseitigen. Datenfelder, die von einem Schlüsselkandidaten (Primärschlüssel) nicht vollständig funktional abhängig sind, müssen in weiteren Tabellen untergebracht werden.

Die dritte Normalform beseitigt transitive Abhängigkeiten zwischen Nicht-Schlüsselattributen. Die transitiv abhängigen Datenfelder müssen in weitere Tabellen ausgelagert werden.

 

  1. 1NF (Erste Normalform)

    • Jeder Tabelle entspricht genau einem Thema.
    • Nur atomare Werte in den Zellen (keine Mengen oder Listen).
    • Jede Spalte hat einen eindeutigen Namen.
    • Eindeutige Zeilen (z.B. durch Primärschlüssel).
  2. 2NF (Zweite Normalform)

    • Die Tabelle befindet sich in der 1NF.
    • Alle nichtschlüsselattribute sind voll funktional abhängig vom gesamten Primärschlüssel.
  3. 3NF (Dritte Normalform)

    • Die Tabelle befindet sich in der 2NF.
    • Keine nichtschlüsselattribute sind transitiv abhängig vom Primärschlüssel.

Welche Schritte sind notwendig, um Datenstrukturen in einem ER-Diagramm zu modellieren?

Ein Entity-Relationship-Diagramm (ER-Diagramm) wird zur Modellierung von Datenbanken wie folgt verwendet:

1. Identifizieren der Entitäten: Das sind Hauptobjekte oder Konzepte in der Datenbank.

2. Bestimmen der Attribute: Das sind die Eigenschaften oder Merkmale der Entitäten.

3. Identifizieren der Beziehungen: Das sind die Verbindungen und Interaktionen zwischen Entitäten.

4. Bestimmen der Kardinalität: Das definiert, wie viele Instanzen einer Entität mit einer Instanz einer anderen Entität in Beziehung stehen können.

Welche speziellen Anforderungen im Bezug auf die Beziehungen zwischen den einzelnen Entitätstypen sind bei der Ableitung von Datentabellen aus einem ER-Diagramm zu beachten?

Bei der Ableitung von Tabellen aus einem ER-Diagramm müssen Sie die Art der Beziehungen berücksichtigen:

  • 1:1: Eine Fremdschlüsselbeziehung in einer der beiden Tabellen erstellen
  • 1:n: Der Primärschlüssel der "1"-Tabelle wird als Fremdschlüssel in der "n"-Tabelle verwendet
  • n:m: Diese Art von Beziehungen müssen über eine zusätzliche Tabelle mit Fremdschlüsseln zu beiden beteiligten Tabellen aufgelöst werden

Was ist der Unterschied zwischen einem Compiler und einem Interpreter?

Ein Compiler ist ein Programm, das den gesamten Quellcode einer Programmiersprache analysiert und in einen ausführbaren Maschinencode übersetzt. Der übersetzte Code kann später unabhängig vom Compiler ausgeführt werden.

Ein Interpreter ist ein Programm, das den Quellcode einer Programmiersprache Zeile für Zeile ausführt. Im Gegensatz zum Compiler, der den ganzen Code vor der Ausführung übersetzt, übersetzt der Interpreter den Code zur Laufzeit. Der Interpreter analysiert und führt jede Anweisung einzeln aus, wodurch eine direkte Interpretation des Codes ermöglicht wird.

Nennen Sie je ein Beispiel für eine Compiler- und eine Interpretersprache.

Compilersprachen:

  • C
  • C++
  • Pascal

 

Interpretersprachen:

  • Perl
  • Python
  • BASIC

Welche Vorteile bietet die Verwendung einer Versionsverwaltung in der Softwareentwicklung

Die Verwendung einer Versionsverwaltung in der Softwarentwicklung:

  • ermöglicht die Nachverfolgung von Änderungen am Quellcode
  • erlaubt das einfache Zurücksetzen auf frühere Versionen, falls Fehler auftreten oder unerwünschte Änderungen vorgenommen wurden
  • ermöglicht die Zusammenarbeit mehrerer Entwickler an einem Projekt, da Änderungen nahtlos zusammengeführt werden können
  • erleichtert das Testen neuer Funktionen oder Experimente
  • ohne die Integrität des Hauptprojekts zu gefährden
  • trägt dazu bei, den Entwicklungsprozess transparenter zu gestalten.

Was ist JSON und wo wird es verwendet?

JSON wird häufig in Webanwendungen und APIs (Application Programming Interfaces) eingesetzt.

JSON (JavaScript Object Notation) ist ein Datenformat, das zur Speicherung und Übertragung strukturierter Daten verwendet wird.

JSON speichert Daten in Form von Attribut-Wert-Paaren.

Ein JSON-Dokument besteht aus geschweiften Klammern und enthält eine oder mehrere Eigenschaften. Jede Eigenschaft besteht aus einem Namen und einem Wert, die durch einen Doppelpunkt getrennt sind.

 

Was sind die Unterschiede zwischen den Datenformaten CSV und XML?

CSV (Comma-Seperated Values) und XML (eXtensible Markup Language) sind verschiedene Datenformate, die zur Speicherung und Übertragung von strukturierten Daten verwendet werden.

  • CSV ist ein textbasiertes Format, bei dem Daten in Tabellenform organisiert sind. CSV enthält normalerweise keine Strukturinformationen oder Hierachie.
  • XML ist eine Markup-Sprache, die eine hierachische Struktur verwendet. Daten werden in Tags eingebettet und können ineinander verschachtelt werden, um komplexe Hierachien darzustellen.

Beschreiben Sie die Eigenschaften von Struktogrammen in Bezug auf Allgemeingültigkeit, Deklaration von Variablen und Exklusivität.

Allgemeingültigkeit:

  • Struktogramme sollen keine spezifischen Syntaxelemente einer bestimmten Programmiersprache beinhalten.
  • Ihr Design sollte allgemeingültig und universell sein, sodass die dargestellten Logiken leicht verstanden und in jede Programmiersprache übersetzt werden können.

Deklaration von Variablen:

  • Die Deklarationen von Variabelen und Konstanten werden im ersten Anweisungsblock vorgenommen.

Exclusivität:

  • Jede Anweisung in einm Struktogramm wird durch einen eigenen Strukturblock repräsentiert.
  • Selbst bei Anweisungen, die ähnlich oder identisch sind, ist es nicht erlaubt, sie in einem einzigen Strukturblock zu kombinieren.

Der UML-Standard unterscheidet zwischen Strukturdiagrammen und Verhältnisdiagrammen.

Nennen Sie jeweils zwei Beispiele aus diesen beiden Kategorien.

Strukturdiagramme:

  • Klassendiagramm
  • Objektdiagramm
  • Paketdiagramm
  • Komponentendiagramm
  • Profildiagramm
  • Verteilungsdiagramm
  • Kompositionsstrukturdiagramm

 

Verhältnisdiagramme:

  • Anwendungsfalldiagramm
  • Zustandsdiagramm
  • Aktivitätsdiagramm
  • Sequenzdiagramm
  • Kommunikationsdiagramm
  • Zeitdiagramm
  • Interaktionsübersichtsdiagramm

Wofür wird das UML-Aktivitätsdiagramm bei der Modellierung genutzt?

Ein UML-Aktivitätsdiagramm ist ein Verhaltensdiagramm, das die Reihenfolge und Bedingungen für die Ausführung verschiedener Aktivitäten in einem System darstellt.

Es wird in der Modellierung verwendet, um:

  • Arbeitsabläufe zu visualisieren
  • Verhalten von Systemteilen zu modellieren
  • Anforderungen zu analysieren und zu designen
  • paralelle Abläufe darzustellen

Es besteht aus Elementen wie Start- und Endknoten, Aktionsknoten, Entscheidungsknoten und Synchronisationsstangen.

Welche Informationen kann man aus dem Klassendiagramm ableiten?

Das Klassendiagramm zeigt Klassen, ihre Attribute und Methoden sowie Beziehungen zwischen Klassen.

Aus einem Klassendiagramm kann man folgende Informationen ableiten:

- Klassen und Objekte: Welche Klassen gibt es und welche Objekte repräsentieren sie?

- Attribute und Operationen: Welche Eigenschaften und Verhaltensweisen haben die Klassen?

- Beziehungen: Wie sind die Klassen miteinander verknüpft (z.B. durch Assoziationen oder Vererbungen)?

- Sichtbarkeit: Welche Attribute und Operationen sind öffentlich, privat oder geschützt? 

- Kardinalitäten: Wie viele Instanzen einer Klasse können mit einer anderen in Beziehung stehen?

Was ist eine Klasse in der objektorientierten Programmierung?

Eine Klasse in der objektorientierten Programmierung ist ein Bauplan für die Erstellung von Objekten.

Sie definiert Eigenschaften (Variablen, die den Zustand repräsentieren) und Methoden (Funktionen, die das Verhalten repräsentieren) eines Objekts.

Eine Klasse ermöglicht die Erstellung mehrerer Objekte mit ähnlichen Merkmalen und Verhaltensweisen.

-> Sie bildet die Grundlage für Vererbung und Polymorphie.

Was ist ein Objekt in der objektorientieren Programmierung?

  1. Ein Objekt in der objektorientierten Programmierung ist eine konkrete Instanz einer Klasse.
  2. Es besitzt die Attribute und Methoden, die in seiner Klasse definiert sind.
  3. Diese Attribute repräsentieren den Zustand des Objekts, während die Methoden das Verhalten definieren, das auf diesem Zustand operiert. Ein Objekt ist also eine Verkapselung von Daten (Zustand) und den dazu gehörenden Operationen (Verhalten).

In UML-Klassendiagrammen wird zwischen den Beziehungstypen Aggregation und Komposition unterschieden. Erläutern Sie den Unterschied zwischen diesen beiden Beziehungstypen.

Bei der Aggregation handelt es sich um eine lose Beziehung zwischen zwei Klassen, bei der eine Klasse (das Ganze) eine Sammlung oder eine Gruppe von Objekten einer anderen Klasse (Teile) enthält. Die Beziehung zwischen dem Ganzen und den Teilen ist in der Regel optional, das heißt das Ganze kann ohne die Teile existieren.

Bei der Komposition handelt es sich um eine starke Beziehung zwischen zwei Klassen, bei der eine Klasse (das Ganze) aus einer anderen Klasse (dem Teil) besteht. Die Teile können nur als Teil des Ganzen existieren und haben keine eigenständige Existenz. Wenn das Ganze zerstört wird, werden die Teile zerstört.

Erklären Sie das Prinzip der Vererbung in der objektorientierten Programmierung.

  • In der objektorientierten Programmierung ist Verebung ein Schlüsselprinzip, das es ermöglicht, neue Klassen zu erzeugen.
  • Die neu erstellte Klasse wird als "Unterklasse" oder "abgeleitete Klasse" bezeichnet, während die existierende Klasse, von der sie erbt, als "Oberklasse" oder "Basisklasse" bezeichnet wird.
  • Die Vererbung ist nützlich für die Wiederherstellung von Code und die Reduzierung von Redundanz. Sie ermöglicht es, dass Eigenschaften (Attribute) und Verhaltensweisen (Methoden), die in der Oberklasse definiert sind, an die Unterklasse weitergegeben werden.

In welchem Zusammenhang steht das Konzept der Datenkapslung in der objektorientierten Programmierung mit den Prinzipien der Datenintegrität und der Code-Wartbarkeit?

Datenkapslung ist ein zentraler Grundsatz der objektorientierten Programmierung.

Sie verbirgt die Daten (Variablen) und die Methoden einer Klasse und schützt Daten vor dem dirketen Zugriff von außen.

Nur die öffentlichen Methoden der Klasse können auf die internen Daten zugreifen. Dies schafft ein hohes Maß an Datenintegrität, da ihre Daten nur auf sichere und kontrollierte Weise manipuliert werden können.

Darüber hinaus verbessert es die Wartbarkeit und Verständlichkeit des Codes, da Änderungen an der internen Implementierung der Klasse nicht die Teile des Programms beeinflussen, die die Klasse verwenden.

Was ist der Unterschied zwischen Prozeduren und Funktionen in der Programmierung?

  • Eine Funktion ist Codeblock, der eine spezifische Aufgabe ausführt und in der Regel einen Wert zurückgibt.
  • Eine Prozedur ist auch ein Codeblock, der eine spezifische Aufgabe ausführt.

Der Hauptunterschied besteht jedoch darin, dass eine Prozedur normalerweise keinen Wert zurückgibt. Eine Prozedur führt eine Aufgabe aus und kehrt dann zur aufrufenden Stelle im Code zurück.

Wie unterscheiden sich prozedurale und objektorientierte Programmierung voneinander?

Die prozedurale Programmierung ist auf den Gedanken aufgebaut, dass ein Programm eine Reihe von Aufgaben (Prozeduren) ausführt, die auf Daten operieren. Ein prozedurales Programm besteht i. d. R. aus einer Reihe von Prozeduren, die aufgerufen werden, um eine bestimmte Aufgabe zu erfüllen.

In der objektorientierten Programmierung (OOP) werden Daten und Funktionen zu Objekten zusammengefasst. Ein Objekt kann Attribute (Daten) und Methoden (Funktionen) enthalten. OOP fokussiert auf die drei Hauptprinzipien Vererbung, Kapselung und Polymorphie.

Was versteht man unter dem Begriff "Industrie 4.0"?

Industrie 4.0 bezieht sich auf die vierte industrielle Revolution, die durch die Integration von digitalen Technologien in die Produktion und den Betrieb von Unternehmen gekennzeichnet ist.

Es umfasst Konzepte wie das Internet der

  • Dinge (IoT)
  • künstliche Intelligenz
  • maschinelles Lernen
  • Big Data-Analyse
  • automatisierte Prozesse

Industrie 4.0 zielt darauf ab, intelligente Fabriken und vernetzte Systeme zu schaffen, in denen Maschinen, Geräte und Maschinen miteinander kommunizieren und kooperieren können.

Hierdurch bietet sich Unternehmen die Möglichkeit, ihre Produkitvität, Flexibilität und Wettbewerbsfähigkeit zu steigern.

Étudier