optymalizacja aplikacji bazodanowych n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Optymalizacja aplikacji bazodanowych PowerPoint Presentation
Download Presentation
Optymalizacja aplikacji bazodanowych

Loading in 2 Seconds...

play fullscreen
1 / 17

Optymalizacja aplikacji bazodanowych - PowerPoint PPT Presentation


  • 112 Views
  • Uploaded on

Optymalizacja aplikacji bazodanowych. Część 2: Normalizacja a wydajność. Plan. Normalizacja – przypomnienie Denormalizacja Konsekwencje denormalizacji dla odczytu i modyfikacji danych Ćwiczenie. Gdzie jesteśmy?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Optymalizacja aplikacji bazodanowych' - onaona


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
optymalizacja aplikacji bazodanowych

Optymalizacja aplikacji bazodanowych

Część 2: Normalizacja a wydajność

slide2
Plan

Normalizacja – przypomnienie

Denormalizacja

Konsekwencje denormalizacji dla odczytu i modyfikacji danych

Ćwiczenie

gdzie jeste my
Gdzie jesteśmy?
  • Dążenie do optymalizacji powinno następować na każdym etapie tworzenia systemu informatycznego.
    • Analiza

-> konstrukcja procesów biznesowych

    • Projektowanie

-> model danych

-> moduły programowe

-> dobór technologii

    • Kodowanie

-> jakość kodu

    • Testy

-> kontrola efektywności

    • Wdrożenie

-> konfiguracja środowiska

normalizacja danych
Normalizacja danych
  • Celem normalizacji jest usunięcie niepożądanych cech struktury bazy danych.
  • Przykłady cech niepożądanych to:
    • redundancja (nadmiarowość) danych – wpływa na wielkość zbiorów danych,
    • anomalia wstawiania – wstawienie nowego rekordu może wymagać znajomości danych, które na początku nie są wymagane,
    • anomalia modyfikacji – modyfikacja danych w jednym miejscu wymusza zmianę danych w wielu krotkach, co skutkuje ryzykiem utraty spójności,
    • anomalia usunięć – usunięcie jednych danych skutkuje zniknięciem innych danych.
  • W wyniku normalizacji zmienia się struktura bazy danych, natomiast dane nie są tracone.
  • Normalizacja jest dokonywana poprzez przekształcanie struktury bazy danych do kolejnych postaci normalnych (ang. Normal Form)
normalizacja danych1
Normalizacja danych
  • Postacie zdefiniowane przez E.F.Codda
    • Pierwsza postać normalna = 1 PN = 1 NF
    • Druga postać normalna = 2 PN = 2 NF
    • Trzecia postać normalna = 3 PN = 3 NF
  • Dodatkowe postacie, zdefiniowane w późniejszym okresie
    • Postać normalna Boyce’a - Codd’a = BCNF
    • Czwarta postać normalna
    • Piąta postać normalna
normalizacja danych4
Normalizacja danych

1PN

2PN

W relacja (1PN) jest jeden klucz kandydujący (Id osoby, Id adresu).

Imię i Nazwisko są funkcjonalnie zależnie od klucza kandydującego, ale nie są w pełni funkcjonalnie zależne od tego klucza, bo są również funkcjonalnie zależne od podzbioru atrybutów tego klucza – są zależne od (Id osoby).

Atrybuty Rodzaj adresu, Kod, Miejscowość, Ulica, Nr domy, Nr lokalu są w pełni funkcjonalnie zależne od klucza kandydującego (Id osoby, Id adresu).

denormalizacja
Denormalizacja
  • Wprowadzenie nadmiarowych danych do struktury bazy
  • Celem denormalizacji może być:
    • Zwiększenie wydajności systemu
    • Uproszczenie zapytań
    • Poprawienie przejrzystości struktury bazy danych
  • Najpierw normalizacja, potem denormalizacja
  • Denormalizować należy świadomie
  • Sposób denormalizacji wynika ze specyfiki danego systemu; nie podlega standaryzacji.
  • Czynniki wpływające na zasadność denormalizacji:
    • Częstość odczytu danych
    • Zmienność danych
    • Liczebność danych
