Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

Podobne dokumenty
Projektowanie baz danych

Drużyny piłkarskie. Rozwiązanie

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Relacyjny model baz danych, model związków encji, normalizacje

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Projektowanie baz danych

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

WYKŁAD 1. Wprowadzenie do problematyki baz danych

1 Projektowanie systemu informatycznego

Autor: Joanna Karwowska

Modelowanie danych, projektowanie systemu informatycznego

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Projektowanie Systemów Informacyjnych

Projektowanie baz danych

Systemy baz danych. mgr inż. Sylwia Glińska

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Transformacja modelu ER do modelu relacyjnego

Związki pomiędzy tabelami

Spis treúci. 1. Wprowadzenie... 13

Politechnika Częstochowska. Projekt aplikacji PZPN

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Bazy danych i usługi sieciowe

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Bazy danych. Wykład 4: Model SERM. dr inż. Magdalena Krakowiak

Projektowanie bazy danych

Technologie baz danych

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Rysunek 1: Przykłady graficznej prezentacji klas.

1. Mapowanie diagramu klas na model relacyjny.

Język UML w modelowaniu systemów informatycznych

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Diagramy klas. dr Jarosław Skaruz

Podstawy modelowania w języku UML

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Program nauczania. Systemy baz danych. technik informatyk

Technologia informacyjna

Wybrane problemy z dziedziny modelowania i wdrażania baz danych przestrzennych w aspekcie dydaktyki. Artur Krawczyk AGH Akademia Górniczo Hutnicza

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Spis treúci. Księgarnia PWN: Robert A. Maksimchuk, Eric J. Naiburg - UML dla zwykłych śmiertelników. Wstęp Podziękowania...

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

PROJEKT SYSTEMU ZARZĄDZANIA KLUBAMI PIŁKARSKIMI. D. K. Informatyka II stopnia sem. 3 Analiza Projektowanie i Programowanie Obiektowe

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

TEMAT1 DZIENNIK OCEN STUDENTÓW

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Podstawy programowania III WYKŁAD 4

Baza danych. Baza danych to:

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Projektowanie BAZY DANYCH

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Politechnika Koszalińska WEiI Katedra Inżynierii Komputerowej (KIK) Tematy projektów aplikacji bazodanowych z przedmiotu SZRBD

Technologia Informacyjna

Diagramy klas. WYKŁAD Piotr Ciskowski

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

MAS dr. Inż. Mariusz Trzaska

Bazy Danych egzamin 9 luty, 2012 rozwiazania

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji.

Inżynieria oprogramowania. Część 5: UML Diagramy klas

Projektowanie baz danych

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Bazy danych Wykład zerowy. P. F. Góra

Literatura. Bazy danych s.1-1

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

Wykład 2. Relacyjny model danych

WPROWADZENIE DO BAZ DANYCH

Podstawy projektowania systemów komputerowych

Modelowanie danych Model związków-encji

Baza danych. Modele danych

TECHNOLOGIE OBIEKTOWE. Wykład 3

Przykłady normalizacji

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

UML cz. II. UML cz. II 1/38

Normalizacja relacyjnych baz danych. Sebastian Ernst

UML w Visual Studio. Michał Ciećwierz

Bazy danych wykład trzeci. trzeci Przekształcenie modelu ER na model relacyjny 1 / 19

Hurtownie danych a transakcyjne bazy danych

MSI dr. Inż. Mariusz Trzaska. obiektowych językach programowania

ANEKS DO REGULAMINU ROZGRYWEK MŁODZIEŻOWYCH W SEZONIE 2019/20. JUNIOR A1 (ur.2001 i młodsi) 9 drużyn 1 grupa

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Modelowanie danych Model związków-encji

Jarosław Żeliński analityk biznesowy, projektant systemów

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Systemy informatyczne. Modelowanie danych systemów informatycznych

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Transkrypt:

Bazy Danych i Systemy informacyjne Wykład 7 Piotr Syga 27.11.2017

