Views sollten eigentlich jedem Webdeveloper bekannt sein, deswegen versteht sich der Post hier eher als kleiner „Reminder“. Legen wir doch direkt mit einem Beispiel los. Ich habe eine Tabelle pizzas:
Und eine Tabelle ingredients:
Klassische 1:n-Beziehung also. Ich habe eine wunderbare, normalisierte Datenhaltung (okay, man könnte auch den Zutaten noch eine Zutaten-ID geben aber das verkompliziert das Beispiel unnötig). Wenn ich jetzt allerdings häufig den Bezug der Pizza zu den Zutaten brauche, schreibe ich in vielen Funktionen joins von ingredients auf pizzas. Das geht schlauer! – mit Views.
CREATE VIEW pizzaingredients AS SELECT p.*, i.ingredient FROM pizzas p LEFT JOIN ingredients i ON i.pizzaid = p.id
Feuert man dieses Statement raus, wird die View erstellt und ist ab jetzt wie eine Tabelle in eurem Datenbank-Tool aufrufbar. Sieht übrigens dann so aus:
Nun könnt ihr auf der View so abfragen, als ob es eine normale Tabelle wäre. Wenn mir jetzt noch jemand verraten kann, warum Views gefühlt von niemandem verwendet werden, wär ich wieder ein bisschen schlauer.
Hi erstmal,
ich würde dir die Frage sofort bei einem Bierchen beantworten, aber zum schreiben ist es eindeutig zu lang. Darum gibt es nur eine kleine Leseprobe von mir: http://www.nambu.ch/blog/artikel/13-MySQL+Performance+bei+Views
Ich wünsch einen schönen Abend. :)