• Nie Znaleziono Wyników

Podczas używania bazy danych mogą pojawić się tzw. anomalie – sytuacje, w których może dojść do utracenia danych.

N/A
N/A
Protected

Academic year: 2021

Share "Podczas używania bazy danych mogą pojawić się tzw. anomalie – sytuacje, w których może dojść do utracenia danych. "

Copied!
20
0
0

Pełen tekst

(1)

Autor: Joanna Karwowska

(2)

Podczas używania bazy danych mogą pojawić się tzw. anomalie – sytuacje, w których może dojść do utracenia danych.

Anomalie, mogące wystąpić w niedostatecznie znormalizowanych tabelach, dzielimy na trzy rodzaje:

◦ anomalie wstawiania ,

◦ anomalie usuwania ,

◦ anomalie modyfikacji .

(3)

Nazwa

specjalizacji Numer

lekarza Nazwisko

lekarza Imię

lekarza Tytuł

lekarza Nr

pacjenta Nazwisko

pacjenta Imię

pacjenta Wiek

pacjenta Ubezpie- czenie

internista 222 Lubicz Jan Lek.

med. 158 Zawada Janusz 50 NFZ internista 222 Lubicz Jan Lek.

med. 159 Ziober Jakub 41 Brak gastrolog 555 Nowak Anna Dr 260 Kowal Jan 59 NFZ nefrolog 444 Burski Jakub Dr 499 Bąk Miron 25 Brak pediatra 777 Jarosz Piotr Lek.med. 248 Kmieć Anna 12 NFZ neurolog 333 Sum Jerzy Prof. 239 Nowak Anna 31 NFZ neurolog 666 Sum Jerzy Prof. 159 Ziober Jakub 42 Brak 1. Usunięcie pacjenta Mirona Bąka, nr 499, spowoduje utratę informacji o lekarzu

Jakubie Burskim (anomalia usuwania danych).

2. Zmiana lekarza na stanowisku internisty spowoduje konieczność zmiany imienia i nazwiska we wszystkich wierszach, w których jego dane się powtarzają (anomalia modyfikacji danych).

3. Podczas zapisywania do szpitala nowego pacjenta musielibyśmy wielokrotnie powtarzać jego dane przy wszystkich lekarzach do których byłby zapisany (anomalia wstawiania).

(4)

Normalizacja bazy danych jest to proces

polegający na usuwaniu z niej błędów i nieprawidłowości dotyczących struktury

tabel.

Normalizacja bazy danych w praktyce polega na sprawdzeniu zgodności jej wykonania z

pierwszą, druga i trzecią postacią normalną.

Baza danych do prawidłowego (efektywnego) działania musi spełniać założenia

normalności.

(5)

Pierwsza postać normalna wymaga, aby:

w każdym polu były wartości niepodzielne (atomowe),

nie było redundancji (nadmiarowości –

występowania powtarzających się danych).

 podział wartości złożonych na proste,

wyeliminowanie redundancji.

(6)

Druga postać normalna wymaga, aby:

spełniona była pierwsza postać normalna,

wszystkie pola niekluczowe są w pełni zależne od całego klucza głównego – nie mogą być zależne od jego składowych.

Zgodność z drugą postacią normalną sprawdzamy, gdy klucz jest złożony z kilku pól.

przeniesienie do nowych tabel grup danych

zależnych od składowych klucza lub niezależnych

od klucza

(7)

Trzecia postać normalna wymaga, aby:

spełniona była druga postać normalna,

wszystkie pola niekluczowe są zależne

jedynie od klucza głównego tabeli – brak jest jakichkolwiek zależności pomiędzy polami niekluczowymi.

przeniesienie do nowych tabel grup danych

zależnych od pól niekluczowych

(8)

Model danych w trzeciej postaci normalnej jest wygodnym punktem wyjścia do

projektowania fizycznej struktury danych.

(9)
(10)

W przykładzie na rysunku tabela PRACOWNICY zawiera powtarzające się grupy wartości atrybutów. Rozwiązaniem jest dekompozycja (nie

powodująca utraty danych) na dwie tabele PRACOWNICY i PRZYPISANIA.

