bazy danych – podstawowe pojęcia, wprowadzenie

Transkrypt

bazy danych – podstawowe pojęcia, wprowadzenie
BAZY DANYCH – PODSTAWOWE POJĘCIA, WPROWADZENIE TEORETYCZNE
ACCESS – system zarządzania (relacyjną) bazą danych
baza danych – zbiór informacji. Przykłady: książka telefoniczna, katalog biblioteczny
SZBD – system pozwalający: dodawać, usuwać, edytować informacje w bazie,
SZRBD – j.w., dotyczy działań na relacyjnej bazie danych
BARDZIEJ FORMALNIE:
baza danych – zbiór powiązanych ze sobą tabel
tabela – zbiór rekordów (wiersze) określonego rodzaju
rekord – zbiór danych o obiekcie, skł. się z pól
relacja – zdefiniowane powiązanie między tabelami, inaczej: sposób na połączenie informacji
przechowywanych w różnych tabelach (niech wymyślą przykłady!!!)
Rodzaje relacji:
a) jeden-do-jednego: dwie tabele mają dokładnie po jednym rekordzie powiązane ze sobą
b) jeden-do-wielu: jeden rekord tabeli może być powiązany z wieloma rekordami innej tabeli
c) wiele-do-wielu: jeden rek. z tabeli może być powiązany z wieloma z innej i odwrotnie!
Np. studenci-tytuły referatów.
Manipulowanie na danych
służą do tego języki zapytań. Podstawowe rodzaje: deklaratywne i predykatowe.
SQL (Structured Query Language) – deklaratywny język zapytań strukturalnych (mówimy,
jaki wynik chcemy uzyskać, nie mówimy jak)
Klucz – pole (lub zbiór pół) w tabeli, które w jednoznaczny sposób identyfikują każdy z
rekordów. Służą do: indeksowania, sortowania, wyszukiwania danych itd.
Rodzaje kluczy:
-
podstawowy: jednoznacznie identyfikuje rekord
-
złożony – składa się z kilku pól
-
obcy: pole w tabeli, które łączy wiersz tej tabeli z odpowiednim wierszem innej tabeli.
zazwyczaj w tej innej tabeli pole to jest kluczem podstawowym.
TABELE:
klienci
zamówienia
pozycje zamówienia
ID klienta (podst)
Numer zamówienia (podst)
Numer zamówienia (obcy)
Nazwa
Data zamówienia
Ilość
Ulica
ID klienta (obcy)
ID towaru
Kod
Sposób dostawy
Cena
Miasto
Data dostawy
Województwo
Suma zamówienia
Złożony: np. nr_zamówienia+ID towaru
Podstawowe operacje w bazie danych
a) operacja projekcji – udostępnia („wyświetla”, pokazuje) selektywnie dane w układzie
pionowym. Np. dla tabeli KLIENCI możemy wyświetlić sobie dane w układzie ID
klienta, miasto
b) operacja selekcji (wyboru) – wybieranie z tabeli tych rekordów, które spełniają kryterium
(to będą robić np. kwerendy wybierające). Np. z tabeli KLIENCI wybieramy tylko tych,
dla których miasto = Łódź.
Zasady projektowania RBD
1. W tabeli nie może znajdować się 2 lub więcej rekordów o identycznych wartościach
wszystkich atrybutów -> I TU WŁAŚNIE PRZYDAJE SIĘ KLUCZ!
2. nie wolno zapisać do tabeli rekordu o nieznanej wartości klucza podstawowego (tu
przydaje się np. autonumer)
3. w jednym rekordzie nie można wielokrotnie ująć tego samego atrybutu lub grupy
atrybutów.
ETAPY TWORZENIA RBD
a) określenie zbiorów niezbędnych danych (lista danych + krótki opis, do czego będą służyć)
b) określenie zbiorów pól w tabelach (czyli podział bazy na tabele)
c) określenie kluczy podstawowych (dla informatyków: niech doczytają o tzw. normalizacji
danych – do 3 postaci normalnej włącznie)
d) ustalenie własności pół
Pracownicy = {Id_prac, Nazwisko, Nazwa_uczelni, Adres}
Id_prac Nazwisko Nazwa_uczelni Adres
101
Kowalski
PJWSTK
123
Kalinowski WSI
Zamiany 15
109
Jaworski
Zamiany 15
102
Makowski PJWSTK
Koszykowa 86
105
Rudziak
Zamiany 15
WSI
WSI
Koszykowa 86
1. Redundancja: adres uczelni powtarza się dla każdego zatrudnionego w niej
pracownika.
2. Anomalie przy modyfikacji: uaktualniony adres uczelni w jednym wierszu pozostaje
niezmieniony w innych.
3. Anomalie przy wstawianiu: trudno wstawić uczelnię bez pracownika; Id_prac stanowi
klucz i nie może być NULL.
4. Anomalie przy usuwaniu: usuwając wszystkich pracowników usuwamy uczelnię.
Przyczyna: złączenie w jednej encji dwóch różnych rodzajów obiektów (encji):


Pracownicy = {Id_prac, Nazwisko, Nazwa_uczelni}
Uczelnie = {Nazwa_uczelni, Adres}
Poprawienie schematu polega na rozbiciu początkowego schematu na dwie tabele każda reprezentująca osobny
typ obiektów czyli odpowiednio pracowników i uczelnie.
Encja (ang. entity) w bazach danych to reprezentacja wyobrażonego lub rzeczywistego
obiektu (grupy obiektów) stosowana przy modelowaniu danych podczas analizy
informatycznej. Formalnie jest to pojęcie niedefiniowalne, a podstawową cechą encji jest to,
że jest rozróżnialna od innych encji.
Przykłady encji (i atrybuty w encji):

Osoba (imię, nazwisko, PESEL)

Pojazd (wysokość, szerokość, długość, sposób poruszania się)