hotti: PHP Doppelte Spaltennamen bei JOIN in MySQL

Beitrag lesen

Moin

Am besten kannst Du Dich mit joins vertraut machen, wenn Du eine Tabelle mit sich selbst joinst, nehmen wir mal an, die Tabelle 'public' hat die Felder 'ent', 'att', 'val'. Jetz joinen wir mal die Tabelle mit sich selbst, schon allein dafür müssen wir einen alias auf den Tabellen-Namen setzen, sagen wir, a und b:

Also ich weiß schon wie Joins funktionieren und wie ein Alias funktioniert. Es ging mir echt darum ob es eine andere Möglichkeit gibt, dies ohne Alias zu automatisieren. Ich arbeite seit 10 Jahren mit MySQL und ich arbeite immer mit Alias... ;)

Ooops ;)

Automatisieren will jeder. Ich sehe auch zu, dass meine DB-Tabellen bzw. das Design Solcher, vom Code möglichst unabhängig wird. Daten-Abstraktion: Der Code wird unabhängig vom DB-Design und die Namen der Spalten (Feldnamen) spielen überhaupt keine Rolle mehr. Einzig der Code bestimmt die Datenstruktur und wo das gespeichert wird, ist dem Code egal (der Layer wird darüber hinaus austauschbar). ORM mal so betrachtet, vermittelt zwischen den in der DB vorliegenden Feldnamen und den Attributen der im Code verwendeten Datenobjekten. Im unten verlinkten Artikel gibt es dazu einen Abschnitt samt Performance-Betrachtung.

Isses das, worauf Du hinauswillst und Dein Wunsch nach Automatisierung abzielt? Wenn ja, guck mal hier (sorry für Adsense), das Teil ist sehr praktisch und gar nicht so kompliziert wie mancher Leuter meinen mögen. Sehr vielen Anwendungen genügt das Entity/Attribute/Value-Datenmodell, kurz EAV und damit mache ich so ziemlich alles, neben persistenter Datenhaltung in Dateien oder Datenbanken auch Datenübertragungen mit zyklischen Strukturen (Webservices, Content-Management, Remote-DB-Management, Ajax).

Schöne Grüße.