4 UPALANIA W MUDfcl U Kfcl.Al. YJNYM
tak wy konać przemianowanie relacji S, aby jej pierwszy atrybut nazywał się X. W wyniku przetworzenia wyrażenia p%x. c. D)($) powstaje relacja S, która wygląda dokładnie jak relacja S /. rys. 4.3, a jedynie różni się od oryginału nazwą pierwszej kolumny, którą jest atrybut A'.
Jeśli tworzymy teraz iloczyn kartezjański S i R, to nic występuje już konflikt między nazwami atrybutów tych relacji, a więc nic potrzeba już stosować przemianowania. Wynikiem przetworzenia wyrażenia R x /tyr.c.oj^jcst prawic taka sama relacja jak R x S z rys. 4.3 poza tym, żc kolumny mają teraz nazwy: A, R. X. C oraz D. Tę nową relacje przedstawiono na rys. 4.8.
Inny sposób otrzymania tego samego wyniku polega na utworzeniu iloczynu kartezjańskiego przed przemianowaniem jak w przykładzie 4.5, a następnie przemianowanie wyniku. Wyrażenie Prs^.s..x «$) opisuje także relację przedstawioną na rys. 4.8. z takim samym zbiorem atrybutów', wyłącznie jej nazwa ftSjest inna niż na rys. 4.8.
□
Niektóre operacje, opisane w podrozdziale 4.1, można przedstawić za pomocą innych operacji algebry relacji. Na przykład przecięcie można przedstawić jako złożenie różnic:
Rr\S-R-(R-S)
A zatem, jeśli relacje R i S mają ten sam schemat, to ich iloczyn można obliczyć, tworząc now ą relację T. która jest różnicą między R i S, a więc zawiera krotki R nic należące do S. Jeśli teraz od R odejmiemy T, to pozostaną ty lko krotki, które są zarów no w /?. jak i w S.
Oba złączenia także można przedstawić w postaci złożenia innych operacji. Złączenie teta można przedstawić jako kombinację iloczynu kartezjań-skiego i selekcji:
R S = oi{R x S)
Z kolei złączenie naturalne relacji R oraz S można otrzymać również, zaczynając od utworzenia iloczy nu kartezjańskiego R x S. Potem należy wykonać operacje selekcji z warunkiem C, który ina postać:
R AI - S.A, AND RA) - SA2 and ... AND RA„ - SA„
a atrybuty At,A2.....A„ są wszystkimi atrybutami występującymi jednocze
śnie w obu relacjach R i S. W końcu trzeba odrzucić po jednej kopii powielonych atrybutów. Niech l. oznacza zbiór atrybutów z relacji R oraz zbiór tych atrybutów relacji S, które nie występują w R. Wówczas:
RtxS- n,(oc(R x S))
PRZYKl-AD 4.13
Złączenie naturalne relacji U \ V z rys. 4.5 można zapisać za pomocą operatorów iloczynu kartezjańskiego selekcji oraz projekcji jako:
nA. UB. U.CJjk&UH - VH A*D UjC «* KC W * *0)
Najpierw tworzy się iloczyn kartezjański U* V. Potem wybieramy te krotki, w których wartości par atrybutów o takich samych nazwach, tutaj li i C, pokrywają się. W końcu wykonujemy rzutowanie na wszystkie atrybuty poza pojedynczymi kopiami R oraz C, w tym przypadku wyeliminowaliśmy parę atrybutów R i C 7. relacji V, których nazwy występują również w schemacie U.
Aby podać jeszcze inny przykład, zapiszemy złączenie teta z przykładu 4.9 jako:
0A<r>Kszujf*yAU* V)
Tutaj tworzymy iloczyn kartezjański relacji U i V, a następnie stosujemy selekcję określoną warunkiem złączenia teta.
□
Nadmiarowość operatorów, którą opisaliśmy powyżej, jest jedynym rodzajem nadmiarowości, jaki występuje wśród zdefiniowanych operatorów Pozostałe sześć operacji: suma, różnica, selekcja, rzutowanie, iloczyn kartę zjański i przemianowanie jest wzajemnie niezależne, żadnej z nich nic można przedstawić jako kombinacji pięciu pozostałych.
Ćwiczenie 4.1.1. W tym ćwiczeniu przedstawimy nowy przykład schematu relacyjnej bazy danych i pewne przykładowe dane. Schemat tej bazy składa się / następujących schematów relacji:
Produkt (producent, model, typ)
PC (model, szybkość, ram, hd, cd, cena)
Laptop(model, szybkość, ram, hd, ekran, cena)
Drukarka(model, kolor, typ, cena)
Relacja Produkt opisuje produkty, określając ich producenta, numer modelu oraz typ (PC. laptop lub drukarka). Dla ułatwienia przyjmujemy, 2c numery modeli są jednoznaczne i niezależne od producentów i typów Takie założenie daleko odbiega od realiów i w bazach danych, z których korzysta się w rzeczywistości, trzeba w- podobnych przypadkach podawać kod producenta, jako część identyfikacji produktu. W relacji PC dla każdego modelu jest określona szybkość procesora w megahercach. wielkość pamięci operacyjnej w megabajtach (RAM), pojemność dysku