[lame] podstawy

0

Witam.
Postanowiłem się nauczyć obsługi baz danych, i mam kilka bardzo podstawowych pytań, o bazach mam na razie blade pojęcie.
Jest kilka rzeczy których nie rozumiem, zademonstruje na przykładzie.
Załóżmy, że chcę zrobić bazę do przetrzymywania protokołów likwidacji towaru z magazynu.

Formularz mógłby wyglądać powiedzmy tak:

user image

Teraz wyobrażam sobie tabelę:

[code]
TABLE PROTOKÓŁ_LIKWIDACJI
(
id(int)
nr_towaru(int)
nr_wsadowy(int)
nazwa(string)
ilość(int)
jednostka(string)
data_prod(datetime)
powód(string)
komisja(string)
powiadomić(?string?lista?)
komentarze(string)
)
[/code]

Kilka rzeczy mnie już przerosło:
Gdyby był tylko jeden towar na portokół to wszystko było by dość proste, a zapisany protokół wyglądał by mniej więcej tak:

user image

Ale na jednym arkuszu może być kilka towarów ale reszta (powód, magazyn itd) wspólna - jak to ma być zorganizowane w bazie?
Do tego później pewnie fajnie by było wyszukać czy dany towar został zlikfidowany na podstawie numer towaru, i/lub numeru wsadowego i jeżeli był to dostać cały protokół.

Do tego załóżmy, że jednostka miary miała by być predefiniowana, żeby ktoś jako jednostki miary nie wpisał "rower", tylko powiedzmy kg, l, m2 itd. czy trzeba utworzyć dodatkową tabelę z jednostkami i do tego jakieś powiązanie?

No i załóżmy, że mam utworzyć statystykę o ilu raportach został powiadomiony Kierownik Nowak, jak trzeba przechowywać listę powiadamianych osób skoro nie wiadomo ile ma ich być.

Moja proźba - mógł by mi ktoś powiedzieć jak mogła by wyglądać baza do przechowywania takich "protokołów likwidacji"? jakie tabele, jakie powiązania i do tego jakiś komentarz zrozumiały dla nowicjusza.

Moje pytanie jest czysto teoretyczne, problem jest wymyślony, to nie jest żadna praca domowa ani żadne zadanie, cel czysto edukacyjny.

Nie ma to chyba znaczenia ale dla formalności podam, że baza jaką posiadam to MS Sql 2005
To samo pytanie pewnie zamieszczę na kilku forach - także jak ktoś zauważy to nie musi wstawiać takich odkrywczych komentarzy :)
Wiem, że schematy są kiepskie ale chyba wiadomo o co chodzi

TIA
Pozdrawiam

0

OSOBY

  • osoba_id
    imie
    nazwisko

MAGAZYNY

  • magazyn_id
    nazwa
    miasto
    ulica

POWODY_LIKWIDACJI

  • powod_id
    nazwa

JEDNOSTKI_MIARY

  • jednostka_id
    opis

TOWARY

  • towar_id
    numer_wsadowy
    nazwa

jednostka_id

PROTOKOL_NAGLOWEK

  • protokol_id
  1. powod_id
  2. osoba_id (komisja)
  3. magazyn_id
    komentarz

PROTOKOL_POZYCJE

  • protokol_id
  • nr_pozycji
  1. towar
    ilosc
    data produkcji

POWIADOMIENIA

  1. protokol_id
  2. osoba_id
    • klucz główny
    • klucz obcy

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