poniedziałek, 13 lutego 2012

1. Co to są postacie normalne (1NF, 2NF,3NF i BCNF)? Do czego służy normalizacja baz danych, czemu ma zapobiegać, czy zawsze się ją stosuje?

 NORMALIZACJA (struktury baz danych)- technika projektowania struktury bazy danych w oparciu o tabele i pola, która pozwala uniknąć problemów związanych z niepotrzebnym powielaniem danych i niemożliwością jednoznacznego identyfikowania rekordów, co ma ogromny wpływ na ograniczenie przestrzeni pamięciowej ale  poprzez mnożenie liczby tabel wydłuża czas dostępu do danych.

Tab. Źródło: http://andrzejklusiewicz.blogspot.com/2010/11/kurs-oracle-sql-podstawowe-definicje.html

PIERWSZA POSTAĆ NORMALNA (1NF) - reguły, które regulują proces tworzenia dobrze zorganizowanej struktury bazy danych.
- organizowanie informacji w kolumny
- określenie typu danych dla każdej z kolumn (np. char, varchar, real, decimal, date)
- umieszczenie powiązanych kolumn w odpowiednich tabelach
- wyeliminowanie problemu powielania grup danych
- wskazanie kluczy głównych poszczególnych tabel

DRUGA POSTAĆ NORMALNA (2NF)
pierwsza postać normalna zakłada, że każda tabela ma swój klucz główny (unikalny identyfikator rekordu). Druga, że nie mogą istnieć żadne (nawet częściowe) zależności pomiędzy jakimikolwiek kolumnami wchodzącymi w skład klucza głównego.
Założenia:
- spełnione są wszystkie wymagania pierwszej postaci normalnej
- należy usunąć wszystkie podzbiory danych, które mają zastosowanie do wielu wierszy w tabeli i  umieścić je w oddzielnych tabelach.
- należy utworzyć relacje pomiędzy tymi tabelami i połączyć je za pomocą kluczy obcych

Przykład:
Zamiast tabeli z powielonym ID aktorów
                                                                                                                                             
powinny być następujące tabele:
 















TRZECIA POSTAĆ NORMALNA (3NF)
występuje tylko wtedy, gdy spełnia następujące warunki:
- znajduje się w drugiej postaci normalnej
- wszystkie pola, które nie należą do klucza głównego, są od tego klucza zależne 

POSTAĆ NORMALNA BOYCE- CODDA (najmocniejsza)






PYTANIA I ODPOWIEDZI.ĆWICZENIA

1. ENCJI odpowiada w relacyjnej bazie danych: TABELA
2. ZWIĄZKOWI JEDNOZNACZNEMU odpowiada w relacyjnej bazie danych:KLUCZ OBCY
3. ZWIĄZKOWI WIELOZNACZNEMU odpowiada w relacyjnej bazie danych:TABELA
4. ATRYBUTOWI w relacyjnej bazie danych odpowiada: KOLUMNA W TABELI
5. JEDNOZNACZNEMU IDENTYFIKATOROWI odpowiada w relacyjnej bazie danych:
KLUCZ GŁÓWNY
5. SPÓJNOŚĆ REFERENCYJNA dotyczy faktu: wartością klucza obcego może być null lub wartość odpowiadającego mu klucza głównego
6. III POSTAĆ NORMALNA dotyczy faktu: wartości w kolumnie niekluczowej nie mogą zależeć ani od części klucza ani nawet przechodnio od klucza
7. Które ze sformułowań są prawdziwe w modelu relacyjnym - wszystkie poniższe:
- wiersze nie powtarzają się
- kolejność kolumn jest nieistotna
- wiersze nie mają tożsamości obiektowej
- związek jednoznaczny reprezentuje się przy pomocy klucza obcego
- tabela jest konkretną reprezentacją relacji  
- dla klucza jednoznacznego jest automatycznie zakładany indeks
- dla klucza głównego jest automatycznie zakładany indeks jednoznaczny
- wartości klucza głównego nie mogą się powtarzać
- klucz główny nie może być częścią właściwą klucza obcego
- może być wiele kluczy obcych
- może być wiele kluczy jednoznacznych
- może być wiele indeksów

8. ZALEŻNOŚĆ ZŁĄCZENIOWA jest uogólnieniem zależności wielowartościowej w następującym sensie:dotyczy rozbicia tabeli na więcej niż dwie tabele,
9. POSTAĆ NORMALNA BOYCE- CODDA dotyczy faktu:
każda nietrywialna zależność funkcyjna jest zależnością od nadklucza,
10. Które z poniższych stwierdzeń są prawdziwe - wszystkie poniższe:
- w tabeli nie powinno być żadnych niekontrolowanych redundancji,
- jedyną poprawną, nietrywialną zależnością funkcyjną jest zależność do klucza,
- należy skonsultować z użytkownikiem poprawność skonstruowanego modelu danych,
- każdy fakt przechowywany w bazie danych powinien być w niej wyrażany tylko na jeden sposób,

11. Na jakich poziomach projektuje się relacyjną bazę danych:
- logicznym,
- użytkowym,
- fizycznym.
12. Kto jest twórcą relacyjnego modelu baz danych: Edgar Codd
13. W której firmie zaimplementowano po raz pierwszy system zarządzania relacyjną bazą danych:
      - IBM
14. Gdy schemat tabel nie jest w trzeciej postaci normalnej mamy do czynienia z:
- anomaliami przy wstawianiu,
- anomaliami przy usuwaniu,
- redundancją,
- anomaliami przy modyfikacji.
 15. ZALEŻNOŚĆ FUNKCYJNA dotyczy zależności między: atrybutami
