POWTRZENIE Techniki zbierania informacji Analiza dokumentacji Wywiady Obserwacja
POWTÓRZENIE Techniki zbierania informacji : • • • Analiza dokumentacji Wywiady Obserwacja działalności przedsiębiorstwa Prowadzenie badań Ankietowanie Specyfikacja wymagań użytkowników Specyfikacja systemowa: • • początkowa wielkość bazy danych; szybkość przyrostu danych w bazie; typy i średnie liczby wyszukiwań rekordów; wymagania dotyczące pracy w sieci i współdzielonego dostępu; wydajność; bezpieczeństwo; kopie zapasowe i odzyskiwanie danych; aspekty prawne. 1
Faza projektowania bazy danych Modelowanie związków encji Przykładowy diagram związków encji: Biuro. Nr Oferuje Ma Personel. Nr Nadzoruje Nieruchomość Ogląda NieruchomośćNr Posiada Klient. Nr Wynajmuje Wynajęty Przez Właściciel prywatny Wynajęcie Właściciel. Nr Wynajęcie. Nr 2
Kieruje Diagram związków encji dla perspektywy dyrektorów: data. Początkowa premia 0. . 10 Zarządza Personel 1. . 1 Biuro 0. . 1 Ma Personel. Nr 1. . * 1. . 1 Biuro. Nr 1. . 1 Nadzoruje Oferuje Data. Rejestracji Rejestruje 0. . * Wynajęcie Klient Wynajmuje 0. . * Umowa. Nr 1. . 1 Preferencje Określa 1. . 1 Klient. Nr 1. . 1 0. . * 1. . 1 Wynajęty Przez Nieruchomość 0. . 100 1. . * data. Ogłoszenia koszt Gazeta Nazwa. Gazety NieruchomośćNr 1. . * Ogłasza 0. . * 1. . * PPosiada 0. . 1 I Posiada 0. . 1 Właściciel prywatny Właściciel Instytucjonalny Właściciel. Nr I Nazwa 3
Nazewnictwo: Model związków encji (ER – Entity - Relationship Model) – jeden z przykładów modelu do komunikowania się z użytkownikami. Modelowanie związków encji reprezentuje podejście zstępujące do projektowania bazy danych. Rozpoczyna się mianowicie od wyodrębnienia istotnych danych, nazywanych encjami, i tych związków pomiędzy nimi, które powinny być reprezentowane w modelu. Następnie dodaje się do modelu coraz więcej szczegółów, takich jak informacje, które chcemy przechowywać o encjach i o związkach, nazywane atrybutami, oraz więzy (warunki) odnoszące się do encji, związków i atrybutów. Zbiór encji – to grupa obiektów o tych samych właściwościach, które w ramach przedsiębiorstwa zostały uznane za niezależne byty. Wystąpienie encji – to unikalny i rozpoznawalny obiekt ze zbioru encji. 4
Graficzna reprezentacja zbiorów encji: Każdy zbiór encji jest reprezentowany za pomocą prostokąta oznaczonego nazwą encji, która jest zazwyczaj rzeczownikiem w liczbie pojedynczej. Nazwa encji Personel Właściciel. Prywatny 5
Związki: Związek – to zbiór znaczących powiązań pomiędzy zbiorami encji. Wystąpienie związku – to unikalne i identyfikowalne powiązanie zachodzące pomiędzy pojedynczymi wystąpieniami encji z uczestniczących w związku zbiorów encji. Sieć semantyczna: Encja Biuro (biuro. Nr) B 003 B 007 Związwk Ma Używając modelu związków encji: Encja Personel (pracownik. Nr) r 1 SG 37 r 2 SG 14 r 3 SA 9 Nazwa związku Biuro Ma Personel “Biuro ma personel” 6
Stopień związku: – to liczba uczestniczących w nim zbiorów encji. Związek binarny: “Właściciel prywatny posiada nieruchomość do wynajęcia” Właściciel. Prywatny PPosiada Nieruchomość Związek potrójny: Personel Rejestruje Związek poczwórny: Biuro “Personel rejestruje klienta w biurze” Klient Prawnik Kupujący Uzgadnia Oferta “Prawnik w imieniu kupującego wspieranego przez instytucję finansową uzgadnia ofertę” Instytucja finansowa 7
Związki rekurencyjne: – to związki, w których ten sam zbór encji występuje więcej niż jeden raz w różnych rolach. Nazwa roli “Personel (kierownik) kieruje personelem (kierowanymi)” Kieruje Kierownik Przykład encji powiązanych ze sobą poprzez dwa różne związki: Nazwa roli Personel Kierowany “Dyrektor zarządza biurem oddziału” Zbiór encji Personel uczestniczy podwójnie w związku Kieruje. Nazwa roli Dyrektor Biuro oddziału Zarządza Personel Biuro Ma Pracownik Biuro oddziału Nazwa roli Związkom mogą być przypisane nazwy ról, które są istotne przy związkach rekurencyjnych, aby wskazać funkcje wypełniane w nich przez uczestników. Nazwy ról nie są na ogół wymagane, jeśli funkcje, jakie pełnią w związku uczestniczące w nim encje, są jednoznaczne. 8 “Biuro oddziału ma pracownika”
Atrybut: – to cecha encji lub związku. Atrybuty encji: • proste – zawierające tylko jedną składową, która może istnieć niezależnie; • złożone – zbudowane z wielu składowych, z których każda może istnieć niezależnie; • jednowartościowy – atrybut, który ma tylko jedną wartość; • wielowartościowy – atrybut, który może zawierać wiele wartości dla pojedynczego wystąpienia encji. • pochodny – atrybut reprezentujący wartość, która jest wyliczana z podobnego atrybutu lub ze zbioru atrybutów, niekoniecznie pochodzących z tego samego zbioru. Klucz główny Personel Obszar do umieszczania atrybutów pracownik. Nr (PK) imięNazwisko stanowisko pensja /liczba personelu PK – primary key PPK – partial primary key AK – alternate key Zarządza Ma Atrybut pochodny Biuro biuro. Nr (PK) adres ulica miasto kod. Pocztowy tel. Nr [1. . 3] [1. . *] Atrybut wielowartościowy Atrybut jednowartościowy Atrybut złożony 9
Atrybuty związków: “Gazeta ogłasza nieruchomość do wynajęcia” Graficzna reprezentacja związku Ogłasza: Silne i słabe zbiory encji: Silna encja Klient klient. Nr (PK) imięNazwisko imię nazwisko tel. Nr Słaba encja Określa Preferencje Gazeta Ogłasza Nazwa. Gazety NieruchomośćNr data. Ogłoszenia koszt Silny zbiór encji – to zbiór encji, którego istnienie jest zależne od innych zbiorów encji, natomiast istnienie słabego zbioru encji zależy od inych zbiorów encji. typ. Preferencji maks. Czynsz 10
Więzy strukturalne: Więzy, które mogą być nałożone na zbiory encji biorące udział w związku powinny odzwierciedlać ograniczenia występujące w związkach, które można zaobserwować w „rzeczywistości”. Głównym typem więzów nakładanych na związki jest krotność – liczba lub zakres możliwych wystąpień encji z jednego zbioru, które mogą być w danym związku z pojedynczym wystąpieniem innej powiązanej encji. Krotność ogranicza sposób powiązania encji, reprezentuje założenia określone przez użytkownika lub przedsiębiorstwo. Najbardziej powszechnymi związkami są związki binarne, które można podzielić na: • wzajemnie jednoznaczne (1: 1); • typu „jeden do wielu” (1: *); • typu „wiele do wielu”. Np. : • osoba z personelu zarządza biurem (1: 1); • osoba z personelu nadzoruje nieruchomości do wynajęcia (1: *); • gazety ogłaszają nieruchomości do wynajęcia (*: *). 11
Związki wzajemnie jednoznaczne: Zbiór encji Personel (pracownik. Nr) Związek Zarządza Zbiur encji Biuro (biuro. Nr) SG 5 r 1 B 003 r 2 B 005 Sieć semantyczna przedstawiająca dwa wystąpienia związku Personel Zarządza Biuro: SG 37 SL 21 “Każde biuro jest zarządzane przez jedną osobę z personelu” Personel pracownik. Nr “Osoba z personelu zarządza zero lub jednym biurem” Biuro Zarządza 1. . 1 0. . 1 Krotność biuro. Nr Wyznaczenie krotności związku wymaga na ogół wykorzystania próbek danych i dokładnego zbadania powiązań pomiędzy danymi występującymi w tym związku. 12
Związek typu „jeden do wielu”: Sieć semantyczna przedstawiająca trzy wystąpienia związku Personel Nadzoruje Nieruchomość: Zbiór encji Personel (pracownik. Nr) Związek Nadzoruje Zbiór encji Nieruchomość (nieruchomośćNr) SG 5 r 1 PG 21 SG 37 r 2 PG 36 SA 9 r 3 PA 14 PG 4 “Każda nieruchomość do wynajęcia jest nadzorowana przez zero lub jednego pracownika” Personel pracownik. Nr “Każdy pracownik nadzoruje zero lub więcej nieruchomości do wynajęcia” Nieruchomość Nadzoruje 0. . 1 0. . * nieruchomośćNr 13
Związek typu „wiele do wielu”: Sieć semantyczna przedstawiająca cztery wystąpienia związku Gazeta Ogłasza Nieruchomość: Encja Gazeta (nazwa. Gazety) Związek Ogłasza Encja Nieruchomość (nieruchomośćNr) Głos r 1 r 2 PG 21 Gazeta Poranny r 3 r 4 PG 36 PA 14 PG 4 “Każda nieruchomość do wynajęcia jest ogłaszana w zero lub więcej gazet” Gazeta nazwa. Gazety “Każda gazeta ogłasza jedną lub więcej nieruchomości do wynajęcia” Nieruchomość Ogłasza 0. . * 1. . * nieruchomośćNr 14
Więzy liczności i uczestnictwa: Liczność – opisuje maksymalną liczbę możliwych wystąpień związku dla encji uczestniczącej w tym związku. Uczestnictwo – określa, czy w pewnym związku biorą udział wszystkie, czy tylko niektóre wystąpienia encji. Liczność “Jedno biuro jest zarządzane przez jednego pracownika” Personel pracownik. Nr “Jeden pracownik zarządza jednym biurem” Biuro Zarządza 1. . 1 “Wszystkie biura są zarządzane” (uczestnictwo obowiązkowe dla biur) 0. . 1 biuro. Nr “Nie każdy pracownik zarządza biurem” (uczestnictwo opcjonalne dla personelu) Uczestnictwo 15
Problemy występujące w modelach ER: Pułapka wachlarzowa – występuje w sytuacji, gdy model przedstawia związek pomiędzy pewnymi zbiorami encji, ale wynikające z tego ścieżki pomiędzy wystąpieniami encji nie są jednoznaczne. Personel Oddział Ma 1. . * 1. . 1 Prowadzi 1. . 1 1. . * Oddział Biuro Prowadzi 1. . * 1. . 1 Ma 1. . 1 1. . * Biuro Personel Zmiana struktury modelu 16
Pułapka szczelinowa – występuje, gdy model sugeruje istnienie związku pomiędzy zbiorami encji, ale nie istnieją ścieżki łączące pewne wystąpienia tych encji. Biuro 1. . 1 Ma 1. . 1 1. . * Personel Nadzoruje 0. . 1 0. . * Nadzoruje 0. . 1 Oferuje 0. . * Nieruchomość 1. . * Dodanie związku Oferuje 17
Rozszerzone modelowanie związków encji: Specjalizacja – to proces maksymalizacji różnic pomiędzy elementami encji, realizowany poprzez identyfikację wyróżniających ich charakterystyk. Generalizacja – to proces minimalizacji różnic pomiędzy encjami, realizowany poprzez wyznaczanie ich wspólnych charakterystyk. Agregacja – reprezentuje związki typu „jest częścią” lub „ma” pomiędzy zbiorami encji, w których jeden uczestnik związku jest „całością”, a drugi „częścią. Kompozycja – to specjalna forma agregacji przedstawiająca powiązanie pomiędzy encjami, w którym występuje silny związek „posiadania” części przez całość oraz zgodność okresów ich istnienia. 18
Przykładowe wyszukiwanie danych użytkownika „Biuro”: 1. Podaj informacje o biurach w danym mieście; 2. Podaj liczbę wszystkich biur w danym mieście. 3. Podaj nazwiska, stanowiska oraz wysokości pensji pracowników zatrudnionych w danym biurze. Wynik uporządkuj według nazwisk. 4. Podaj całkowitą liczbę pracowników firmy oraz ich sumaryczną pensje. 5. Podaj liczbę pracowników zatrudnionych na poszczególnych stanowiskach we wszystkich biurach w Białymstoku. 19
Użytkownik „Biuro” 2 (zarząd biura): 6. Podaj nazwiska wszystkich dyrektorów biur w kolejności wyznaczonej adresami biur. 7. Podaj nazwiska wszystkich pracowników podległych określonemu kierownikowi. 8. Podaj numery, adresy, typy i wysokość czynszu dla wszystkich nieruchomości z Białegostoku. Wynik uporządkuj według czynszu. 9. Podaj informacje o wszystkich nieruchomościach nadzorowanych przez określonego pracownika. 10. Podaj liczbę nieruchomości nadzorowanych przez każdego pracownika w każdym z biur. 20
Użytkownik „Biuro” 3 (zarząd biura): 11. Podaj informacje o nieruchomościach oferowanych do wynajęcia przez właścicieli instytucjonalnych zarejestrowanych w danym biurze. 12. Podaj całkowitą liczbę nieruchomości każdego typu zarejestrowanych w każdym z biur. 13. Podaj informacje o wszystkich właścicielach prywatnych oferujących do wynajęcia więcej niż jedną nieruchomość. 14. Podaj informacje o wszystkich mieszkaniach w Białymstoku, w których są przynajmniej trzy pokoje, a czynsz nie przekracza 400 złotych. 15. Podaj numery, nazwiska i numery telefonów oraz preferowany rodzaj nieruchomości dla wszystkich klientów danego biura. 21
Użytkownik „Biuro” 4 (zarząd biura): 16. Znajdź nieruchomości, które były ogłaszane w prasie częściej, niż wynosi przeciętna liczba ogłoszeń dotyczących jednej nieruchomości. 17. Podaj informacje o wynajęciach nieruchomości zarejestrowanych w danym biurze, których termin końcowy upłynie w następnym miesiącu. 18. Podaj całkowitą liczbę umów najmu zawartych w biurach w Łomży na okres krótszy niż jeden rok. 19. Podaj najwyższą dzienną stawkę za wynajęcie nieruchomości w każdym z biur. Wynik uporządkuj według numerów biur. 22
Przykładowe wyszukiwanie danych użytkownika „Personel”: 1. Podaj wszystkich podwładnych danego kierownika z danego biura; 2. Podaj szczegółowe informacje o wszystkich asystentach, uporządkowane według nazwiska i biura. 3. Podaj szczegółowe informacje o nieruchomościach (obejmujące także kaucje za wynajęcie), które można uzyskać w biurze, wraz z informacjami o właścicielu. 4. Podaj szczegółowe informacje o nieruchomościach nadzorowanych przez wskazanego pracownika z danego biura. 23
Użytkownik „Personel” 2 (pracownicy): 5. Podaj dane klientów zarejestrowanych w danym biurze oraz dla każdego klienta dane pracownika, który go zarejestrował. 6. Podaj dane nieruchomości znajdujących się w Łomży, dla których miesięczny czynsz nie przekracza 450 złotych. 7. Podaj nazwisko i numer telefonu właściciela wskazanej nieruchomości. 8. Podaj uwagi zgłaszane przez klientów odwiedzających daną nieruchomość. 9. Podaj nazwiska i numery telefonów klientów, którzy oglądali nieruchomość, ale nie zgłosili żadnych uwag. 24
Użytkownik „Personel” 3 (pracownicy): 10. Podaj szczegółowe informacje dotyczące wynajęcia określonej nieruchomości przez określonego klienta. 11. Podaj informacje o wynajęciach nieruchomości, których termin końcowy upłynie w następnym miesiącu. 12. Podaj informacje o nieruchomościach, których nie udało się wynająć przez ponad trzy miesiące. 13. Podaj listę klientów, których wymagania odpowiadają określonej nieruchomości. 25
Krotność związków złożonych: Poprawność 26
- Slides: 26