•a) Komputera osobistego z procesorem o częstotliwości zegara niższej mz 150 nie można sprzedać za cenę poniżej 1500 $
b) Jeśli laptop ma ekran o przekątnej mniejszej niż 11 cali, to albo zawiera twardy dysk o pojemności co najmniej I gigabajta, albo jego cena jest niższa niż 2 000 S.
!c) Żaden z producentów PC nie wytwarza laptopów.
•!!d)Jeśli producent PC wytwarza laptopy, to muszą one mieć procesory o tych samych parametrach co PC.
!e) Jeśli w laptopie jest więcej pamięci niż w PC, to jego cena musi być wyższa niż cena PC.
Ćwiczenie 4.5.2. Następujące więzy należy przedstawić w postaci wyrażeń algebraicznych. Więzy są nałożone na relacje z ćwiczenia 4.1.3
Klasy (klasa, typ, kraj, Ji.czbaDział, działo, wyporność) Okręt (nazwa, klasa, wodowanie)
Bitwa (nazwa, data)
Rezultat (okręt, bitwa, wynik)
Te więzy można przedstawić albo w konwencji przyrównania do zbioru pustego, albo w konwencji zaw ierania się zbiorów. Należy także wskazać te dane z ćwiczenia 4 1.3, które naruszają opisane więzy.
a) W żadnej klasie okrętów nie mogą wystąpić okręty z działami kalibru większego niż 16 cali.
b) Jeśli w klasie okrętów jest więcej niż 9 dział, to ich kaliber nic może przekraczać 14 cali.
!c) W żadnej klasie nic może być więcej niż 2 okręty.
!d) Żaden kraj nic może posiadać jednocześnie okrętów liniowych i krążowników liniowych.
!!e) W bitwie, w której zatonął okręt z liczbą dział mniejszą niż 9, nic mógł brać udziału okręt z liczbą dział większą niż 9.
Ćwiczenie 4.5.3. Więzy można zapisywać nie tylko w algebrze relacji, ale również w postaci reguł Datalogu. Można na przykład w postaci reguł Datalogu definiować predykaty 1DB. których wartości mają być puste. Należy w Datalogu zapisać poniżej wymienione więzy:
•a) Więzy z przykładu 4.42.
b) Więzy z przykładu 4.43.
c) Więzy z przykładu 4.44.
d) Więzy z przykładu 4.45.
e) Więzy z przykładu 4.46.
K wiczenie 4.5.4. Załóżmy, żc dane są dwie relacje R i S. Niech więzy C są zdefiniowane w następujący sposób: jeśli pewna krotka relacji R zawiera wartości V|,
v2......v„ odpow iednio dla atrybutów A u A j,.... A„, to w relacji S istnieje taka krotka.
w której wartości v,, v?>, .., v„ są wartościami atrybutów Z/,. B2.....Bn. Należy zapisać
więzy C w algebrze relacji !!Ćwiczenic 4.5.5. Niech będzie dana relacja R, a w zależności funkcyjnej A,A;
— B występują tylko atrybuty z relacji R. Należy zapisać w algebrze relacji więź; które określają, że ta zależność zachodzi zawsze w relacji R.
Zbiory krotek (relacje) są prostym i naturalnym modelem dla danycl które mogą występować w bazie danych, natomiast w komercyjnych systc mach baz danych zbiory' są. rzadko albo wcale, jedynym sposobem reprezer towania danych. Są bowiem takie sytuacje, kiedy należy w bazie danych dc puścić występowanie większej liczby takich samych krotek. Taki „zbiór' w którym elementy mogą się powtarzać nazywamy wielozbiorem. W bież; cym podrozdziale będziemy rozważać takie relacje, które są raczej wielozbic rami, a nie zbiorami w sensie właściwym, tzn. w omawianych relacjach t same krotki będą mogły występować w ięcej niż jeden raz. W związku z tyi będziemy mówić o zbiorach, w przypadkach gdy chodzi o takie relacje w których krotki nic powtarzają się. i o wielozbiorach w przypadku tych rek cji, w których występują powtórzenia krotek.
PRZYKŁAD 4.47
Na rysunku 4.28 przedstawiono relację, która jest wdelozbiorcm krotek. Kroi ka (1. 2) występuje tam 3 razy, a krotka (3, 4) tylko jeden raz. Jeśli ta rclacj miałaby być typu zbiór, to trzeba by z niej wyeliminować dwa wystąpicni krotki (1, 2). W relacjach o typie wiclozbioru dopuszczamy wielokrotne wy stąpienie tej samej krotki, ale tak samo, jak w przypadku zbioru, kolejnoś krotek nie ma znaczenia.
B_
2
4
2
2
A
1
3
1
1
RYSUNEK 4.28 Wiclozbińr
C
Poszukując najbardziej efektywnego sposobu implementacji relacji, uzy skujemy w efekcie wdelozbiory jako struktury, które umożliwiają przyspic szcnic wykonywania operacji na relacjach. Na przykład przy wykonywanii operacji rzutowania zastosowanie wielozbioru umożliwia niezależne trakto