denormalizacja cd
Denormalizacja cd
  • Najczęstsze sposoby denormalizacji
    • Powtórzenie kluczowych danych w kilku tabelach (nr klienta, nr faktury)
    • Złączenia kilku tabel w jedną
    • Przechowanie kluczy obcych do tabel pośrednio powiązanych
    • Przechowywanie wartości wyliczonych (wartość faktury, średnia ocen, licznik transakcji)
przyk ad 1
Przykład 1
  • Model danych znormalizowany
    • Klient (nr klienta, nazwa, NIP)
    • Faktura (nr faktury, nr klienta, data)
    • Pozycja faktury (nr faktury, nr pozycji, id produktu, ilość, cena netto)
    • Produkt (id produktu, nazwa produktu, cena netto, stawka VAT)
  • Model danych zdenormalizowany
    • Klient (nr klienta, nazwa, NIP)
    • Faktura (nr faktury, nr klienta, NIP, data, wartość netto, wartość VAT, wartość brutto, liczba pozycji)
    • Pozycja faktury (nr faktury, nr pozycji, nr klienta, id produktu, nazwa produktu, ilość, cena netto, wartość netto, stawka VAT, kwota VAT, cena brutto, wartość brutto)
    • Produkt (id produktu, nazwa produktu, cena netto, stawka VAT, cena brutto)
przyk ad 2
Przykład 2
  • Model danych znormalizowany
    • Osoba (id osoby, imię, nazwisko)
    • Adres osoby (id adresu, id osoby, typ adresu)
    • Adres (id adresu, kod pocztowy, id miejscowości, ulica, nr ulicy, nr lokalu)
    • Kod pocztowy (kod pocztowy, poczta, województwo)
    • Miejscowość (id miejscowości, miejscowość)
  • Model danych zdenormalizowany
    • Osoba (id osoby, imię, nazwisko, liczba adresów)
    • Adres (id adresu, id osoby, typ adresu, kod pocztowy, poczta, województwo, miejscowość, ulica, nr ulicy, nr lokalu)
przyk ad 3 do wicze
Przykład 3 (do ćwiczeń)

Model danych znormalizowany

Stanowisko (Id stanowiska, nazwa, dodatek)

Pracownik (Id pracownika, imię, nazwisko, płeć, pensja, id stanowiska, id szefa)

Kara (Id kary, z tytułu, id pracownika, kwota)

Nagroda (Id nagrody, z tytułu, id pracownika, kwota)

Model danych zdenormalizowany

Stanowisko (Id stanowiska, nazwa, dodatek)

Pracownik (Id pracownika, imię, nazwisko, płeć, pensja, id stanowiska, id szefa, liczba nagród, suma nagród, liczba kar, suma kar)

Jednorazowa zmian wypłaty (Id zmiany, z tytułu, id pracownika, kwota, typ, id stanowiska)

co o tym m wi sie do poczytania w wolnej chwili
Co o tym mówi Sieć(do poczytania w wolnej chwili)
  • http://www.devblogi.pl/2010/03/moze-normalizowanie-nie-jest-normalne.html

„normalizuj dopóki to nie boli, denormalizuj dopóki to działa”

  • http://msdn.microsoft.com/pl-pl/library/ms191178.aspx
  • http://webmaster.helion.pl/index.php/kursmysql-projektowanie-relacyjnych-baz-danych
  • http://www.zyxist.com/pokaz.php/kilka_sztuczek_ad_projektowania_baz_danych
wiczenie
Ćwiczenie

Zalogować się jako SYSTEM

Założyć użytkownika i przelogować się na niego (1-1_user.sql)

Założyć strukturę tabel (1-2_struktura.sql) i wypełnić danymi (1-3_dane.sql)

Założyć zdenormalizowaną strukturę tabel (2-1_struktura_denormalizacja.sql) i wypełnić danymi (2-2_dane_denormalizacja.sql)

Dla obu struktur tabel napisać polecenia SQL wykonujące:

Dodanie nowej kary

Zmianę kwoty nagrody o id W z kwoty X na Y dla pracownika Z

Raport zestawiający łączną kwotę wypłaty dla wskazanego pracownika

Raport w postaci: Stanowisko, liczba pracowników, suma kar, suma nagród.