Wstęp Projektowanie baz bazodanowy komponent aplikacji projektujemy w sposób analogiczny do całej aplikacji ustalamy główne wymagania klienta, a przede wszystkim najczęstsze zastosowanie bazy danych OLTP vs. OLAP pomaga podjąć decyzję dot. normalizacji nadanie priorytetów komponentom i funkcjonalnościom, identyfikujemy encje, relacje między nimi, uwzględniamy ograniczenia projektu

Koncepcja Koncepcyjny model danych Etap mapowania pojęć dziedzinowych na komponenty (encje) baz danych. Rozpoznanie wymagań biznesowych. Lokalizowanie głównego komponentu i rozbudowywanie zależnie od powiązań. modelowanie abstrakcyjnych pojęć brak wchodzenia w strukturę baz danych, model musi być zrozumiały dla eksperta dziedzinowego i projektanta bazy danych określenie komponentów, które będą podlegać uszczegółowieniu

Modelowanie logiczne Etap modelu logicznego utechniczniamy model koncepcyjny podstawa pod implementację eliminacja redundantnych encji, ponowne wykorzystanie encji i określenie relacje między encjami Diagram struktur danych Identyfikujemy podstawowe encje, własności (atrybuty) encji oraz powiązania między encjami. Informacje te można przedstawić w postaci graficznej: diagram Chena IDEF1X diagram Bachmana diagram Martina UML

Modelowanie fizyczne Fizyczny model danych określamy wchodzące w skład bazy danych: tabele, ich kolumny, typy danych, klucze (w tym klucze obce), ograniczenia na wartości kolumn, kontrolę spójności za pomocą triggerów, poziomy dostępu i procedury składowane normalizujemy bazę danych rozważając każdą tabelę z osobna uwzględniamy ograniczenia systemowe (np. dialekt, system operacyjny, API frontendu) oraz organizacyjne (np. liczba ról użytkowników, wymagania odnośnie logowania, nazewnictwo)

Modelowanie fizyczne Transformacja z modelu logicznego do fizycznego Zależnie od typu bazy danych (relacyjna, relacyjno-obiektowa, obiektowa) mogą pojawić się trudności: implementacja zależności jeden do wielu i wiele do wielu brak dziedziczenia ograniczony zbiór typów danych typy atomowe, dla wielu wartości jednego atrybutu potrzebne jest powielanie rekordu dobór klucza wymagania użytkownika, np. czas działania, wymagania pamięciowe (przydatna denormalizacja)

Modelowanie fizyczne Podsumowanie 1 Określamy cel bazy 2 Określamy podstawowe komponenty, identyfikujemy nośniki informacji 3 Organizujemy informacje w encje, określamy ich atrybuty i powiązania między encjami 4 Transformujemy encje w tabele, określamy klucze 5 Uwzględniamy ograniczenia systemowe, normalizujemy

Diagramy Chena Podstawowe elementy Historia Notacja usystematyzowana przez P. Chena w 1976 r. Pozwala określić encje (transformowane do tabel), ich atrybuty (kolumny) i związki między nimi (klucze obce lub tabele). Podstawowa notacja będąca bazą dla kolejnych. Encja Atrybut Związek

Diagramy Chena Encje Wyszczególniony koncept podczas modelowania logicznego, cechuje się regularną strukturą własności i powiązań. Między encjami może zachodzić specjalny rodzaj powiązania uszczegółowienie isa

Diagramy Chena Atrybuty określają cechy encji określają cechy związków określają cechy złożonego atrybutu wyróżniamy podzbiór atrybutów identyfikujący encję (klucz)

Diagramy Chena Związki Określają powiązania między encjami powiązanie jednoznaczne (1-1) powiązania funkcyjne: jeden do wielu (1-n) powiązania wieloznaczne: wiele do wielu (n-m) Uwaga: mogą występować samopowiązania (związki rekurencyjne) a także związki między więcej niż dwoma encjami

Diagramy Martina Podstawowe elementy rozszerzenie notacji Chena (np. dodanie aktywności) umożliwienie modelowania zdarzeń (diagram przepływów) rozszerzenie modelowania krotności (encje opcjonalne) Określenie krotności:

