add basic stuff

This commit is contained in:
lp19 2022-03-23 08:19:55 +01:00
parent c2e3f28a8e
commit 81d3978467
4 changed files with 127 additions and 1 deletions

103
CreateDB.sql Normal file
View File

@ -0,0 +1,103 @@
CREATE TABLE `fach` (
`id` int(11) NOT NULL,
`name` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `fach` (`id`, `name`) VALUES
(1, 'Mathe'),
(2, 'Informatik');
CREATE TABLE `klasse` (
`id` int(11) NOT NULL,
`name` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `klasse` (`id`, `name`) VALUES
(1, 'FI195'),
(2, 'SO195');
CREATE TABLE `lehrer` (
`id` int(11) NOT NULL,
`name` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `lehrer` (`id`, `name`) VALUES
(1, 'Herbert'),
(2, 'Uschi');
CREATE TABLE `schueler` (
`id` int(11) NOT NULL,
`name` varchar(50) NOT NULL,
`klasse_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `schueler` (`id`, `name`, `klasse_id`) VALUES
(1, 'Lucas', 1),
(2, 'Bastian', 1),
(3, 'Antonia', 2),
(4, 'Klaus-Günther', 2);
CREATE TABLE `unterricht` (
`fach_id` int(11) NOT NULL,
`lehrer_id` int(11) NOT NULL,
`klassen_id` int(11) NOT NULL,
`Zeitpunkt` datetime NOT NULL,
`id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `unterricht` (`fach_id`, `lehrer_id`, `klassen_id`, `Zeitpunkt`, `id`) VALUES
(1, 2, 1, '2022-03-22 08:00:00', 1),
(1, 1, 2, '2022-03-22 08:00:00', 2),
(2, 1, 1, '2022-03-22 09:30:00', 3),
(2, 2, 2, '2022-03-22 09:30:00', 4);
ALTER TABLE `fach`
ADD PRIMARY KEY (`id`);
ALTER TABLE `klasse`
ADD PRIMARY KEY (`id`);
ALTER TABLE `lehrer`
ADD PRIMARY KEY (`id`);
ALTER TABLE `schueler`
ADD PRIMARY KEY (`id`),
ADD KEY `klasse_id` (`klasse_id`);
ALTER TABLE `unterricht`
ADD PRIMARY KEY (`id`),
ADD KEY `lehrer_id` (`lehrer_id`),
ADD KEY `fach_id` (`fach_id`),
ADD KEY `klassen_id` (`klassen_id`);
ALTER TABLE `fach`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
ALTER TABLE `klasse`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
ALTER TABLE `lehrer`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
ALTER TABLE `schueler`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
ALTER TABLE `unterricht`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
ALTER TABLE `schueler`
ADD CONSTRAINT `schueler_ibfk_1` FOREIGN KEY (`klasse_id`) REFERENCES `klasse` (`id`);
ALTER TABLE `unterricht`
ADD CONSTRAINT `unterricht_ibfk_1` FOREIGN KEY (`lehrer_id`) REFERENCES `lehrer` (`id`),
ADD CONSTRAINT `unterricht_ibfk_2` FOREIGN KEY (`fach_id`) REFERENCES `fach` (`id`),
ADD CONSTRAINT `unterricht_ibfk_3` FOREIGN KEY (`klassen_id`) REFERENCES `klasse` (`id`);
COMMIT;

View File

@ -0,0 +1 @@
SELECT klasse.name , COUNT(*) as Schueleranzahl from klasse left join schueler on schueler.klasse_id = klasse.id GROUP by schueler.klasse_id ;

View File

@ -0,0 +1 @@
SELECT unterricht.Zeitpunkt as Zeitpunkt, klasse.name as klasse, fach.name as fach, lehrer.name as lehrer FROM unterricht left join klasse on klasse.id = unterricht.klassen_id left JOIN lehrer ON lehrer.id = unterricht.lehrer_id LEFT join fach on fach.id = unterricht.fach_id ORDER by unterricht.Zeitpunkt

View File

@ -1 +1,22 @@
# SQL-Querys-Unterricht
# SQL-Querys-Unterricht
## Aufgabe:
- Erstellung einer SQL-Abfrage mit mind. 3 Joins.
## Zusatz:
- Erstellung der Entsprechenden Datenbank.
- Weitere Nützliche Querys:
## Weiteres:
Diese Repo kann immerwieder Aktuallisert werden
sprich bugs gefixt und neue Features hinzugefügt werden.
( Einfach ein Pull request schicken )
## Devs:
- [@lucaspalomodevelop](https://github.com/lucaspalomodevelop)
- [@LonhornHDTV](https://github.com/LonghornHDTV)