Schema: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 26: | Zeile 26: | ||
'''Datentypen''': Definition der zulässigen Wertebereiche | '''Datentypen''': Definition der zulässigen Wertebereiche | ||
'''Primärschlüssel''': Eindeutige Identifikation von Datensätzen | '''[[Primärschlüssel]]''': Eindeutige Identifikation von Datensätzen | ||
'''Fremdschlüssel''': Definition von Beziehungen zwischen Tabellen | '''Fremdschlüssel''': Definition von Beziehungen zwischen Tabellen | ||
| Zeile 58: | Zeile 58: | ||
==Beispiel Friseursalon== | ==Beispiel Friseursalon== | ||
[[Datei:SchemaInMySQL.png|mini|ERM zum Friseursalon]] | |||
[[Datei:SchemaInMySQL.png|mini]] | [[Datei:DBMS-MySQL.png|mini|Darstellung in der MySQL-Workbench]] | ||
[[Datei:DBMS-MySQL.png|mini]] | Wir erstellen eine Datenbank in mittels [[Structured_Query_Language|SQL]]-Befehlen. Auf der rechten Seiten ist das Schema in der MySQL Workbench sowie das Schema als [[Entity-Relationship-Modell|ERM]] dargestellt. | ||
<syntaxhighlight lang="sql"> | |||
CREATE SCHEMA `friseursalon`; | |||
CREATE TABLE `friseursalon`.`salon` ( | |||
`idsalon` INT NOT NULL AUTO_INCREMENT, | |||
`name` VARCHAR(45) NOT NULL, | |||
PRIMARY KEY (`idsalon`) | |||
); | |||
CREATE TABLE `friseursalon`.`mitarbeiter` ( | |||
`idmitarbeiter` INT NOT NULL AUTO_INCREMENT, | |||
`nachname` VARCHAR(45) NOT NULL, | |||
`vorname` VARCHAR(45) NOT NULL, | |||
`idsalon` INT NOT NULL, | |||
PRIMARY KEY (`idmitarbeiter`), | |||
INDEX `fksalon` (`idsalon` ASC), | |||
CONSTRAINT `fksalon` FOREIGN KEY (`idsalon`) | |||
REFERENCES `friseursalon`.`salon` (`idsalon`) | |||
ON DELETE NO ACTION | |||
ON UPDATE NO ACTION | |||
); | |||
CREATE TABLE `friseursalon`.`kunde` ( | |||
`idkunde` INT NOT NULL AUTO_INCREMENT, | |||
`nachname` VARCHAR(45) NOT NULL, | |||
`vorname` VARCHAR(45) NOT NULL, | |||
PRIMARY KEY (`idkunde`) | |||
); | |||
CREATE TABLE `friseursalon`.`termin` ( | |||
`idtermin` INT NOT NULL AUTO_INCREMENT, | |||
`datum` VARCHAR(45) NULL, | |||
`rechnungsbetrag` DOUBLE NULL, | |||
`idmitarbeiter` INT NOT NULL, | |||
`idkunde` INT NOT NULL, | |||
PRIMARY KEY (`idtermin`), | |||
INDEX `fkmitarbeiter` (`idmitarbeiter` ASC), | |||
INDEX `fkkunde` (`idkunde` ASC), | |||
CONSTRAINT `fkmitarbeiter` FOREIGN KEY (`idmitarbeiter`) | |||
REFERENCES `friseursalon`.`mitarbeiter` (`idmitarbeiter`) | |||
ON DELETE NO ACTION | |||
ON UPDATE NO ACTION, | |||
CONSTRAINT `fkkunde` FOREIGN KEY (`idkunde`) | |||
REFERENCES `friseursalon`.`kunde` (`idkunde`) | |||
ON DELETE NO ACTION | |||
ON UPDATE NO ACTION | |||
); | |||
</syntaxhighlight> | |||
[[Kategorie:Datenbanken]] | [[Kategorie:Datenbanken]] | ||
[[Kategorie:FI_I_SDM]] | [[Kategorie:FI_I_SDM]] | ||
[[Kategorie:FI_I_TP1]] | |||