Cykl projektowy baz danych 1. Analiza wymagań (dane, funkcjonalność aplikacji) 2. Projektowanie (Z modeli pojęciowych do implementacyjnych/robienie tabelek ig) 3. Implementacja bazy danych i aplikacji (realizacja pomysłu ig) 4. Wdrożenie 5. Utrzymanie +--------------------------------------------------------------------------+ Obiekty świata rzeczywistego Obiekty Materialne: -Samochody, budynki, sprzęt komputerowy -Zasoby ludzkie (pracownicy) Obiekty niematerialne: -Wiedza -Zdarzenia/events (otrzymanie nagrody/urlopu) -Stany rzeczywistości (stan rachunku bankowego/polisa ubezpieczeniowa) +--------------------------------------------------------------------------+ Model związków-encji Model Związków-encji (Entity-relationship model - ER) -Obiekty świata rzeczywistego za pomocą encji (entities) np. samochod/budynek/ja -Powiązania między obiektami świata rzeczywistego reprezentowane za pomocą związków (relationships) pomiędzy encjami. np. człowiek jest właścicielem samochodu / samochód jest własnością człowieka (xd machine slavery) +--------------------------------------------------------------------------+ Encja -Reprezentuje zbiór obiektów opisany tymi samymi cechami (atrybutami/własnościami) -Informacja o tych obiektach będą przechowywane w bazie danych -Konkrentny obiekt świata rzeczywistego jest reprezentowany jako wystąpienie encji Wystąpienie encji - imagine masz tabelke marka/model/rocznik samochodu. Jak wypełnisz informacje w tabelce to masz encje. +--------------------------------------------------------------------------+ Wspólne cechy pracowników: Encja | Pracownik |----------- | imię | nazwisko | adres | nr_telefonu Zenon Sikora | Herman Klos | Zdzislaw Pirat Ulica 1 | ul. 2 | Ul. polna 333 | 444 | 555 Wystąpenia encji Pracownik imię = Zenon nazwisko = Sikoria adres = Ulica 1 nr_telefonu = 333 +--------------------------------------------------------------------------+ cechy encji Każda encja posiada: - unikalną nazwę (nie powtarzają się nazwy ENCJI) - Zbiór cech (atrybutów) Encje wchodzą w związki z innymi encjami *Wyjątek = encje reprezentujące dane słownikowe i konfiguracyjne Dowolna rzecz/obiekt może być reprezentowana tylko przez jedną encję Nazwa encji powinna być rzeczownikiem w liczbie pojedynczej +--------------------------------------------------------------------------+ Atrybuty encji Identyfikator -Atrybut lub zbiór atrybutów jednoznacznie identyfikujące wystąpienie encji -Zbiór atrybutów + związki -związki Identyfikatory naturalne (official prawne) -PESEL/NIP/Nr. dowodu itp. Identyfikatory sztuczne Numer pozycji katalogowej/identifykator pracownika Przykład: Encja | Pracownik |----------- Identyfikator encji | #PESEL Atrybuty z wartościami | {* adres obowiązkowymi | {* pensja atrybut z wartością opcjonalną | nr_telefonu +--------------------------------------------------------------------------+ Związek (asocjacja) reprezentuje powiązania pomiędzy obiektami świata rzeczywistego -klienci posiadają rachunki bankowe -studenci otrzymują oceny z egzaminów -no w sumie to co wcześniej (samochód jest własnością człowieka/człowiek jest właścicielem samochodu) W modelu ER związek łączy encje (self-explanatory chyba) Związek z każdego końca posiada krótki opis ułatwiający jego interpretację (no opis no co ja mogę powiedzieć) +--------------------------------------------------------------------------+ Modelowanie związku Posiada Pracownik ----------------------- Samochód Jest własnością Posiada Zdzisław Pirat ----------------- Opel astra Jest własnością Wiemy że istnieje związek pomiędzy pracownikami i samochodami, chcielibyśmy wiedzieć: - Ile samochodów może posiadać pracownik? - Ilu pracowników może posiadać ten sam samochód? - Czy każdy samochód musi do kogoś należeć? - Czy każdy pracownik musi posiadać samochód? +--------------------------------------------------------------------------+ Cechy związku Stopień związku: -Unarny (binarny rekursywny) / (imagine szef pracuje dla samego siebie) -Binarny -Ternarny -N-arny Typ asocjacji (kardynalność) - Jeden-do-jeden (1:1) (pracownik może posiadać jeden samochód) - Jeden do wiele (1:M) (pracownik może posiadać wiele) - wiele-do-wiele (M:N) (każdy jeździ czym chce) Istnienie (klasa przynależności): - Opcjonalny - Obowiązkowy Pracownicy firmy posiadają samochody (związek pracownik samochód / stopień związku: binarny) W celu udostępnienia miejsca parkingowego należy zarejestrować pracownika i jego samochód Każdy pracownik ma prawo parkować tylko jeden konkretny samochód (typ asocjacji 1:1) Nie każdy pracownik ma samochód (istnienie / pracownik może posiadać) Samochód musi być własnością (związek obowiązkowy) Posiada (zw. Opcjonalny) PRACOWNIK ----------------- ================= Opel astra Jest własnością (zw. obowiązkowy) Typ asocjacji 1:1 Każdy dział musi mieć kierownika ale nie pracownik musi kierować dział kieruje Pracownik ------ ================== dział Jest kierowany Typ asocjacji 1:M Każdy pracownik pracuje dokładnie w jednym dziale. Dział może zatrudniać (ale nie koniecznie) wielu pracowników. Pracownicy Działy Tomasz Kociak } Jan Jankielicz } Pracuje w --- Windykacja pracuje w Pracownik ======= --------- Dział zatrudnia +--------------------------------------------------------------------------+ (ten plik to jedno wielkie *encja reference* bo pokazuje przecież ile ma kB i kiedy był zapisany itp)