2013-03-18 18 views
5

enter image description hereNormalizacja h/w

kazano położyć to pod UNF/1nF/2NF/3NF, jest to prawidłowe?

Pokaż powyższe dane jako relację w UNF (dane niezormowane).

klienta (identyfikator klienta, imię, nazwisko, adres, miasto, telefon, Stan, Kod, Ilość, ProductNo, opis, cena jednostkowa, Total, Razem, Dostawa, stawki podatkowej, data, OrderNo.))

Pokaż dane jako relacje w 1NF. (Wskazać żadnych kluczy.)

Klienta (identyfikator klienta, imię, nazwisko, adres, miasto, województwo, telefon, stan, kod pocztowy) produktu (ProductNo, ilosc, opis, CenaJednostkowa, suma, subtotalnej, przesyłki stawka podatku (s), CustomerID (FK).) Zamówienie (Order No, Date, ProductNo (FK).)

Pokaż dane jako relację w 2NF. (Wskazać żadnych kluczy.)

Klienta (identyfikator klienta, imię, nazwisko, adres, miasto, telefon, państwo, kod pocztowy) produktu (ProductNo, ilosc, opis, CenaJednostkowa, CustomerID (FK), Total (FK).) Order (OrderNo, Data, CustomerID (FK), ProductNo (FK)). ogółem (Total, subtotal, przesyłki podatkowe ceny, ProductNo (FK), CustomerID (FK))

Pokaż dane jako relacja/s w 3NF. (Wskazać żadnych kluczy.)

klienta (identyfikator klienta, imię, nazwisko, adres, miasto, telefon, państwo, kod pocztowy) produktu (ProductNo,, opis, cenę jednostkową. CustomerID (FK), Total (FK)) Zamówienie (Nr zamówienia, Data, ID klienta (FK) .ProduktNo (FK)) Łącznie (Łącznie, suma częściowa, Nr produktu (FK), ID klienta (FK)) Wysyłka (wysyłka, stawki podatkowe, ogółem (FK), zamówienieNo (FK)) szt (QtyID, ilosc, ProductNo (FK), OrderNo (FK)).

Odpowiedz

0

Pokaż powyższe dane jako relację w UNF (dane niezormowane).

klienta (identyfikator klienta, imię, nazwisko, adres, miasto, telefon, State , Kod, Ilość, ProductNo, opis, cena jednostkowa, Total, Razem, Dostawa, stawki podatkowej, data, OrderNo.))

Nie, to nie w porządku. Na fakturze nie ma numeru identyfikacyjnego klienta.Normalizacja nie wiąże się z wprowadzaniem nowych atrybutów. Jako nienormowany zbiór atrybutów oznaczanie tej listy jako "Klient" jest przedwczesne.

Pokaż dane jako relację/s w 1NF. (Wskazać żadnych kluczy.)

  • Klienta (identyfikator klienta, imię, nazwisko, adres, miasto, województwo, telefonu, stan, kod pocztowy)
  • produktu (ProductNo, ilosc, opis, CenaJednostkowa, suma, podsumę , przesyłki stawka podatkowa (s), CustomerID (FK)).
  • Order (OrderNo, Data ProductNo (FK).)

Kropla CustomerID. (Patrz wyżej.) Zgaduję, że jednym z kluczy kandydujących do tabeli "Produkt" jest "ProductNo". Jeśli tak jest, dlaczego ta tabela zawiera "ID klienta"?

Pokaż dane jako relację w 2NF. (Wskazać żadnych kluczy.)

  • Klienta (identyfikator klienta, imię, nazwisko, adres, miasto, telefon, państwo, kod pocztowy)
  • produktu (ProductNo, ilosc, opis, CenaJednostkowa, CustomerID (FK), Total (FK)).
  • Order (OrderNo, Data, CustomerID (FK), ProductNo (FK)).
  • ogółem (Total, subtotal, przesyłki podatkowe ceny, ProductNo (FK), CustomerID (FK))

2NF ma do czynienia z h usuwanie zależności częściowych kluczy. Jaką zależność klucza częściowego zidentyfikowałeś, uzasadniając utworzenie tabeli "Razem"? (Podpowiedź: nie ma żadnego uzasadnienia). Wykonaj ten eksperyment myślowy (lub zbuduj go w SQL): Jeśli "Łącznie" jest kluczem podstawowym dla tabeli "Razem", co zrobisz, jeśli dwa zlecenia spowodują ta sama suma?

Zatrzymam się na razie, ponieważ masz naprawdę spadł na niewłaściwą stopę. Musisz uruchomić z listą wszystkich atrybutów, a następnie zidentyfikować klucze kandydatów i zależności funkcjonalne. Bez tego początkowo mało prawdopodobne jest znalezienie 3NF.

+0

Niestety, zapomniałem dodać, że nasz nauczyciel powiedział nam, aby wstawić identyfikator klienta do informacji – Herk

+0

dopiero się uczę jak normalizować bazy danych (jeszcze nie zacząłem jeszcze używać SQL), więc Mam z nimi problemy, nie jestem pewien, co muszę zrobić z totalnie zaufanym – Herk

+0

. "Razem" to * nie * Twój problem. Klucze kandydatów i zależności funkcjonalne są twoim problemem. –

4

wygląda to dla mnie dobry, ale brakuje jednej kluczową kawałek projektu. Nie zdefiniowałeś żadnych kluczy podstawowych na swoich stołach, mimo że zidentyfikowałeś klucze obce (użyj kluczy obcych, aby opracować klucze główne na każdej z tabel :)).

+0

Ach, to był mój błąd, muszę im podkreślone słowo, po prostu nie kopiować tutaj – Herk

+0

@MatthewCorvi Następnie projekt jest w porządku :) – mattytommo

+0

http://imgur.com/N2hKMtQ, że jest poprawna wersja (Myślę, że) – Herk

0

Ciekawostka na temat faktur .... J Frompton zamawia dzisiaj prowizję, ale w przyszłości cena się zmieni. Nie zmienia to jednak ceny, którą zapłacił dzisiaj Frompton.

Po wypełnieniu faktur należy je przenieść do tabeli o wartości 1NF.

+0

Pytanie jest czysto teoretyczne i jest tylko częścią – Herk

Powiązane problemy