1
Lista 1
1.1
Zadanie 1
Bazy danych – przykłady, intuicje, podstawowe pojęcia.
1.2
Zadanie 2
Co to znaczy dobrze zaprojektowana baza danych?
1.3
Zadanie 3
Podstawowe operacje wykonywane na danych.
• Wyszukiwanie danych.
• Dodawanie danych.
• Aktualizowanie danych.
• Usuwanie danych.
• Sporządzanie raportów i statystyk.
1.4
Zadanie 4
Rozważ przedstawione projekty przechowania danych o pracowniku:
1.4.1
a)
OSOBY(Numer, Nazwisko, Imię, ..., Angielski, Niemiecki, Rosyjski, ...)
• Trudno jest dodać nowy język. Wymaga to zmiany struktury relacji (tabeli), co jest operacją ”poważniejszą” niż dodanie krotki (wiersza). Ponadto powstaje problem z już wpisanymi osobami, nie
wiadomo jaką mają znajomość dodawanego języka, a jakąś trzeba wpisać.
• Jeśli relacja przewiduje wiele języków (jest na przykład wykorzystywana w bazie danych tłumaczy lub
stewardes) to zastosowany schemat spowoduje duże marnotrawstwo pamięci, gdyż osoby zazwyczaj
znają zazwyczaj jeden, dwa lub trzy języki i reszta pól będzie tylko zużywać miejsce.
1.4.2
b)
OSOBY(Numer, Nazwisko, Imię, Języki, Znajomość,...)
Numer
1
Nazwisko
Abacki
Imię
Karol
2
3
Kabacka
Rapacka
Języki
angielski
francuski
niemiecki
Maria
Ewa
Znajomość
słabo
biegle
biernie
włoski
niemiecki
angielski
rosyjski
...
dobrze
dobrze
dobrze
dobrze
• To nie jest w istocie relacja (tabela), tylko złożona relacja (tabela), gdzie każda krotka (każdy wiersz)
jest sam w sobie kolejną relacją (tabelą).
1
1.4.3
c)
OSOBY(Numer, Nazwisko, Imię, Język, Znajomość, ...)
Numer
1
1
1
2
3
3
3
3
Nazwisko
Abacki
Abacki
Abacki
Kabacka
Rapacka
Rapacka
Rapacka
Rapacka
Imię
Karol
Karol
Karol
Maria
Ewa
Ewa
Ewa
Ewa
Języki
angielski
francuski
niemiecki
Znajomość
słabo
biegle
biernie
włoski
niemiecki
angielski
rosyjski
...
dobrze
dobrze
dobrze
dobrze
• Duża redundancja danych. Nazwisko, Imię i pozostałe dane (...) powtarzają się tyle razy ile języków
zna dana osoba.
• Numer już nie wyznacza jednoznacznie krotki (wiersza).
1.4.4
d)
OSOBY(Numer osoby, Nazwisko, Imię, ...)
ANGIELSKI(Numer osoby, Stopień znajomości)
NIEMIECKI(Numer osoby, Stopień znajomości)
...
• Baza danych ma bardzo wiele relacji (tabel). W dodatku nie da się podczas projektowania przewidzieć w pełni liczby tych relacji (tabel).
• Dodanie kolejnego języka oznacza konieczność utworzenia kolejnej relacji (tabeli), a więc jest operacją
”poważniejszą” niż dodanie krotki (wiersza).
• Wyszukiwanie wymaga przeglądania więcej niż jednej tabeli.
1.4.5
e)
OSOBY(Numer osoby, Nazwisko, Imię, ...)
JĘZYKI(Numer języka, Nazwa języka)
ZNAJOMOŚĆ(Numer osoby, Numer języka, Stopień znajomości)
• Baza danych ma możliwość przechowywania dowolnej liczby języków poprzez jedynie dodawanie
wierszy.
• Brak redundancji danych.
• Wyszukiwanie wymaga przeglądania więcej niż jednej tabeli.
2
2
Lista 2
2.1
Zadanie 1
Podstawowe pojęcia baz danych:
2.1.1
a)
baza danych, operacyjna i analityczna baza danych, hurtownia danych
2.1.2
b)
dana, informacja, wiedza
2.1.3
(…)
…:
2.1.1
a)
baza danych, operacyjna i analityczna baza danych, hurtownia danych
2.1.2
b)
dana, informacja, wiedza
2.1.3
c)
system zarządzania bazą danych (funkcje, miejsce SZBD w systemie bazy danych)
2.1.4
d)
ludzie związani z bazą danych
2.1.5
e)
języki baz danych
2.1.6
f)
model danych
2.2
Zadanie 2
Modele danych - podstawowe informacje
2.2.1
a)
model hierarchiczny
2.2.2
b)
model sieciowy
2.2.3
c)
model…
…, Nazwisko, Imię, Data urodzenia)
PRACOWNICY(Numer, Nazwisko, Imię, Data urodzenia)
PRZEDMIOTY(Numer przedmiotu, Nazwa)
ZALICZENIA(Indeks, Numer przedmiotu, Ocena)
3.3.1
a)
Poniższe operacje zapisz za pomocą operacji selekcji, rzutowania i iloczynu kartezjańskiego:
ST U DEN CI JOIN ZALICZEN IA
CZENIA (lub STUDENCI ):
Najpierw trzeba przemianować atrybut Indeks w relacji ZALI-
RENAME (ZALICZEN IA : Indeks AS Indeks ) AS ZALICZEN IA ,
następnie:
ST U DEN CI JOIN ZALICZEN IA = π{Indeks,N azwisko,Imie,Data
urodzenia,N umer przedmiotu,Ocena}
(σIndeks=Indeks (ST U DEN CI × ZALICZEN IA ))
ST U DEN CI
ST U DEN CI.Data urodzenia<P RACOW N ICY.Data urodzenia P RACOW N ICY (dane studentów i pracowników, takich, że student jest starszy od pracownika) Najpierw trzeba przemianować atrybuty Nazwisko, Imię i Data urodzenia w relacji PRACOWNICY (lub STUDENCI ):
RENAME (P RACOW N ICY : N azwisko AS N azwisko , Imie AS Imie ,
Data urodzenia AS Data urodzenia ) AS P RACOW N ICY ,
następnie:
ST U DEN CI
= σData
3.3.2
ST U DEN CI.Data urodzenia<P RACOW N ICY.Data urodzenia
urodzenia<Data urodzenia
(ST U DEN CI × P RACOW N ICY )
b)
Za pomocą algebry relacji zapisz polecenie:
Podaj nazwiska i imiona wszystkich studentów…
… kaset video. Klient może wypożyczyć
wiele kaset. Kaseta może być w danej chwili wypożyczona tylko przez jednego klienta ale po
oddaniu może być wypożyczona ponownie. Baza ta zawiera następujące dane:
Numer klienta
0001
0002
0003
0004
0005
Imię
Jan
Jerzy
Sylwia
Marek
Adam
Liczba porządkowa
1
2
3
4
5
6
7
7.2
KLIENCI
Nazwisko
Kowalski
Nowak
Kubiak
Mareczek
Kowalski
KASETY
Adres
Numer kasety Tytuł
Rok…
... zobacz całą notatkę
Komentarze użytkowników (0)