Zum Inhalt

Datenbankmodell interpretieren

Datenbankmodell

Datenbankmodell: Schulcafeteria

Die Schulcafeteria möchte ein System zur Verwaltung von Speisen, Schülern und Bestellungen einführen. Ziel ist es, den Überblick über die angebotenen Speisen, die Bestellungen der Schüler und die Verwaltung der Schülerdaten zu behalten.

Anforderungen

  • Verwaltung der in der Cafeteria angebotenen Speisen. Mit eindeutiger Kennung jeder Speise, Name und Preis der Speise.
  • Verwaltung der Schüler, die Bestellungen aufgeben können. Eindeutige Kennung jedes Schülers, Name und Klasse des Schülers
  • Verwaltung der Bestellungen, die von Schülern aufgegeben werden. Eindeutige Kennung jeder Bestellung, Verweis auf die bestellte Speise. Verweis auf den Schüler, der die Bestellung aufgegeben hat. Datum der Bestellung.
  • Jede Speise kann in mehreren Bestellungen vorkommen, aber jede Bestellung bezieht sich auf genau eine Speise. Jeder Schüler kann mehrere Bestellungen aufgeben, aber jede Bestellung ist mit genau einem Schüler verknüpft.

UML:

SpeiseSpeiseID : Integer [PK]Name : StringPreis : FloatSchülerSchülerID : Integer [PK]Name : StringKlasse : StringBestellungBestellungID : Integer [PK]Datum : DateSpeiseID : Integer [FK]SchülerID : Integer [FK]gibt auf10..*wird bestellt in10..*
400. Welcome to PlantUML! You can start with a simple UML Diagram like: Bob->Alice: Hello Or class Example You will find more information about PlantUML syntax onhttps://plantuml.com (Details by typinglicensekeyword) PlantUML version 1.2026.3beta5 / f567ad8 [2026-03-18 20:20:26 UTC][From string (line 2) ] @startuml!include https://raw.githubusercontent.com/MikhailKravets/mkdocs_puml/master/themes/default/dark.pumlCannot open URL

SQL Create Table

CREATE TABLE Schueler (
SchuelerID INT,
Name VARCHAR(50),
Klasse VARCHAR(5)
);
INSERT INTO Schueler (SchuelerID, Name, Klasse) VALUES
(1, 'Anna', '10A'),
(2, 'Ben', '10B'),
(3, 'Clara', '10A'),
(4, 'David', '10B'),
(5, 'Emma', '10C'),
(6, 'Felix', '10A'),
(7, 'Gina', '10B'),
(8, 'Hans', '10C'),
(9, 'Iris', '10A'),
(10, 'Jonas', '10B');

CREATE TABLE Bestellungen (
BestellID INT,
SpeisenID INT,
SchülerID INT,
Bestelldatum DATE
);
INSERT INTO Bestellungen (BestellID, SpeisenID, SchülerID, Bestelldatum) VALUES
(1, 1, 1, '2023-10-01'),
(2, 2, 2, '2023-10-01'),
(3, 3, 3, '2023-10-02'),
(4, 4, 4, '2023-10-02'),
(5, 5, 5, '2023-10-03'),
(6, 6, 6, '2023-10-03'),
(7, 7, 7, '2023-10-04'),
(8, 8, 8, '2023-10-04'),
(9, 9, 9, '2023-10-05'),
(10, 10, 10, '2023-10-05');

CREATE TABLE Speisen (
SpeisenID INT,
Name VARCHAR(50),
Preis INT
);
INSERT INTO Speisen (SpeisenID, Name, Preis) VALUES
(1, 'Pizza', 5.00),
(2, 'Pasta', 4.50),
(3, 'Salat', 3.00),
(4, 'Sandwich', 3.50),
(5, 'Suppe', 2.50),
(6, 'Burger', 5.50),
(7, 'Hotdog', 3.00),
(8, 'Wrap', 4.00),
(9, 'Obstsalat', 2.00),
(10, 'Fruchtsaft', 1.50);

Welche Daten liegen in der DATABASE

Verbessertes Datenmodell Buchausleihe

CREATE DATABASE Buchausleihe;

USE Buchausleihe;

CREATE TABLE Kunden (
    KundenID INT AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(50),
    Adresse VARCHAR(50),
    Telefonnummer VARCHAR(15) -- Telefonnummer als VARCHAR
);

CREATE TABLE Verlage (
    VerlagID INT AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(50),
    Adresse VARCHAR(50)
);

CREATE TABLE Buecher (
    ISBN INT PRIMARY KEY, -- ISBN als INT
    Titel VARCHAR(50),
    Autor VARCHAR(50),
    VerlagID INT, -- Fremdschluessel zu Verlage
    FOREIGN KEY (VerlagID) REFERENCES Verlage(VerlagID)
);
CREATE TABLE Ausleihen (
    AusleihID INT AUTO_INCREMENT PRIMARY KEY,
    BuchID INT, -- Fremdschluessel zu Bücher (ISBN)
    KundenID INT, -- Fremdschluessel zu Kunden (KundenID)
    Ausleihdatum DATE, -- Ausleihdatum als DATE
    Rückgabedatum DATE, -- Rückgabedatum als DATE
    FOREIGN KEY (BuchID) REFERENCES Buecher(ISBN),
    FOREIGN KEY (KundenID) REFERENCES Kunden(KundenID)
);

Der Code erstellt eine Datenbank für ein Buchverleihsystem mit Tabellen für Kunden, Bücher, Verlage und Ausleihen. Jede Tabelle hat eine eindeutige Kennung (Primärschlüssel), und Fremdschlüssel verknüpfen Tabellen miteinander. Der Code sorgt dafür, dass keine ungültigen Daten eingegeben werden können und unterstützt die referentielle Integrität der Daten.

400. Welcome to PlantUML! You can start with a simple UML Diagram like: Bob->Alice: Hello Or class Example You will find more information about PlantUML syntax onhttps://plantuml.com (Details by typinglicensekeyword) PlantUML version 1.2026.3beta5 / f567ad8 [2026-03-18 20:20:26 UTC][From string (line 2) ] @startuml!include https://raw.githubusercontent.com/MikhailKravets/mkdocs_puml/master/themes/default/light.pumlCannot open URL
KundenKundenID: IntegerName: StringAdresse: StringTelefonnummer: StringVerlageVerlagID: IntegerName: StringAdresse: StringBücherBuchID: IntegerTitel: StringAutor: StringISBN: StringVerlagID: IntegerAusleihenAusleihID: IntegerBuchID: IntegerKundenID: IntegerAusleihdatum: DateRückgabedatum: Dateleiht ausausgeliehenveröffentlicht