Modelowanie baz danych - Model logiczny i fizyczny

1. Model logiczny - encje, wystąpienia encji, atrybuty, klucze, związki

2. Model fizyczny - tabele/perspektywy, krotki, kolumny, klucze, więzy

3. Encja to jednoznacznie identyfikowany składnik badanej rzeczywistości, o którym informacja jest lub może być zbierana i przechowywana

4. Atrybut jest cechą, elementem charakteryzującym encje i związki w badanej dziedzinie przedmiotowej

5. Klucze służą do jednoznacznego identyfikowania wystąpienia encji.

6. Związek to sposób, w jaki mogą być ze sobą powiązane dwie rzeczy tego samego typu lub różnych typów.

7. Tabela to kategoria modelu fizycznego tworzona na podstawie encji, ale już z uwzględnieniem konkretnego systemu bazodanowego. 

8. Perspektywa to struktura tymczasowa bazująca na wynikach zapytania do bazy danych. Perspektywy tworzy się w celu wygodniejszego przeglądania informacji zawartych w bazie danych.

9. Kolumna jest tworzona na podstawie atrybutu.

10. Model hierarchiczny - przechowywane dane są zorganizowane w postaci drzewa.
Model sieciowy - połączenia między dokumentami tworzą sieć. Informacja jest zawarta w dokumentach oraz w przebiegu połączeń sieci.
Model relacyjny - w relacyjnym modelu baz danych informacja jest zapisywana w tabeli w formie wierszy. Tabele tworzą między sobą powiązania zwane relacjami.

11. Model logiczny ER jest modelem niezależnym od implementacji bazodanowej dlatego konieczna jest konwersja do modelu fizycznego. Modelem fizycznym jest dla nas model relacyjny. Transformacji podlegają zarówno encje, atrybuty, jak też związki między encjami.

12. Relacja (tabela) - zazwyczaj powstaje z encji w modelu logicznym; schemat relacji określa jej strukturę

13. Schemat bazy danych - powstaje z przekształcenia schematu logicznego. Jest zbiorem schematów relacji oraz powiązań między nimi.

14. Kolumna - zwykle jest odpowiednikiem atrybutu w modelu logicznym (część schematu relacji)

15. Wiersz (rekord, krotka) - odpowiednik wystąpienia encji z modelu logicznego

16. Klucz główny - kolumna/kolumny w tabeli o unikalnej wartości, dzięki którym można rozróżnić dane w tabeli. Klucz główny może być prosty lub złożony z kilku kolumn

17. Klucz obcy - może być prosty lub złożony z kilku kolumn tabeli. Klucz obcy definiuje powiązania pomiędzy tabelami, wskazuje na klucz główny innej tabeli.

18. Aby przekształcić model logiczny na fizyczny należy:
  • usunąć spacje i znaki specjalne z nazw pól (np. Data zamówienia na data_zamowienia)
  • skrócić długie nazwy (np. Numer zamówienia na nr_zamowienia)
  • ustalenie konkretnych typów pól (długości pól tekstowych - np. VARCHAR2(20))
  • ustalenie kluczy głównych i obcych (np. nr_zamowienia)
19. Tabele operacyjne służą jako:
  • przechowywanie zaszyfrowanych nazw użytkowników i haseł wymaganych przez administratora
  • dziwny licznik odwiedzin dla programisty
  • historia zmian dokonywanych w tabelach encji logicznych
20. Gdy w modelu fizycznym nie można odwzorować związku wiele do wielu należy zastosować tzw. encję słabą, która będzie stanowić łącznik pomiędzy encjami modelu logicznego. Taka encja nie istnieje samodzielnie a jedynie w kontekście encji z którymi się łączy

np.
Pracownik (id_prac, nr_tel, email, nazwisko, imie) <- Realizacja (funkcja, wynagrodzenie, data_od, data_do) -> Projekt (id_proj, nazwa)

21. Gdy w modelu fizycznym występuje związek pomiędzy trzema encjami (związek ternarny) to stosuje się dodatkową encję, która wiąże dane trzy encje. 

np. "ocena" do tabel "nauczyciel", "uczeń", "przedmiot"

22. Cechy perspektyw (wyników zapytania):
  • struktura tymczasowa bazująca na wynikach zapytania SQL
  • mogą stanowić część projektu wspierając funkcjonalność aplikacji
  • nazwy pół w perspektywie nie muszą być takie same jak odpowiednie pola w tabelach
23. Kolumny operacyjne mają podobną rolę co tabele operacyjne:

np.
Tabela z kolumnami (nr_zamowienia, data_zamowienia, nazwa_klientam id_prac_weryfikujacego)
Kolumna operacyjna (utworzono_przez)

24. Więzy odpowiadają zwiąkom w modelu logicznym. Więzy zapobiegają przypadkowemu rozerwaniu zależności, które istnieją w rzeczywistym świecie np. samochód-marka. Nie można usunąć zamówienia, pozostawiając w bazie danych osierocone wiersze zamówienia lub adresata do którego nadana jest paczka. 

25. Związek 1:1 istnieje zwykle, gdy dane w jednej tabeli są opcjonalne w stosunku do danych z drugiej tabeli. Klucz obcy należy umieścić w tabeli po stronie związku obowiązkowego

np.
tabela "pracownik"(imie, nazwisko, id_prac) do "samochod_sluzbowy" (marka, model, id_auta, nr_rej, id_prac)

26. Związek M:N istnieje w sytuacjach gdy dana w jednej tabeli może odpowiadać wielu danym w drugiej tabeli, a dana w drugiej tabeli wielu danym z pierwszej. Należy utworzyć dodatkową relację.

uczeń (id_ucznia, nazwisko, imie) - nauka (id_ucznia, id_nauczyciela, przedmiot) - nauczyciel (id_nauczyciela, nazwisko, imie)