• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Projekt bazy danych

VPS Starter Arubacloud
0 głosów
3,044 wizyt
pytanie zadane 24 stycznia 2017 w SQL, bazy danych przez trus Nowicjusz (120 p.)

Witam

Stworzyłem prosty projekt bazy książki pocztowej, nadawczej. Prosiłbym o zweryfikowanie tego projektu, bo nie jestem pewien czy dobrze to zaprojektowałem. Chodzi mi głownie o to, że wysyłane pismo ma sygnaturę i adresatów, ale do 1 koperty może trafić więcej niż jedno pismo z różnymi sygnaturami ale tym samym adresatem.

Z góry dziękuję ze pomoc.

PS w tabeli tsygnatura nie ma pola idadresat.

1 odpowiedź

0 głosów
odpowiedź 24 stycznia 2017 przez Minutnik Użytkownik (580 p.)

Witam,

 Proponuję trochę inny projekt bazy danych z następujących względów:

1. Tabela Adresaci - spis adresatów. Każdy ma unikalny identyfikator. Do tego jakieś swoje dane: imię, nazwisko, adres

2. Tabela Koperta - spis kopert. Każda koperta ma swoje id oraz id adresata tzn że adresat na kopercie może wystąpić tylko jedena raz. Czerwona relacja 1-do-wielu mówi że w tabeli koperty jeden adresat może być wiele razy. Można by zrobić relację 1-do-1 to oznaczałoby że tylko 1 koperata dla danego adresata - ale to tylko teortycznie dobre bo w praktyce za jakiś czas znajdzie się na pewno druga koperata do tego samego adresata

3. Tabela pisma- ważne tu pole sygnaruta jest identyfikatorem bo sygnatura to jest coś unikalnego dla danego pisma więc może być kluczem

4. Tabela KopertyDoWysłania łączy w sobie koperty i pisma. Relacje niebieska i zielona są 1-do-wielu co oznacza że zarówno ta sama koperta może wystąpić więcej niż jeden raz (np z imm pismem) oraz że to samo pismo może być więcej niż jeden raz (np. w różnych kopertach).

relacje

Pozdrawiam

Przemek

komentarz 26 stycznia 2017 przez trus Nowicjusz (120 p.)
edycja 26 stycznia 2017 przez trus
W tabeli Koperta umieściłeś pole RodzajPrzesyłki, a nie jako dodatkowa tabela słownikowa ?

Tabele tuzytkownik (który wypisywał kopertę) z mojego projektu należało by powiązać z tabelą Kopera  czy KopertyDoWyslania ?

Pozdrawiam
komentarz 27 stycznia 2017 przez Minutnik Użytkownik (580 p.)
komentarz 22 godziny temu przez użytkownika trus Nowicjusz (120 punkty)
edycja 21 godziny temu przez użytkownika trus

W tabeli Koperta umieściłeś pole RodzajPrzesyłki, a nie jako dodatkowa tabela słownikowa ? - może być słownik - wtedy w tabeli Koperta tylko IDRodzajPrzesyłki

Tabele tuzytkownik (który wypisywał kopertę) z mojego projektu należało by powiązać z tabelą Kopera  czy KopertyDoWyslania ? - Myślę że z Kopertką, bo dla koperty będzie zawsze jedna osoba. Tabela KopertyDoWysłania zawiera tak naprawdę informacje o tym co jest w każdej kopercie czyli jakie pismo w jakiej kopercie
komentarz 27 stycznia 2017 przez trus Nowicjusz (120 p.)
Zapomniałem jeszcze dodać, że sygnatura będą czasami zapisywane ze znakami (inicjały), więc nie będzie to INT a VCHAR lub CHAR jako klucz główny. I wtedy w tabeli KopertyDoWyslania klucz obcy będzie też znakowy ? Czy może w tabeli Pisma zrobić ID INT jako klucz główny, a nie sygnatura. Co będzie lepsze ?

Pozdrawiam
komentarz 27 stycznia 2017 przez Minutnik Użytkownik (580 p.)
Lepsze jest ten drugi pomysł. Czyli w Pisma zrobić ID INT a pole sygnatura - jako poprostu dodatkowe pole w tej tabeli.

Podobne pytania

+1 głos
2 odpowiedzi 1,694 wizyt
0 głosów
1 odpowiedź 1,711 wizyt

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...