Umbenennung
Attributnamen können umbenannt werden. Diese Operation ist eine der Grundoperationen der relationalen Algebra.
Eine solche Umbenennung kann erforderlich sein, um für die Durchführung
- der Mengenoperatoren (Vereinigung, Differenz, Durchschnitt die für die Vereinigungskonformität notwendige Namensgleichheit herzustellen,
- der Division die semantisch richtigen Attribute entweder namensgleich bzw. namensungleich zu haben oder
- des Natural-Joins die semantisch richtigen Attribute namensgleich zu haben.
Definition:
Sei R(A1,...,An) eine Relation mit den Attributnamen (A1,...,An) und (Bi,...,Bj) sei eine Menge von Attributnamen.
Dann ist die Umbenennung der Attributnamen definiert durch:
Umbenenung (Ai -> Bi ,..., Aj -> Bj) (R) := { (C1,...,Cn) | Ck ∈ Ak oder Ck ∈ Bk }.
Beispiele:
Es sei folgende Mitarbeiter-Relation gegeben und die Relation Abteilungen:
Mita_ID | Name | Vorname | Ort | Abt_ID | Gehalt |
4711 | Müller | Agathe | Gummersbach | 10 | 3000,00 |
4713 | Meier | Hugo | Köln | 20 | 3400,00 |
4897 | Schmitt | Erwin | Gummersbach | 20 | 2500,00 |
4944 | Schmitd | Else | Gummersbach | 20 |
Abt_ID | Bezeichnung | Ort | Budget | Leiter |
10 | Einkauf | Köln | 240000,00 | 4711 |
20 | Verkauf | Bonn | 350000,00 | 4897 |
30 | Produktion | Köln | 400000,00 |
-- Zeigen Sie alle Mitarbeiter an mit ihren Abteilungen, in denen sie arbeiten. -- Aufgrund der Umbennung des Attributnamens von "Ort" in "Geschäftsstelle" wird der -- Natural-Join lediglich über die implizite und semantisch korrekte Bedingung -- "Mitarbeiter.Abt_ID = Abteilungen.Abt_ID" ausgeführt. Natural-Join( Mitarbeiter, Umbennung(Ort -> Geschäftsstelle)(Abteilungen) )
Ergebnis:
Mita_ID | Name | Vorname | Ort | Abt_ID | Gehalt | Bezeichnung | Geschäftsstelle | Budget | Leiter |
4711 | Müller | Agathe | Gummersbach | 10 | 3000,00 | Einkauf | Köln | 240000,00 | 4711 |
4713 | Meier | Hugo | Köln | 20 | 3400,00 | Verkauf | Bonn | 350000,00 | 4897 |
4897 | Schmitt | Erwin | Gummersbach | 20 | 2500,00 | Verkauf | Bonn | 350000,00 | 4897 |
4944 | Schmitd | Else | Gummersbach | 20 | Verkauf | Bonn | 350000,00 | 4897 |
-- Ohne diese Umbennung wird der Natural-Join nicht nur über die Abt_ID sondern auch über den Ort ausgeführt, -- weil dieses Attribut ebenfalls namensgleich ist. In diesem Fall wird die implizite aber semantisch nicht korrekte Bedingung -- "Mitarbeiter.Abt_ID = Abteilungen.Abt_ID AND Mitarbeiter.Ort = Abteilungen.Ort" ausgeführt. -- Für diese implizite Bedingung gilt eine gänzlich andere Semantik: -- Zeigen Sie alle Mitarbeiter an mit ihren Abteilungen, die im gleichen Ort arbeiten an dem sie wohnen. -- Entsprechend ist die Ergebnismenge leer, da keine der Tupel diese Bedingung erfüllt.
siehe auch: Rechengesetze-der-relationalen-Algebra
Quellen:
- Elmasri, Ramez/Navathe, Shamkant B.: "Grundlagen von Datenbanksystemen" , Pearson Studium, München, 2002, ISBN 3-8273-7021-3
- Faeskorn-Woyke, Heide/Bertelsmeier, Birgit/Riemer, Petra/Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
- Kemper, Alfons/Eickler, André: "Datenbanksysteme", Oldenbourg, München, 2009, 978-3-486-59018-0
- Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2
- Vossen, Gottfried: "Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme", Oldenbourg, München, 2008, ISBN 978-3-486-27574-2
Kategorie: Relationale Algebra, U