Gegeben sei eine Datenbank mit den Tabellen:
- Eis:
(name varchar(255), kalorien int, farbe varchar(100), primary key (name))
- Inhaltsstoffe:
(eisName varchar(255), zutat varchar(100), primary key (eisName, zutat),foreign key(eisName) REFERENCES Eis(name) on DELETE CASCADE on UPDATE CASCADE);"
- Esser:
(name varchar(255), geburtsjahr int, wohnort varchar(255),primary key (name) )
- Eisdiele:
(name VARCHAR(255), ort VARCHAR(255), strasse varchar(255), besitzer varchar(255), aussenverkauf boolean, specialEis varchar(255) NOT NULL, primary key(name), foreign key (specialEis) REFERENCES Eis(name))
- EisdieleVerkauftEis:
(dielenName varchar(255), eisName varchar(255),preis real, PRIMARY KEY (dielenName, eisName),FOREIGN KEY (dielenName) REFERENCES Eisdiele (name),foreign key (eisName) REFERENCES Eis(name))
- EsserBervorzugtEis:
(name varchar(255), dielenName varchar(255), eisName varchar(255),PRIMARY KEY (dielenName, name),FOREIGN KEY (dielenName) REFERENCES Eisdiele (name),foreign key (eisName) REFERENCES Eis(name),foreign key (name) REFERENCES Esser(name))
Schreiben Sie folgende Funktionen:
- String eisProOrt(String ort);
Es soll ein SQLString erzeugt werden, welcher die Eis auflistet, welche in dem übergebenen Ort verkauft werden. Jedes Eis soll nur einmal vorkommen und alphabetisch aufsteigend geordnet werden (bei A beginnend).
- String karteLeckerSchmecker();
Es soll ein SQL-String erzeugt werden, welcher die Eisnamen der Eisdiele Lecker Schmecker enthält, wobei diese nach ihre Beliebtheit zu sortieren ist. Das Beliebteste zu erst. Wenn ein Eis im Beliebtheitsracking gleich ist, soll alphabeitsch sortiert werden.
- String specialEis(Connection conn) throws Exception;
Die Ausgabe soll ein String sein, welcher das Ergebnis ist der Abfrage welche Eisdiele(n) das Teuerste Specialeis haben.
- int schokoladenEis(Connection conn) throws SQLException;
Wieviele Eisdielen verkaufen Schokoladeneis?
- String veganesEis();
Christoph ist Veganer, er darf keine Produkte mit Milch oder Sahne zu sich nehmen. In welchem/n Ort finder er eine Eisdielen welches veganes Eis? Schreiben Sie ihre Ausgabe in einen SQL-String.
- String eisdielenEmpfehlung(String name, String ort, Connection conn) throws SQLException;
Die Ausgabe soll für eine bestimmte Person in einem bestimmten Ort eine Empfehlung für eine Eisdiele enthalten. Die Ausgabe soll den bzw. die Namen enthalten. Die Auswahl soll dabei anhand der Specialeis des Eisdielen und der bereits gemochten Eis der Person erfolgen. In anderen Worten: Es sollen nur die Eisdielen in dem Ort angezeigt werden, welche als Specialeis das hat, was die Person bereits irgendwo gemocht hat.
import java.sql.Connection;
import java.sql.SQLException;
final class SimpleSQL{
private SimpleSQL(){}
static String eisProOrt(String ort){
return "";
}
static String karteLeckerSchmecker(){
return "";
}
static String specialEis(Connection conn)throws Exception{
return "";
}
static int schokoladenEis(Connection conn)throws SQLException{
return 0;
}
static String veganesEis(){
return "";
}
static String eisdielenEmpfehlung(String name, String ort, Connection conn){
return "";
}
}