Dekompozycja ta powinna usunąć powtarzające się dane.

(11)

Na rysunku kluczem głównym w tabeli

PRZYPISANIA jest kombinacja kolumn NR i NRP.

(12)

Kolumna PROJEKT jest funkcjonalnie zależna tylko od NRP to znaczy, tylko od części klucza głównego.

Rozwiązaniem jest dekompozycja, polegająca na:

• usunięciu atrybutu funkcjonalnie związanego (PROJEKT) do osobnej tabeli (tabela PROJEKTY),

• zabranie wraz z nim jego wyznacznika (NRP).

(13)
(14)

W tabeli PRACOWNICY NR_W jest funkcjonalnie zależny od NAZWA_W, który nie jest kluczem głównym. Z atrybutów tych tworzy się nową tabelę WYDZIAŁY. Atrybut NAZWA_W zostaje usunięty z tabeli PRACOWNICY, natomiast NR_W pozostaje w niej jako klucz obcy.

(15)

Tabele PRZYPISANIA i PROJEKTY bez zmian w trzeciej postaci normalnej.

(16)

ID Nazwisko Imię Adres

1 Kowalski Patryk 80-165, Gdańsk, ul. Reja 13 m.1

2 Nowak Anna 83-300, Pruszcz Gdański, ul. Kochanowskiego1 3 Burski Jakub 00-710, Warszawa, ul. Woronicza 7

Dlaczego?

(17)

Klient Zamówienie Zakupiony towar

Jan 1 bluza, pasek, spodnie

Wojciech 2 skarpetki, buty, koszula

Grzegorz 3 rękawice, spodnie

Dlaczego?

(18)

Id_lekarza

(klucz_główny) Id_specjalizacji

(klucz_główny) Nazwa_specjalizacji Nazwisko_lekarza

1 1 internista Nowak

2 1 internista Lubicz

3 2 kardiolog Burski

4 3 neurolog Kowalska

Dlaczego?

(19)

Id_lekarza

(klucz_główny) Nazwisko Gabinet Numer telefonu do gabinetu 1 Nowak stomatologiczny 111 111 111

2 Lubicz ortopedyczny 222 222 222

3 Burski kardiologiczny 333 333 333 4 Kowalska stomatologiczny 111 111 111

Dlaczego?

(20)

Id Nazwa towaru Cena Ilość sztuk Wartość

1 mysz 20 zł 15 300 zł

2 klawiatura 100 zł 15 1500 zł

3 monitor 1000 zł 15 15 000 zł

Dlaczego?

Cytaty

Powiązane dokumenty

Problemy pojawić się mogą natomiast wtedy, kiedy słowo „nie” jest traktowane, jako przedrostek do rzeczownika, a nie zaprzeczenie czasownika, wtedy takie słowa (wyjątki)

Możliwe jest aby po lewej stronie znaku równości (nierówności, nieostrej równości) była umieszczona para (trójka, itd.) wartości (kolumn). Musi jej odpowiadać liczba kolumn lub

SPŁYW - szybkie przemieszczanie się masy gruntowej bez wytworzenia wyraźnej powierzchni poślizgu przy współudziale wody np.. spływy

Podać przykład funkcji dwukrotnie różniczko- walnej dla której warunek konieczny istnienia punktu przegięcia nie jest warunkiem wystarczającym (prezentacja 5, slajd 24-28,

Te różnice /drobne/ są potęgowane tym, że kobieta w czasie miesiączki ma w ogóle mniejszą ilość krwi do dyspozycji, jest przyćmiona prze kilka dni - w wyścigach szczurów -

Jedną z nich (chyba najprostszą) jest użycie biblioteki SQLite która od wersji Python 2.5 jest już standardowo dostępna w ramach pytona.. Pomocna na zajęciach może być stron

Za pomocą kwerend można pobierać i tworzyć zestawienia danych które Cię aktualnie interesują.. Sortowanie polega na uporządkowanym układaniu

Do opisu/tworzenia strony często stosuje się język HTML (z ang. Hypertext Markup Language). Nazwa strona jest jednak nazwą umowną, ponieważ jest zbudowana z wielu stron, które