Eliminacja zależności częściowych i przechodnich prowadzi do:
zwiększenia liczby tabel,
III postaci normalnej,
 Przy przejściu do tabeli obiektowej wiersz tabeli:
staje się obiektem pewnej klasy,
uzyskuje tożsamość obiektową,
może mieć związane ze sobą metody,
Jakiego typu może być wartość atrybutu w modelu obiektowo-relacyjnym:
zbiorem wartości,
listą wartości,
wartością atomową.
referencją do obiektu,
Dany jest schemat relacyjny R={Student,Uczelnia,Adres,Akademik}, F {Student, Uczelnia->Klub; Klub->Adres}. W której postaci normalnej jest ten schemat:
I i II postać normalna

Dany jest schemat relacyjny R={Student,Uczelnia,Adres,Klub}, F {Student->Uczelnia; Klub->Adres Uczelnia->Adres}. W której postaci normalnej jest ten schemat:
I postać normalna

Dany jest schemat relacyjny R={Student,Uczelnia,Adres,Klub}, F {Student->Uczelnia; Klub->Adres}. W której postaci normalnej jest ten schemat:
I postać normalna
Dany jest schemat relacyjny R={Student,Adres,Akademik}, F {Student->Adres; Akademik->Adres; Student->Akademik}. W której postaci normalnej jest ten schemat:
Dany jest schemat relacyjny R={Student,Adres,Akademik}, F {Student->Adres; Akademik->Adres; Student->Akademik}. W której postaci normalnej jest ten schemat:
I i II postać normalna
Dany jest schemat relacyjny R={Ulica, Kod, Sklep}, F = {Ulica->Kod; Ulica, Numer ->Sklep}. W której postaci normalnej jest ten schemat::
I postać normalna
52. Dany jest schemat relacyjny R={Ulica, Kod, Sklep}, F = {Ulica->Kod; Sklep->Ulica}. W której postaci normalnej jest ten schemat
I i II postać normalna
 Dany jest schemat relacyjny R={Miasto, Ulica, Kod}, F = {Miasto,Ulica->Kod}. W której postaci normalnej jest ten schemat::
III postać normalna
II postać normalna
I postać normalna
postać normalna Boyce’a-Codda

Dany jest schemat relacyjny R={Miasto, Ulica, Kod, Poczta}, F {Miasto,Ulica->Kod; Kod->Poczta}. W której postaci normalnej jest ten schemat:
I i II postać normalna
 Dany jest schemat relacyjny R={Miasto, Ulica, Kod, Poczta}, F {Miasto,Ulica->Kod; Kod->Miasto; Kod->Poczta}. W której postaci normalnej jest ten schemat::I postać normalna 
Dany jest schemat relacyjny R={Miasto, Ulica, Kod}, F {Miasto,Ulica->Kod; Kod->Miasto}. W której postaci normalnej jest ten schemat:
III postać normalna
II postać normalna
I postać normalna  
Specyfikacje języka ODL obejmują:
dziedziczenie,związki odwrotne 

Dany jest schemat relacyjny R={Miasto, Ulica, Kod}, F = {Miasto,Ulica->Kod; Kod->Miasto}. Schemat ten:
jest w III postaci normalnej,
jest w III postaci normalnej ale nie jest w postaci normalnej Boyce’a-Codda,
Dany jest schemat relacyjny R={Miasto, Ulica, Kod, Poczta}, F {Miasto,Ulica->Kod; Kod->Miasto; Kod->Poczta}. Schemat ten:
nie jest ani w III postaci normalnej ani w postaci normalnej Boyce’a-Codda. 
Dany jest schemat relacyjny R={Miasto, Ulica, Kod, Poczta}, F = {Miasto,Ulica->Kod; Kod->Poczta}. Schemat ten: 
nie jest ani w III postaci normalnej ani w postaci normalnej Boyce’a-Codda.

Dany jest schemat relacyjny R={Miasto, Ulica, Kod}, F = {Miasto,Ulica->Kod}. Schemat ten:
 jest w postaci normalnej Boyce’a-Codda,jest w III postaci normalnej, 

Dany jest schemat relacyjny R={Ulica, Kod, Sklep}, F = {Ulica->Kod; Sklep->Ulica}. Schemat ten:
 nie jest ani w III postaci normalnej ani w postaci normalnej Boyce’a-Codda.
Dany jest schemat relacyjny R={Ulica, Kod, Sklep, Numer}, F = {Ulica->Kod; Ulica, Numer ->Sklep}. Schemat ten:
nie jest ani w III postaci normalnej ani w postaci normalnej Boyce’a-Codda. 

Dany jest schemat relacyjny R={Student,Adres,Akademik}, F {Student->Adres; Akademik->Adres; Student->Akademik}. Schemat ten:

 nie jest ani w III postaci normalnej ani w postaci normalnej Boyce’a-Codda. 


 Dany jest schemat relacyjny R={Student,Uczelnia,Adres,Klub}, F = {Student->Uczelnia; Klub->Adres}. Schemat ten:Dany jest schemat relacyjny R={Student,Uczelnia,Adres,Klub}, F {Student->Uczelnia; Klub->Adres; Uczelnia->Adres}. Schemat ten:Dany jest schemat relacyjny R={Student,Uczelnia,Adres,Klub}, F = {Student, Uczelnia->Klub; Klub->Adres}. Schemat ten:

Brak komentarzy:

Prześlij komentarz