Dekompozycja BCNF

0

Witam

Mam problem z następująca tabela:

Sprzedaż( nr_faktury_dostawy, id_dostawcy, nazwa_dostawcy, data_dostawy,
id_dostawy, nazwa_towaru, ilość_towaru_dostarczonego,
id_faktury_sprzedaży, data_sprzedaży, id_klienta, nazwa_klienta,
ilość_towaru_sprzedanego)

Należy na tej tabeli przeprowadzić dekompozycje BCNF i tu pojawia sie problem. Konsultowałem to z kilkoma osobami i w odpowiedziach pojawia się od 3 do 5 tabel (po dekompozycji). Mógłby ktoś podpowiedzieć jak ta tabela powinna wyglądać po dekompozycji ?:)

0

Na szybko:

  • tabela klienci (id, nazwa)
  • tabela dostawcy (id, nazwa)
  • tabela dostawy (nr faktury, data, id dostawcy jako klucz obcy) - id_dostawy jest chyba zbędne, bo nr faktury załatwia sprawę. Dodatkowo jeśli na jednej fakturze moze być kilka towarów to:
    -tabela szczegóły dostawy (nr faktury (FK) + nazwa towaru jako klucz główny, ilość, no i chyba cena jednostkowa)
  • tabela sprzedaż (nr faktury, data, id klienta jako klucz obcy) jw. jeśli na jedną fakturę sprzedajemy więcej produktów na raz to:
    • szczegóły sprzedaży (nr faktury (FK) + nazwa towaru jako klucz główny, ilość, cena jednostkowa)

Na moje oko tak to powinno mniej więcej wyglądać.

0

kontrahenci
*id_kontrahenta
typ_kontrahenta (dostawca czy odbiorca)
nazwa_kontrahenta

(nieobowiązkowa w tym wypadku, ale zazwyczaj oprócz samej nazwy towaru są jeszcze inne parametry towaru i wtedy wydzielenie osobnej tabeli jest wysoce wskazane)
towary
*nazwa_towaru

operacje
*id_operacji (id_dostawy, id_faktury_sprzedaży)
#nazwa_towaru
#id_kontrahenta (id_dostawcy, id_klienta)
typ_operacji (dodatkowe pole do rozróżnienia czy zakup czy sprzedaż)
data_operacji (data_dostawy, data_sprzedaży)
ilość_towaru (ilość_towaru_dostarczonego, ilość_towaru_sprzedanego)

tak to powinno być, jak się ktoś uprze to może zamiast kontrahenci zrobić dwie tabele - dostawcy i odbiorcy i zamiast tabeli operacje osobno zakupy i sprzedaż. Nie wiem jak do tego podejdzie Twój profesor, ale generalnie w działających aplikacjach unika się rozdziału na dostawców i odbiorców i zakupy i sprzedaż bo to generalnie są takie same dane

0

dzieki wielkie za pomoc

1 użytkowników online, w tym zalogowanych: 0, gości: 1