Modelowanie • Odwzorowanie obiektów rzeczywistych w systemie informatycznym • Dwa typy modeli: – Konceptualny • Model związków encji • Model UML
– Implementacyjny • Relacyjny • Obiektowy • Obiektowo-relacyjny dr Paweł Drozda
Etapy projektowania systemu • Analiza – jakie wymagania (dane, funkcjonalność) powstaje model konceptualny • Projektowanie – zmiana modelu konceptualnego w model implementacyjny • Implementacja • Wdrożenie • Utrzymanie
dr Paweł Drozda
Etapy tworzenia bazy danych Zapis za pomocą modelu związków encji
Model w głowie
Model relacyjny
dr Paweł Drozda
Baza danych
Model związków encji • Część rzeczywistości zapisana za pomocą encji (entities) • Atrybuty – właściwości encji • Powiązania w strukturze obiektów – związki pomiędzy encjami
dr Paweł Drozda
Przykład PRZEDMIOT
PRACOWNIK
Pesel Nazwisko Zarobki
prowadzi
Id Nazwa
dr Paweł Drozda
STUDENT zdaje
NrIndeksu Nazwisko
Encja • Odpowiednik klasy w modelu obiektowym • Zbiór obiektów o tych samych cechach (atrybuty, własności, związki) • Konkretny obiekt = wystąpienie encji
dr Paweł Drozda
Przykład OSOBA
PIES
Pesel Nazwisko Płeć
Rasa Imię
Osoba Pesel = 77021211111 Nazwisko = Kowalski Płeć = Kobieta
dr Paweł Drozda
Pies Rasa = Kundel Imię = Bury
Atrybuty encji • Identyfikatory – jednoznacznie opisują wystąpienie encji – Naturalne – PESEL, NrDowodu, itd. – Sztuczne – nrIdentyfikacyjny, idpracownika • Deskryptory – pozostałe atrybuty opisujące encję • Deklaracja atrybutu – Nazwa – Dziedzina (typ danych i max rozmiar, zbiór bądź zakres dozwolonych wartości) – Opcja unikalności – Wartości puste (dozwolone lub nie)
dr Paweł Drozda
Przykład OSOBA
Film
# Pesel * Nazwisko * Płeć * Zarobki Adres Telefon
# Tytuł # Rok (#) Gatunek * Długość
dr Paweł Drozda
Związki encji • Opisują połączenia pomiędzy encjami • Powiązane dwie lub więcej encji • Przykład: uczestniczy STUDENT
Przewidziany dla
WYKŁAD
Pytania: W ilu wykładach uczestniczy student, dla ilu studentów przewidziany jest wykład, czy wykład musi być przewidziany dla studenta, czy student musi uczestniczyć w wykładzie dr Paweł Drozda
Cechy związku • Liczebność (unarny - rekursywny, binarny, tetrarny, n-arny) • Istnienie (opcjonalny, obowiązkowy) • Karynalność – 1:1 – jeden do jednego – 1:M – jeden do wielu – N:M – wiele do wielu
dr Paweł Drozda
Związek 1:1 - Przykład
1b
Wychowawca
2c
Jan Mucha Marta Ącka
6a
Stefan Kula wychowuje
KLASA
ma wychowawcę dr Paweł Drozda
NAUCZYCIEL
Związek 1:m - Przykład
Bazy danych
Prowadzenie
Jan Mucha
Analiza matematyczna
Marta Ącka
Logika
Stefan Kula
PRZEDMIOT
prowadzi
Jest prowadzony dr Paweł Drozda
WYKŁADOWCA
Związek m:n - Przykład
Bazy danych
Egzamin
Jan Mucha
Analiza matematyczna
Marta Ącka
Logika
Stefan Kula
PRZEDMIOT
zdaje Jest zdawany dr Paweł Drozda
STUDENT
Związki wieloargumentowe • Gdy związek wieloargumentowy – zamienia się w encję KIEROWCA
Mandat
WYKROCZENIE
dr Paweł Drozda
POLICJANT
Rozszerzenie – poprzedni przykład
Ze strony ważniak dr Paweł Drozda
Atrybuty związków • Gdy związek posiada specyficzne cechy • Można stworzyć encję dla związku z atrybutami odnoszącymi się do związku
dr Paweł Drozda
Przykład – atrybuty związku Występuje AKTOR
Gaża
FILM
Gdy związek posiada atrybuty – konieczność wprowadzenia dodatkowej encji Pojawiają się związki typu wiele Od strony związku – obowiązkowe
dr Paweł Drozda
Związki encji => projekty relacyjne • Encja przekształcana do relacji z tą samą nazwą oraz tym samym zbiorem atrybutów
dr Paweł Drozda
Reguły przekształcania • • • • • • •
Encja Relacja Atrybut encji Atrybut relacji Typ danych atrybutu encji Typ danych atrybutu relacji Identyfikator klucz podstawowy Obowiązkowość atrybutu NOT NULL Opcjonalność NULL Pozostałe ograniczenia atrybutów encji ograniczenia integralnościowe relacji
dr Paweł Drozda
Przykład
dr Paweł Drozda
Przekształcanie związków • 1:1 – klucz obcy w wybranej tabeli • 1:M – klucz obcy w tabeli po stronie wiele • N:M – nowa tabela
dr Paweł Drozda
Związek binarny 1:1 NAUCZYCIEL
KLASA Wychowuje
Pesel Nazwisko Zarobki
• Dodany klucz obcy po stronie związku obowiązkowego
dr Paweł Drozda
Id Nazwa
Związek binarny 1:1 KOMPUTER
PRACOWNIK
Pesel Nazwisko Zarobki
Id IP
Uzywa
• Dodany klucz obcy po stronie mniejszej tabeli
dr Paweł Drozda
Związek N:M encji do relacji • Związki przyjmują postać relacji • Klucze encji uczestniczących w związku jako atrybuty relacji • Gdy związek ma własny klucz – dołączany do atrybutów relacji