UML Diagram klas każda encja reprezentowana jest przez klasę różne poziomy szczegółowości (uwzględnienie atrybutów, funkcji,... ) możemy tworzyć drzewa klas (dziedziczenie) umożliwiając różne stopnie uszczegóławiania encji Nazwa_Klasy Atrybuty Funkcje, Procedury, Triggery

UML Asocjacje wskazują na powiązania klas etykieta asocjacji wskazuje krotności oraz kierunek asocjacji asocjacja może mieć oznaczone krotności (cf. notacja Martina) w przypadku autoasocjacji konieczne jest określenie ról wraz z krotnością na końcach asocjacji asocjacja może mieć własne atrybuty (klasy asocjacyjne, łączone przerywaną linią do asocjacji)

UML Agregacja i kompozycja związki silniejsze niż asocjacja (część całości) w przeciwieństwie do asocjacji, istnienie jednej encji może być warunkowane istnieniem innej atrybuty, krotności jak w asocjacji na diagramie oznaczane odpowiednio pustym i wypełnionym diamentem

UML Modelowanie asocjacji połączenie 1-1: poszerzamy tabelę lub stosujemy rozwiązanie dla innych połączeń połączenie 1 do wielu: implementujemy tabelę dla każdej encji i używamy kluczy obcych lub stosujemy rozwiązanie dla wiele do wielu połączenie wiele do wielu (lub inne z atrybutami asocjacji): tworzymy osobną tabelę połączenia, zawierającą klucze obce do tabel reprezentujących łączone encje

UML Uszczegóławianie i dziedziczenie W relacyjnych bazach danych typowe dla baz i języków obiektowych dziedziczenie trzeba obejść: Jedna tabela dla całego drzewa klas wraz z atrybutem uszczegóławiającym obowiązkowe komentarze Zsumowanie atrybutów klasy głównej i dziedziczącej, utworzenie osobnych tabel dla wszystkich klas pochodnych Rozdzielenie każdej z klas, modelowanie zależności dziedziczenia przez agregację/kompozycję z ustalonymi krotnościami

Przykład Przykład Opis: Zaprojektuj bazę danych dla ligi piłkarskiej.

Przykład Przykład Opis: Zaprojektuj bazę danych dla ligi piłkarskiej. Uwzględnij piłkarzy, drużyny oraz rozgrywane mecze.

Przykład Przykład Opis: Zaprojektuj bazę danych ułatwiającą zarządzanie ligą piłkarską. W lidze zawsze jest przynajmniej jedna drużyna, składająca się z wielu piłkarzy oraz przynajmniej jednego trenera. Drużyny identyfikowane są przez ich nazwę oraz siedzibę, natomiast osoby przez imię, nazwisko i datę urodzenia. Dodatkowo przechowywane są informacje o bramkach, asystach i kartkach dla każdego z zawodników. (Natomiast dla każdej z drużyn znamy... ) Każdy mecz odbywa się na konkretnym stadionie, w ramach ustalonych rozgrywek. Grają w nim drużyna gospodarzy oraz gości, uporządkowana para drużyn wraz z sezonem rozgrywek jednoznacznie identyfikuje dany mecz. Żadna drużyna nie może rozgrywać meczy dwa dni pod rząd. Dla każdego meczu przechowujemy jego wynik, strzelców bramek, informację o asystach, kartkach, prowadzącym mecz sędzi oraz dodatkowe statystyki jak procent posiadania piłki (suma posiadania piłki przez obie drużyny nie może przekraczać 100). Baza danych powinna automatycznie uaktualniać statystyki piłkarzy na podstawie dodanego meczu. Możliwe powinno być wygenerowanie aktualnej tabeli drużyn. Po rozegraniu wszystkich meczy (mecz i rewanż pomiędzy każdą parą zespołów) sezon powinien być automatycznie kończony.

Narzędzia Przykładowe narzędzia dla ER i UML Dia NetBeans UML Oracle J/SQL Developer Eclipse UML StarUML UMLet Papyrus UML Modeler Vertabelo TikZ przykład, pakiet TikZ-UML