Einführung in die SQL-Datenbanken

Jul 19, 2024

Vollständiger SQL-Datenbankkurs für Anfänger

Einführung

  • SQL (Structured Query Language): Sprache zur Interaktion mit relationalen Datenbankverwaltungssystemen.
  • Relationale Datenbankverwaltungssysteme (RDBMS): Softwareanwendungen zur Erstellung und Verwaltung von Datenbanken.
  • Ziel des Kurses: Erlernen der grundlegenden bis zu fortgeschrittenen Abfragetechniken, Datenbankschema-Design und mehr.
  • Website der Giraffe Academy: Code und zusätzliche Ressourcen sind verfügbar auf GiraffeAcademy.com.

Grundbegriffe

  • Was ist eine Datenbank?
    • Sammlung verwandter Informationen.
    • Beispiele: Telefonbuch, Einkaufsliste.
    • Kann auf Papier, im Gedächtnis, auf einem Computer gespeichert werden.
  • Vorteile der Verwendung eines Computers für Datenbanken:
    • Umgang mit großen Datenmengen.
    • Datensicherheit.
    • Möglichkeiten der Sicherung und Duplizierung.

Datenbankverwaltungssysteme (DBMS)

  • DBMS: Softwareprogramm, das bei der Erstellung und Wartung einer Datenbank auf einem Computer hilft.
  • Funktionen des DBMS: Verwaltung von Sicherheit, Backup, Datenimport und -export.

Arten von Datenbanken

  • Relationale:
    • Organisieren Daten in Tabellen (Zeilen und Spalten).
    • Verwendung von Primärschlüsseln zur Identifikation eindeutiger Zeilen.
    • Beispiele für RDBMS: MySQL, PostgreSQL, Oracle.
  • Nicht-relationale (NoSQL): Organisieren Daten auf andere Weise (JSON, Graphen, Schlüssel-Wert-Paare).
    • Beispiele für NoSQL-DBMS: MongoDB, DynamoDB.

Structured Query Language (SQL)

  • SQL: Sprache zur Interaktion mit RDBMS-Systemen.
    • Wird verwendet, um CRUD-Operationen durchzuführen (Create, Read, Update, Delete).
  • SQL-Funktionen:
    • DQL (Data Query Language): Datenabfragen.
    • DDL (Data Definition Language): Definition von Datenschemata.
    • DCL (Data Control Language): Datenzugriffskontrolle.
    • DML (Data Manipulation Language): Einfügen, Aktualisieren, Löschen von Daten.
  • Grundlegende Abfragen:
    • SELECT: Abfragen spezifischer Daten.
    • WHERE: Filter für spezifischere Abfragen.
    • ORDER BY: Sortieren der Ergebnisse nach bestimmten Spalten.
    • LIMIT: Begrenzen der Anzahl der erhaltenen Ergebnisse.
    • Beispiel: SELECT * FROM students WHERE major='Biologie';

Installation von MySQL

  • Download und Installation: Verwendung des MySQL-Installers.
  • Post-Installation-Konfiguration: Erstellung von Datenbanken, Benutzern, Konfiguration von Ports.
  • Abfragetools: Installation von PopSQL zur Erleichterung der Erstellung und Ausführung von SQL-Abfragen.

Tabellen erstellen

  • Datentypen: INT, DECIMAL, VARCHAR, DATE, TIMESTAMP, BLOB.
  • Tabellenstruktur: Definition von Spalten mit den entsprechenden Datentypen und Primärschlüsseln.
  • SQL zum Erstellen von Tabellen: CREATE TABLE student (student_id INT PRIMARY KEY, name VARCHAR(20), major VARCHAR(20));

Einfügen, Aktualisieren und Löschen von Daten

  • Daten einfügen: INSERT INTO student (student_id, name, major) VALUES (1, 'Jack', 'Biologie');
  • Daten aktualisieren: UPDATE student SET major='Biochemie' WHERE student_id=1;
  • Daten löschen: DELETE FROM student WHERE student_id=1;

Komplexe Abfragen und Beziehungen

  • Verschachtelte Abfragen: Verwendung von Unterabfragen, um komplexere Ergebnisse zu erzielen.
  • Joins: Kombination von Zeilen aus zwei oder mehr Tabellen basierend auf gemeinsamen Spalten.
    • Arten von Joins: INNER JOIN, LEFT JOIN, RIGHT JOIN.
  • Aggregatfunktionen:
    • SUM: Summe der Werte einer Spalte.
    • AVG: Durchschnitt der Werte einer Spalte.
    • COUNT: Anzahl der Zeilen.

Schema-Design und Beziehungen

  • Entity-Relationship-Diagramme (ERD): Werkzeug zum Entwerfen und Visualisieren von Datenbankschemata.
    • Entitäten und Attribute: Identifikation der Elemente und ihrer Eigenschaften.
    • Beziehungen: Definition, wie die Entitäten miteinander in Beziehung stehen.
    • Kardinalitäten: Definition, wie viele Elemente einer Entität mit Elementen einer anderen in Beziehung stehen können.
  • Umwandlung von ER-Diagramm in ein Datenbankschema: Prozess der Umwandlung eines ER-Diagramms in eine Darstellung in Tabellen und Spalten.