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:¶
400.
SQL Create Table¶
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');
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');
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.



